Sub CombatPet
/if (${DebugCombat}) /echo DEBUGCOMBAT CombatPet: Enter
/if (${PetAttack} || ${DPSPaused}) /return
/if (${Select[${Role},pettank,pullerpettank,hunterpettank]} && ${Me.Pet.ID} && !${Me.Pet.Combat}) /pet attack
/if (${Target.ID} && ${Target.PctHPs}>95) /return
/if (${Me.Pet.ID} && (${PetAttack} || ${Me.Pet.Combat})) /return
/call CombatTargetCheck
/if (!${Target.Mezzed.ID} && !${Me.Pet.Combat}) {
/if (${Select[${Role},pettank,pullerpettank]}) {
/if ((${Me.Pet.Stance.NotEqual[FOLLOW]}) && (${Math.Distance[${Me.Pet.Y},${Me.Pet.X}:${CampYLoc},${CampXLoc}]}>${CampRadius}) || (${Math.Distance[${Me.Y},${Me.X}:${CampYLoc},${CampXLoc}]}>${CampRadius})) /pet follow
}
/pet attack
/delay 5
| Set timer to check if pet is attacking every 3s
/varset PetAttack 30
} else {
/if (${Target.Mezzed.ID} && ${Select[${Role},pettank,pullerpettank]} && ${PetBreakMezSpell.NotEqual[null]}) /call BreakMez
}
/if (${DebugCombat}) /echo DEBUGCOMBAT CombatPet: Leave
/return