Public feed
#529112
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
}
}
}