tabina.lua 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. --[[
  2. Script Name : soothsayertabina.lua
  3. Script Purpose : Waypoint Path for soothsayertabina.lua
  4. Script Author : Dorbin
  5. Script Date : 2022.06.11
  6. Script Notes :
  7. Note: Added class specific callout - Dorbin 4/15/2022
  8. --]]
  9. local FIGHTER = 1
  10. local WARRIOR =2
  11. local GUARDIAN= 3
  12. local BERSERKER = 4
  13. local BRAWLER = 5
  14. local MONK = 6
  15. local BRUISER= 7
  16. local CRUSADER = 8
  17. local SHADOWKNIGHT = 9
  18. local PALADIN = 10
  19. local PRIEST = 11
  20. local CLERIC = 12
  21. local TEMPLAR = 13
  22. local INQUISITOR = 14
  23. local DRUID = 15
  24. local WARDEN = 16
  25. local FURY = 17
  26. local SHAMAN = 18
  27. local MYSTIC = 19
  28. local DEFILER = 20
  29. local MAGE = 21
  30. local SORCERER = 22
  31. local WIZARD = 23
  32. local WARLOCK = 24
  33. local ENCHANTER = 25
  34. local ILLUSIONIST = 26
  35. local COERCER = 27
  36. local SUMMONER = 28
  37. local CONJUROR = 29
  38. local NECROMANCER = 30
  39. local SCOUT = 31
  40. local ROGUE = 32
  41. local SWASHBUCKLER = 33
  42. local BRIGAND = 34
  43. local BARD = 35
  44. local TROUBADOR = 36
  45. local DIRGE = 37
  46. local PREDATOR = 38
  47. local RANGER = 39
  48. local ASSASSIN = 40
  49. local ANIMALIST = 41
  50. local BEASTLORD = 42
  51. local SHAPER = 43
  52. local CHANNELER = 44
  53. function spawn(NPC)
  54. SetPlayerProximityFunction(NPC, 8, "InRange", "LeaveRange")
  55. waypoints(NPC)
  56. end
  57. function hailed(NPC, Spawn)
  58. FaceTarget(NPC, Spawn)
  59. Seer(NPC,Spawn)
  60. end
  61. function respawn(NPC)
  62. spawn(NPC)
  63. end
  64. local CalloutTimeCheck = false -- used to delay between callout uses
  65. function InRange(NPC, Spawn) --Quest Callout
  66. if CalloutTimeCheck == false then
  67. if math.random(1, 100) <= 20 then
  68. CalloutTimeCheck = true
  69. FaceTarget(NPC, Spawn)
  70. SeerShout(NPC, Spawn)
  71. AddTimer(NPC,50000,"ResetCalloutTimer")
  72. end
  73. end
  74. end
  75. function ResetCalloutTimer(NPC) -- resets callout timer after use
  76. CalloutTimeCheck = false
  77. end
  78. function Seer(NPC,Spawn)
  79. choice = math.random(1,2)
  80. FaceTarget(NPC, Spawn)
  81. if choice ==1 then
  82. PlayFlavor(NPC, "","", "ponder", 0, 0, Spawn)
  83. else
  84. if GetClass(Spawn)==SCOUT or GetClass(Spawn)==ROGUE or GetClass(Spawn)==SWASHBUCKLER or GetClass(Spawn)==BRIGAND or GetClass(Spawn)==BARD or GetClass(Spawn)==TROUBADOR or GetClass(Spawn)==DIRGE or GetClass(Spawn)==PREDATOR or GetClass(Spawn)==RANGER or GetClass(Spawn)==ASSASSIN or GetClass(Spawn)==ANIMALIST or GetClass(Spawn)==BEASTLORD then
  85. PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_scout_gf_a250f41f.mp3","Stealth, guile, and brovado shall follow you on your path to greatness.", "orate", 3335989969, 3601217765, Spawn)
  86. elseif GetClass(Spawn)==MAGE or GetClass(Spawn)==SORCERER or GetClass(Spawn)==WIZARD or GetClass(Spawn)==WARLOCK or GetClass(Spawn)==ENCHANTER or GetClass(Spawn)==ILLUSIONIST or GetClass(Spawn)==COERCER or GetClass(Spawn)==SUMMONER or GetClass(Spawn)==CONJUROR or GetClass(Spawn)==NECROMANCER then
  87. PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_mage_gf_f18445ae.mp3","Clearly your intellect is your best asset. The world shall marvel at the wonders you control.", "orate", 2143349270, 291509869, Spawn)
  88. elseif GetClass(Spawn)==CLERIC or GetClass(Spawn)==TEMPLAR or GetClass(Spawn)==INQUISITOR or GetClass(Spawn)==DRUID or GetClass(Spawn)==WARDEN or GetClass(Spawn)==FURY or GetClass(Spawn)==SHAMAN or GetClass(Spawn)==MYSTIC or GetClass(Spawn)==DEFILER or GetClass(Spawn)==PRIEST or GetClass(Spawn)==SHAPER or GetClass(Spawn)==CHANNELER then
  89. PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_priest_gf_5c80506d.mp3","Your spirit is strong, as is your faith. You shall move more than mountains, you shall move souls.", "orate", 1603654197, 361421551, Spawn)
  90. elseif GetClass(Spawn)==FIGHTER or GetClass(Spawn)==WARRIOR or GetClass(Spawn)==GUARDIAN or GetClass(Spawn)==BERSERKER or GetClass(Spawn)==BRAWLER or GetClass(Spawn)==MONK or GetClass(Spawn)==BRUISER or GetClass(Spawn)==CRUSADER or GetClass(Spawn)==SHADOWKNIGHT or GetClass(Spawn)==PALADIN then
  91. PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_fighter_gf_544e4a58.mp3","Epic battles await your future, but the strength of your arm shall tame them all!", "orate", 2750782728, 2274979632, Spawn)
  92. end
  93. end
  94. end
  95. function SeerShout(NPC,Spawn)
  96. if GetClass(Spawn)==SCOUT or GetClass(Spawn)==ROGUE or GetClass(Spawn)==SWASHBUCKLER or GetClass(Spawn)==BRIGAND or GetClass(Spawn)==BARD or GetClass(Spawn)==TROUBADOR or GetClass(Spawn)==DIRGE or GetClass(Spawn)==PREDATOR or GetClass(Spawn)==RANGER or GetClass(Spawn)==ASSASSIN or GetClass(Spawn)==ANIMALIST or GetClass(Spawn)==BEASTLORD or GetClass(Spawn)==SHAPER or GetClass(Spawn)==CHANNELER then
  97. PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_scout_gf_a250f41f.mp3","Stealth, guile and brovado shall follow you on your path to greatness.", "orate", 3335989969, 3601217765, Spawn)
  98. elseif GetClass(Spawn)==MAGE or GetClass(Spawn)==SORCERER or GetClass(Spawn)==WIZARD or GetClass(Spawn)==WARLOCK or GetClass(Spawn)==ENCHANTER or GetClass(Spawn)==ILLUSIONIST or GetClass(Spawn)==COERCER or GetClass(Spawn)==SUMMONER or GetClass(Spawn)==CONJUROR or GetClass(Spawn)==NECROMANCER then
  99. PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_mage_gf_f18445ae.mp3","Clearly your intellect is your best asset. The world shall marvel at the wonders you control.", "orate", 2143349270, 291509869)
  100. elseif GetClass(Spawn)==CLERIC or GetClass(Spawn)==TEMPLAR or GetClass(Spawn)==INQUISITOR or GetClass(Spawn)==DRUID or GetClass(Spawn)==WARDEN or GetClass(Spawn)==FURY or GetClass(Spawn)==SHAMAN or GetClass(Spawn)==MYSTIC or GetClass(Spawn)==DEFILER or GetClass(Spawn)==PRIEST then
  101. PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_priest_gf_5c80506d.mp3","Your spirit is strong, as is your faith. You shall move more than mountains, you shall move souls.", "orate", 1603654197, 361421551)
  102. elseif GetClass(Spawn)==FIGHTER or GetClass(Spawn)==WARRIOR or GetClass(Spawn)==GUARDIAN or GetClass(Spawn)==BERSERKER or GetClass(Spawn)==BRAWLER or GetClass(Spawn)==MONK or GetClass(Spawn)==BRUISER or GetClass(Spawn)==CRUSADER or GetClass(Spawn)==SHADOWKNIGHT or GetClass(Spawn)==PALADIN then
  103. PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_fighter_gf_544e4a58.mp3","Epic battles await your future, but the strength of your arm shall tame them all!", "orate", 2750782728, 2274979632)
  104. end
  105. end
  106. function respawn(NPC)
  107. spawn(NPC)
  108. end
  109. function waypoints(NPC)
  110. MovementLoopAddLocation(NPC, 909.78, -25.44, 1.58, 2, 0)
  111. MovementLoopAddLocation(NPC, 906.81, -25.43, 13.63, 2, 0)
  112. MovementLoopAddLocation(NPC, 912.98, -25.52, 30.67, 2, 20)
  113. MovementLoopAddLocation(NPC, 899.02, -25.43, 36.85, 2, 15)
  114. MovementLoopAddLocation(NPC, 893.48, -25.37, 42.47, 2, 0)
  115. MovementLoopAddLocation(NPC, 870.99, -25.37, 42.15, 2, 0)
  116. MovementLoopAddLocation(NPC, 863.96, -25.44, 30.1, 2, 0)
  117. MovementLoopAddLocation(NPC, 856.98, -25.47, 22.35, 2, 0)
  118. MovementLoopAddLocation(NPC, 845.96, -25.47, 12.86, 2, 0)
  119. MovementLoopAddLocation(NPC, 837.99, -25.48, -2.42, 2, 0)
  120. MovementLoopAddLocation(NPC, 825.78, -25.47, -7.46, 2, 0)
  121. MovementLoopAddLocation(NPC, 824.38, -25.43, -11.88, 2, 15)
  122. MovementLoopAddLocation(NPC, 821.3, -25.46, -13.08, 2, 0)
  123. MovementLoopAddLocation(NPC, 835.61, -25.43, -15.7, 2, 15)
  124. MovementLoopAddLocation(NPC, 836.23, -25.43, -20.23, 2, 15)
  125. MovementLoopAddLocation(NPC, 844.75, -25.43, -20.69, 2, 0)
  126. MovementLoopAddLocation(NPC, 844.75, -25.43, -20.69, 2, 15)
  127. MovementLoopAddLocation(NPC, 856.52, -25.43, -28.37, 2, 0)
  128. MovementLoopAddLocation(NPC, 867.69, -25.44, -31.45, 2, 0)
  129. MovementLoopAddLocation(NPC, 875.38, -25.46, -31.19, 2, 0)
  130. MovementLoopAddLocation(NPC, 892.72, -25.5, -24.11, 2, 0)
  131. MovementLoopAddLocation(NPC, 897.35, -25.44, -22.26, 2, 0)
  132. MovementLoopAddLocation(NPC, 904.74, -24.93, -30.29, 2, 0)
  133. MovementLoopAddLocation(NPC, 902.36, -23.46, -40.71, 2, 0)
  134. MovementLoopAddLocation(NPC, 901.87, -23.47, -42.05, 2, 15)
  135. MovementLoopAddLocation(NPC, 895.3, -25.42, -58.06, 2, 0)
  136. MovementLoopAddLocation(NPC, 879.7, -25.39, -65.55, 2, 0)
  137. MovementLoopAddLocation(NPC, 873.72, -25.39, -67.39, 2, 0)
  138. MovementLoopAddLocation(NPC, 815.64, -21.27, -65.25, 2, 0)
  139. MovementLoopAddLocation(NPC, 804.23, -20.64, -64.26, 2, 0)
  140. MovementLoopAddLocation(NPC, 762.43, -21.4, -62.95, 2, 0)
  141. MovementLoopAddLocation(NPC, 751.84, -21.08, -66.73, 2, 0)
  142. MovementLoopAddLocation(NPC, 765.93, -20.8, -36.21, 2, 15)
  143. MovementLoopAddLocation(NPC, 756.43, -21.01, -16.25, 2, 0)
  144. MovementLoopAddLocation(NPC, 734.19, -21.34, -24.87, 2, 0)
  145. MovementLoopAddLocation(NPC, 692.32, -20.76, -31.66, 2, 0)
  146. MovementLoopAddLocation(NPC, 692.96, -20.79, -32.01, 2, 15)
  147. MovementLoopAddLocation(NPC, 701.26, -20.94, -35.06, 2, 0)
  148. MovementLoopAddLocation(NPC, 724.75, -21.39, -39.34, 2, 0)
  149. MovementLoopAddLocation(NPC, 739.4, -21.21, -61.66, 2, 0)
  150. MovementLoopAddLocation(NPC, 798.21, -20.88, -64.4, 2, 0)
  151. MovementLoopAddLocation(NPC, 852.87, -25.36, -66.64, 2, 0)
  152. MovementLoopAddLocation(NPC, 892.63, -25.38, -58.55, 2, 0)
  153. MovementLoopAddLocation(NPC, 907.04, -25.41, -24.41, 2, 0)
  154. MovementLoopAddLocation(NPC, 911.41, -25.47, -13.37, 2, 0)
  155. end