objectdef oClass inherits oBase { variable string Aura1 = "Retribution Aura" variable string Aura2 = "Concentration Aura" variable string Blessing1 = "Blessing of Might" variable string Blessing2 = "Blessing of Wisdom" variable string Seal1 = "Seal of Command" variable string Seal2 = "Seal of the Crusader" variable string Heal1 = "Flash of Light" variable string Heal2 = "Holy Light" variable string Panic = "Lay on Hands" variable int RestDrink = 45 variable int RestFood = 45 method Initialize() { } method RestPulse() { Move -stop if ${Me.PctHPs} > 90 { Toon:Standup } if ${Me.Sitting} { return } if ${Spell[${This.Aura1}](exists)} && ${Toon.EnsureBuff[${Me.GUID},${This.Aura1}]} { return } if ${Spell[${This.Blessing1}](exists)} && ${Toon.EnsureBuff[${Me.GUID},${This.Blessing1}]} { return } if ${Consumable.HasDrink} && ${Me.PctMana} < ${This.RestDrink} { if !${Me.Buff[Drink](exists)} { Consumable:useDrink return } if ${Me.PctMana} > 90 { Toon:Standup return } return } if ${Me.PctHPs} < 70 && ${Me.PctMana} > 50 && !${Me.Sitting} { if ${Spell[${This.Heal2}](exists)} && if ${Toon.CastSpellGUID[${Me.GUID},${This.Heal2}]} { return } return } } member NeedRest() { if (${Me.PctMana} < 45) || (${Me.PctHPs} < 50) { return TRUE } return FALSE } method PullPulse() { Target ${Targeting.TargetCollection.Get[1]} if (${Target.Distance} > 5) { Navigator:FaceXYZ[${Target.X},${Target.Y},${Target.Z}] Move Forward return } Move -stop Toon:BlackListCheck[${Target.GUID}] if !${Me.Attacking} { WoWScript AttackTarget() } if ${Target.Distance} < ${This.MaxRanged} && ${Target.Distance} > ${This.MinRanged} { if ${Spell[${This.Seal2}](exists)} { if ${Toon.CastSpellGUID[${Target.GUID},${This.Seal2}]} { return } } else { Navigator:MoveTo[${Target.X},${Target.Y},${Target.Z}] } return } } method AttackPulse() { Target ${Targeting.TargetCollection.Get[1]} if (${Target.Distance} > 5) { Navigator:FaceXYZ[${Target.X},${Target.Y},${Target.Z}] Move Forward return } Move -stop Toon:BlackListCheck[${Target.GUID}] if !${Me.Attacking} { WoWScript AttackTarget() } if ${Me.Buff[${This.Seal2}](exists)} && ${Target.Distance} < 10 && ${Toon.CastSpellGUID[${Target.GUID},Judgement]} { return } if ${Me.PctMana}<25 && !${Me.Buff[${This.Blessing2}](exists)} { if ${Toon.CastSpellGUID[${Me.GUID},${This.Blessing2}]} { return } } if ${Me.PctHPs} < 10 && !${Me.Buff[Forbearance](exists)} && ${Toon.AggroWithin[10,TargetingMe]} > 2 { if !${Me.Buff[Divine Protection](exists)} && ${Toon.CastSpellGUID[${Me.GUID},Divine Protection]} { if ${Toon.CastSpellGUID[${Me.GUID},${This.Panic}]} { return } } return } if ${Me.PctHPs} < 45 && ${Me.PctMana} > 30 { if ${Toon.CastSpellGUID[${Me.GUID},${This.Heal2}]} { return } } if ${Me.Attacking} && ${Spell[Consecration](exists)} && ${Me.PctMana} > 15 && ${Toon.AggroWithin[10,TargetingMe]} > 1 { if ${Toon.CastSpellGUID[${Target.GUID},Consecration]} { return } } if !${Me.Buff[${This.Seal1}](exists)} && ${Me.PctMana} > 65 && ${Toon.CastSpellGUID[${Target.GUID},${This.Seal1}]} { return } if ${Me.Buff[${This.Seal1}](exists)} && ${Me.PctMana} > 65 && ${Toon.CastSpellGUID[${Target.GUID},Judgement]} { return } } }