1. }
  2.  
  3. if ${This.IsIndoors}
  4. {
  5. return FALSE
  6. }
  7. return TRUE
  8. }
  9.  
  10. member GetMount()
  11. {
  12. if ${Me.Level} < 20
  13. {
  14. return NONE
  15. }
  16.  
  17. variable guidlist ItemList
  18.  
  19. ;Epic
  20. if ${Spell[Ghost Wolf](exists)}
  21. {
  22. return ${Spell[Ghost Wolf].ID}
  23. }
  24. if ${Spell[Summon Charger](exists)}
  25. {
  26. return ${Spell[Summon Charger].ID}
  27. }
  28.  
  29. ItemList:Search[-items,-inventory,-usable,-epic,-skill, Riding]
  30. if ${ItemList.Count} > 0
  31. {
  32. return ${Item[${ItemList.GUID[1]}]}
  33. }
  34.  
  35. ;None Epic
  36. if ${Spell[Summon Felsteed](exists)}
  37. {
  38. return ${Spell[Summon Felsteed].ID}
  39. }
  40. if ${Spell[Summon Warhorse](exists)}
  41. {
  42. return ${Spell[Summon Warhorse].ID}
  43. }
  44.  
  45. ItemList:Search[-items,-inventory,-usable,-skill, Riding]
  46. if ${ItemList.Count} > 0
  47. {
  48. return ${Item[${ItemList.GUID[1]}]}
  49. }
  50.  
  51. return NONE
  52. }
  53.  
  54. method Dismount()
  55. {
  56. if ${Math.Calc[${LavishScript.RunningTime} - ${This.LastDismount}]} < 5000 || !${This.IsMounted} || !${Me.Buff[Ghost Wolf](exists)}
  57. {
  58. return
  59. }
  60. This:Output["Dismounting."]
  61.  
  62. if ${Me.Buff[Ghost Wolf](exists)}
  63. {
  64. Me.Buff[Ghost Wolf]:Remove
  65. }
  66. elseif ${This.IsMounted}
  67. {
  68. WoWScript Dismount()
  69. }
  70. This.LastDismount:Set[${LavishScript.RunningTime}]
  71. }
  72.  
  73. member IsMounted()
  74. {
  75. if ${WoWScript[IsMounted()]}
  76. {
  77. return TRUE
  78. }
  79. if ${Me.Buff[Ghost Wolf](exists)}
  80. {
  81. return TRUE
  82. }
  83.  
  84. return FALSE
  85. }
  86.  
  87. variable point3f LastIndoors = ${Me.Location}
  88. member IsIndoors()
  89. {
  90. if ${WoWScript[IsIndoors()]}
  91. {
  92. This.LastIndoors:Set[${Me.Location}]
  93. return TRUE
  94. }
  95. if ${Math.Distance[${Me.X},${Me.Y},${Me.Z},${This.LastIndoors.X},${This.LastIndoors.Y},${This.LastIndoors.Z}]} < 30
  96. {
  97. This:Debug["We are outdoors, but within 30 yards of our last indoor location."]
  98. return TRUE
  99. }
  100. return FALSE
  101. }
  102. }