Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --'Rook Hammer Slam'
- CalculateWeights = function(action, aiBrain, agent, initialAgent)
- local weights, time = AIAbility.TargetedAttackWeightsHero(action, aiBrain, agent, initialAgent)
- if weights then
- local category = HeroAIActionTemplates[action.ActionName].TargetCategory or categories.HERO
- local range = Ability[action.Ability].RangeMax * 1.5
- local units = aiBrain:GetBlipsAroundPoint(category, initialAgent:GetPosition(), range, 'Enemy')
- local target = AIUtils.GetWeakestUnit(units)
- if target and target:IsStunned() then
- LOG("Rook Hammer Slam: Stunned Target")
- for k, v in weights do
- weights[k] = v * 2
- end
- end
- return weights, time
- end
- return false
- end,
- --'Rook Hammer Slam - Squad Target'
- CalculateWeights = function(action, aiBrain, agent, initialAgent)
- local weights, time = AIAbility.TargetedAbilitySquadTargetWeights(action, aiBrain, agent, initialAgent)
- if weights then
- local range = Ability[action.Ability].RangeMax * 1.5
- local target = initialAgent.GOAP.AttackTarget
- if target and VDist3XZSq( agent.Position, target.Position ) < range * range and target:IsStunned() then
- LOG("Rook Hammer Slam - Squad Target: Stunned Target")
- for k, v in weights do
- weights[k] = v * 2
- end
- end
- return weights, time
- end
- return false
- end,
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement