rendered paste bodyfunction UsePetAbilities()
{
if (${Math.Calc[${Math.Distance[${Me.Pet.ToPawn.Location.X},${Me.Pet.ToPawn.Location.Y},${Pawn[id,${PetsTarget}].Location.X},${Pawn[id,${PetsTarget}].Location.Y}].Int}/100]}<=10)
{
if ${Math.Calc[${Math.Distance[${Me.Pet.ToPawn.Location.X},${Me.Pet.ToPawn.Location.Y},${Me.ToPawn.Location.X},${Me.ToPawn.Location.Y}].Int}/100]}>=${PullBackDist}
{
Call BackoffPet
}
if ${Me.Pet.Ability[1].IsReady} && ${doPetAbility1}
{
Me.Pet.Ability[1]:Use
Wait 3
}
if ${Me.Pet.Ability[2].IsReady} && ${doPetAbility2}
{
Me.Pet.Ability[2]:Use
Wait 3
}
if ${Me.Pet.Ability[3].IsReady} && ${doPetAbility3}
{
Me.Pet.Ability[3]:Use
Wait 3
}
if ${Me.Pet.Ability[4].IsReady} && ${doPetAbility4}
{
Me.Pet.Ability[4]:Use
Wait 3
}
if ${Me.Pet.Ability[5].IsReady} && ${doPetAbility5}
{
Me.Pet.Ability[5]:Use
Wait 3
}
if ${Me.Pet.Ability[6].IsReady} && ${doPetAbility6}
{
Me.Pet.Ability[6]:Use
Wait 3
}
}
}
function AngroPet()
{
PetsTarget:Set[${Me.Target.ID}]
while ${Me.Pet.ToPawn.CombatState}==1
{
Call UseCombatAbilities
Call UsePetAbilities
Call UseDotAbilities
}
}
function UseCombatAbilities()
{
if !${Me.IsCasting} && ${Me.Ability[${CombatA1}].IsReady} && ${doCombatA1} && ${Me.Target.ID} && ${Me.Energy}>${Me.Ability[${CombatA1}].EnergyCost}
{
Me.Ability[${CombatA1}]:Use
call MeCasting
return
}
if !${Me.IsCasting} && ${Me.Ability[${CombatA2}].IsReady} && ${doCombatA2} && ${Me.Target.ID} && ${Me.Energy}>${Me.Ability[${CombatA2}].EnergyCost}
{
Me.Ability[${CombatA2}]:Use
call MeCasting
return
}
if !${Me.IsCasting} && ${Me.Ability[${CombatA3}].IsReady} && ${doCombatA3} && ${Me.Target.ID} && ${Me.Energy}>${Me.Ability[${CombatA3}].EnergyCost}
{
Me.Ability[${CombatA3}]:Use
call MeCasting
return
}
if !${Me.IsCasting} && ${Me.Ability[${CombatA4}].IsReady} && ${doCombatA4} && ${Me.Target.ID} && ${Me.Energy}>${Me.Ability[${CombatA4}].EnergyCost}
{
face
waitframe
Me.Ability[${CombatA4}]:Use
call MeCasting
return
}
}
function UseDotAbilities()
{
if !${Me.IsCasting} && ${Me.Ability[${Dot1}].IsReady} && ${doDot1} && ${Me.Energy}>${Me.Ability[${CombatA3}].EnergyCost}
{
if !${Me.TargetEffect[${Dot1}](exists)} && ${Me.Target.ID}
{
face
waitframe
Me.Ability[${Dot1}]:Use
call MeCasting
return
}
}
if !${Me.IsCasting} && ${Me.Ability[${Dot2}].IsReady} && ${doDot2} && ${Me.Energy}>${Me.Ability[${CombatA3}].EnergyCost}
{
if !${Me.TargetEffect[${Dot2}](exists)} && ${Me.Target.ID}
{
face
waitframe
Me.Ability[${Dot2}]:Use
call MeCasting
return
}
}
if !${Me.IsCasting} && ${Me.Ability[${Dot3}].IsReady} && ${doDot3} && ${Me.Energy}>${Me.Ability[${CombatA3}].EnergyCost}
{
if !${Me.TargetEffect[${Dot3}](exists)} && ${Me.Target.ID}
{
face
waitframe
Me.Ability[${Dot3}]:Use
call MeCasting
return
}
}
if !${Me.IsCasting} && ${Me.Ability[${Dot4}].IsReady} && ${doDot4} && ${Me.Energy}>${Me.Ability[${CombatA3}].EnergyCost}
{
if !${Me.TargetEffect[${Dot4}](exists)} && ${Me.Target.ID}
{
face
waitframe
Me.Ability[${Dot4}]:Use
call MeCasting
return
}
}
}