}
if ${This.IsIndoors}
{
return FALSE
}
return TRUE
}
member GetMount()
{
if ${Me.Level} < 20
{
return NONE
}
variable guidlist ItemList
;Epic
if ${Spell[Ghost Wolf](exists)}
{
return ${Spell[Ghost Wolf].ID}
}
if ${Spell[Summon Charger](exists)}
{
return ${Spell[Summon Charger].ID}
}
ItemList:Search[-items,-inventory,-usable,-epic,-skill, Riding]
if ${ItemList.Count} > 0
{
return ${Item[${ItemList.GUID[1]}]}
}
;None Epic
if ${Spell[Summon Felsteed](exists)}
{
return ${Spell[Summon Felsteed].ID}
}
if ${Spell[Summon Warhorse](exists)}
{
return ${Spell[Summon Warhorse].ID}
}
ItemList:Search[-items,-inventory,-usable,-skill, Riding]
if ${ItemList.Count} > 0
{
return ${Item[${ItemList.GUID[1]}]}
}
return NONE
}
method Dismount()
{
if ${Math.Calc[${LavishScript.RunningTime} - ${This.LastDismount}]} < 5000 || !${This.IsMounted} || !${Me.Buff[Ghost Wolf](exists)}
{
return
}
This:Output["Dismounting."]
if ${Me.Buff[Ghost Wolf](exists)}
{
Me.Buff[Ghost Wolf]:Remove
}
elseif ${This.IsMounted}
{
WoWScript Dismount()
}
This.LastDismount:Set[${LavishScript.RunningTime}]
}
member IsMounted()
{
if ${WoWScript[IsMounted()]}
{
return TRUE
}
if ${Me.Buff[Ghost Wolf](exists)}
{
return TRUE
}
return FALSE
}
variable point3f LastIndoors = ${Me.Location}
member IsIndoors()
{
if ${WoWScript[IsIndoors()]}
{
This.LastIndoors:Set[${Me.Location}]
return TRUE
}
if ${Math.Distance[${Me.X},${Me.Y},${Me.Z},${This.LastIndoors.X},${This.LastIndoors.Y},${This.LastIndoors.Z}]} < 30
{
This:Debug["We are outdoors, but within 30 yards of our last indoor location."]
return TRUE
}
return FALSE
}
}