Advertisement
mikeyy

HammerSlam CalculateWeights

Jul 23rd, 2011
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.60 KB | None | 0 0
  1.     --'Rook Hammer Slam'
  2.     CalculateWeights = function(action, aiBrain, agent, initialAgent)
  3.         local weights, time = AIAbility.TargetedAttackWeightsHero(action, aiBrain, agent, initialAgent)
  4.         if weights then
  5.             local category = HeroAIActionTemplates[action.ActionName].TargetCategory or categories.HERO
  6.             local range = Ability[action.Ability].RangeMax * 1.5
  7.             local units = aiBrain:GetBlipsAroundPoint(category, initialAgent:GetPosition(), range, 'Enemy')
  8.             local target = AIUtils.GetWeakestUnit(units)
  9.             if target and target:IsStunned() then
  10.                 LOG("Rook Hammer Slam: Stunned Target")
  11.                 for k, v in weights do
  12.                     weights[k] = v * 2
  13.                 end
  14.             end
  15.             return weights, time
  16.         end
  17.         return false
  18.     end,
  19.    
  20.     --'Rook Hammer Slam - Squad Target'
  21.     CalculateWeights = function(action, aiBrain, agent, initialAgent)
  22.         local weights, time = AIAbility.TargetedAbilitySquadTargetWeights(action, aiBrain, agent, initialAgent)
  23.         if weights then
  24.             local range = Ability[action.Ability].RangeMax * 1.5
  25.             local target = initialAgent.GOAP.AttackTarget
  26.             if target and VDist3XZSq( agent.Position, target.Position ) < range * range and target:IsStunned() then
  27.                 LOG("Rook Hammer Slam - Squad Target: Stunned Target")
  28.                 for k, v in weights do
  29.                     weights[k] = v * 2
  30.                 end
  31.             end
  32.             return weights, time
  33.         end
  34.         return false
  35.     end,
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement