TrainerThelzaklaNibaDok.lua 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. --[[
  2. Script Name : SpawnScripts/TimorousDeep/TrainerThelzaklaNibaDok.lua
  3. Script Purpose : Trainer Thelzakla Niba'Dok <Combat Trainer>
  4. Script Author : John Adams
  5. Script Date : 2009.02.22
  6. Script Notes : Auto-Generated Conversation from PacketParser Data
  7. --]]
  8. function spawn(NPC)
  9. end
  10. function respawn(NPC)
  11. spawn(NPC)
  12. end
  13. function hailed(NPC, Spawn)
  14. FaceTarget(NPC, Spawn)
  15. conversation = CreateConversation()
  16. choice = math.random(1, 3)
  17. if choice == 1 then
  18. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn)
  19. elseif choice == 2 then
  20. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn)
  21. elseif choice == 3 then
  22. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1003.mp3", "", "", 0, 0, Spawn)
  23. end
  24. AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_19_1")
  25. AddConversationOption(conversation, "Teach me more advanced aspects of combat.")
  26. AddConversationOption(conversation, "I'll come back later.")
  27. StartConversation(conversation, NPC, Spawn, "Hello there. I'm here to teach folks the finer points of combat. I don't like to get into a fight, but if I do, I prefer to win. Know what I mean?")
  28. end
  29. function dlg_19_1(NPC, Spawn)
  30. FaceTarget(NPC, Spawn)
  31. conversation = CreateConversation()
  32. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  33. AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_19_2")
  34. AddConversationOption(conversation, "Tell me about melee combat.")
  35. AddConversationOption(conversation, "Tell me about ranged combat.")
  36. AddConversationOption(conversation, "What kind of rewards can I earn in battle?")
  37. AddConversationOption(conversation, "Teach me more advanced aspects of combat.")
  38. AddConversationOption(conversation, "I'll come back later.")
  39. StartConversation(conversation, NPC, Spawn, "There are many different elements that go into successful combat. I can teach you a few of the basics, such as how to begin a fight, the difference between melee and ranged combat, and earning rewards for victory.")
  40. end
  41. function dlg_19_2(NPC, Spawn)
  42. FaceTarget(NPC, Spawn)
  43. conversation = CreateConversation()
  44. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  45. AddConversationOption(conversation, "How do I begin the battle?", "dlg_19_3")
  46. StartConversation(conversation, NPC, Spawn, "Starting combat is easy. Just use your mouse pointer to left-click on an opponent. Its name will appear in the Target window in the upper left of your screen. You can also use the Tab key to cycle through nearby targets or the F8 key to select your closest enemy.")
  47. end
  48. function dlg_19_3(NPC, Spawn)
  49. FaceTarget(NPC, Spawn)
  50. conversation = CreateConversation()
  51. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  52. AddConversationOption(conversation, "So I can fight anyone or anything I want?", "dlg_19_4")
  53. StartConversation(conversation, NPC, Spawn, "If you're close enough to your foe and want to start hitting it with your weapon, either click your Melee Attack button on your hotbar or press the ~ key. Or you can begin by using one of your spells or combat arts to get the enemy's attention. Remember, you must be close enough to actually hit them.")
  54. end
  55. function dlg_19_4(NPC, Spawn)
  56. FaceTarget(NPC, Spawn)
  57. conversation = CreateConversation()
  58. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  59. AddConversationOption(conversation, "Tell me about melee combat.", "dlg_19_5")
  60. AddConversationOption(conversation, "Tell me about ranged combat.")
  61. AddConversationOption(conversation, "What kind of rewards can I earn in battle?")
  62. AddConversationOption(conversation, "Teach me more advanced aspects of combat.")
  63. AddConversationOption(conversation, "I'll come back later.")
  64. StartConversation(conversation, NPC, Spawn, "You can fight most non-player characters and creatures that you find outside your city, whether outdoors or in dungeons. Many non-player characters in the cities are there to help you or give quests, so you can't attack some of them. If you try, you'll get a message telling you that they aren't valid targets.")
  65. end
  66. function dlg_19_5(NPC, Spawn)
  67. FaceTarget(NPC, Spawn)
  68. conversation = CreateConversation()
  69. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  70. AddConversationOption(conversation, "How do I launch a ranged attack?")
  71. StartConversation(conversation, NPC, Spawn, "Ranged combat means that you put some distance between yourself and the enemy. This can be done with weapons such as bows or throwing daggers, or with spells and arts that can be cast from a distance.")
  72. end
  73. function dlg_19_6(NPC, Spawn)
  74. FaceTarget(NPC, Spawn)
  75. conversation = CreateConversation()
  76. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  77. AddConversationOption(conversation, "What classes specialize in ranged combat?", "dlg_19_7")
  78. StartConversation(conversation, NPC, Spawn, "If you have a ranged weapon and ammunition, you can initiate ranged combat by using the Ranged Attack button on the Abilities tab of your Knowledge Book. You can drag this key to your hotbar if you like. Remember, you must have a ranged weapon in the Ranged slot of your inventory window and the correct type of ammunition in the Ammo slot.")
  79. end
  80. function dlg_19_7(NPC, Spawn)
  81. FaceTarget(NPC, Spawn)
  82. conversation = CreateConversation()
  83. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  84. AddConversationOption(conversation, "How do I tell if I can use spells or arts from a distance?", "dlg_19_8")
  85. StartConversation(conversation, NPC, Spawn, "While most classes have the ability to attack from a distance, scout classes such as Brigands, Troubadors, Dirges, and Assassins specialize in ranged physical attacks. Mages, priests, and Shadowknights have spells that do damage to their foes from a distance.")
  86. end
  87. function dlg_19_8(NPC, Spawn)
  88. FaceTarget(NPC, Spawn)
  89. conversation = CreateConversation()
  90. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  91. AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_19_9")
  92. AddConversationOption(conversation, "Tell me about melee combat.")
  93. AddConversationOption(conversation, "What kind of rewards can I earn in battle?")
  94. AddConversationOption(conversation, "Teach me more advanced aspects of combat.")
  95. AddConversationOption(conversation, "I'll come back later.")
  96. StartConversation(conversation, NPC, Spawn, "You can right-click on a spell or art's icon and select 'Examine' to see what its range of effect is. In addition, if you target something and the icon for one of your spells or arts turns a dark red, that means the opponent is out of range of that ability.")
  97. end
  98. function dlg_19_9(NPC, Spawn)
  99. FaceTarget(NPC, Spawn)
  100. conversation = CreateConversation()
  101. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  102. AddConversationOption(conversation, "What classes specialize in melee combat?")
  103. StartConversation(conversation, NPC, Spawn, "Melee combat means a toe-to-toe, physical confrontation. It is a combination of auto-attack damage that happens automatically when you press the Melee Attack button on your hotbar or the ~ key and spells or combat arts that you use in close proximity to your foe.")
  104. end
  105. function dlg_19_10(NPC, Spawn)
  106. FaceTarget(NPC, Spawn)
  107. conversation = CreateConversation()
  108. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  109. AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_19_11")
  110. AddConversationOption(conversation, "Tell me about ranged combat.")
  111. AddConversationOption(conversation, "What kind of rewards can I earn in battle?")
  112. AddConversationOption(conversation, "Teach me more advanced aspects of combat.")
  113. AddConversationOption(conversation, "I'll come back later.")
  114. StartConversation(conversation, NPC, Spawn, "Sturdy fighters such as Guardians, Berserkers, Bruisers, and Shadowknights stand at the front lines of battle facing the enemy. Crafty scouts such as Brigands, Assassins, Troubadors, and Dirges generally stay close to their foes as well, but prefer to launch attacks from the back or side where they are less likely to be counterattacked.")
  115. end
  116. function dlg_19_11(NPC, Spawn)
  117. FaceTarget(NPC, Spawn)
  118. conversation = CreateConversation()
  119. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  120. AddConversationOption(conversation, "What do you mean by 'a worthy opponent'?")
  121. StartConversation(conversation, NPC, Spawn, "Victory in battle can be very rewarding. Successful combat against a worthy opponent awards you experience (XP) to help you advance your level, as well as the chance at coin, usable items, and other valuables.")
  122. end
  123. function dlg_19_12(NPC, Spawn)
  124. FaceTarget(NPC, Spawn)
  125. conversation = CreateConversation()
  126. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  127. AddConversationOption(conversation, "Are certain types of targets more rewarding than others?", "dlg_19_13")
  128. StartConversation(conversation, NPC, Spawn, "You don't earn rewards for defeating foes that are too far below your level. If your target has a grey name, it means it is very weak and won't provide any benefit for beating it.")
  129. end
  130. function dlg_19_13(NPC, Spawn)
  131. FaceTarget(NPC, Spawn)
  132. conversation = CreateConversation()
  133. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  134. AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_19_14")
  135. AddConversationOption(conversation, "Tell me about melee combat.")
  136. AddConversationOption(conversation, "Tell me about ranged combat.")
  137. AddConversationOption(conversation, "Teach me more advanced aspects of combat.")
  138. AddConversationOption(conversation, "I'll come back later.")
  139. StartConversation(conversation, NPC, Spawn, "The tougher a foe, the better its chances to provide a valuable reward. Though defeating enemies alone provides nice rewards, defeating heroic enemies that require a group is even more rewarding. The very best items come from banding together multiple groups to defeat epic opponents.")
  140. end
  141. function dlg_19_14(NPC, Spawn)
  142. FaceTarget(NPC, Spawn)
  143. conversation = CreateConversation()
  144. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  145. AddConversationOption(conversation, "Tell me about selecting the right opponent.")
  146. AddConversationOption(conversation, "Teach me about knowing my surroundings.")
  147. AddConversationOption(conversation, "Tell me about using my abilities.")
  148. AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_19_15")
  149. AddConversationOption(conversation, "I'll come back later.")
  150. StartConversation(conversation, NPC, Spawn, "There are many advanced combat techniques that you will learn over time. There's no substitute for experience, .. GetName(Spawn) .. . I'd be happy to discuss a few of these advanced aspects, such as selecting the right opponent, knowing your surroundings, and using your abilities.")
  151. end
  152. function dlg_19_15(NPC, Spawn)
  153. FaceTarget(NPC, Spawn)
  154. conversation = CreateConversation()
  155. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  156. AddConversationOption(conversation, "How do I tell if an opponent is too weak or too strong for me?", "dlg_19_16")
  157. StartConversation(conversation, NPC, Spawn, "Picking the right fight is crucial to victory. A weak opponent won't provide worthwhile rewards, while an overly powerful foe will result in your defeat. You need to keep your resources in mind as well as choosing the right target.")
  158. end
  159. function dlg_19_16(NPC, Spawn)
  160. FaceTarget(NPC, Spawn)
  161. conversation = CreateConversation()
  162. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  163. AddConversationOption(conversation, "What resources should I be keeping an eye on?", "dlg_19_17")
  164. StartConversation(conversation, NPC, Spawn, "Targeting an opponent will show you detailed information on its overall potency. Generally speaking, you'll find the best results from fighting opponents with blue, white, or yellow names.")
  165. end
  166. function dlg_19_17(NPC, Spawn)
  167. FaceTarget(NPC, Spawn)
  168. conversation = CreateConversation()
  169. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  170. AddConversationOption(conversation, "Teach me about knowing my surroundings.", "dlg_19_18")
  171. AddConversationOption(conversation, "Tell me about using my abilities.")
  172. AddConversationOption(conversation, "Teach me the basics of combat.")
  173. AddConversationOption(conversation, "I'll come back later.")
  174. StartConversation(conversation, NPC, Spawn, "Starting a fight when you are low on health or power is a very bad idea. Your choice of targets also depends on whether you're alone or grouped with other players. Forming a group allows you to take on tougher and more rewarding challenges than you could face alone.")
  175. end
  176. function dlg_19_18(NPC, Spawn)
  177. FaceTarget(NPC, Spawn)
  178. conversation = CreateConversation()
  179. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  180. AddConversationOption(conversation, "What do you mean?")
  181. StartConversation(conversation, NPC, Spawn, "Successful fighting isn't about turning on your auto-attack and walking away from battle. Your odds of victory are much better if you are well-prepared and are active during combat. You should use every spell or combat art that has a positive effect on your chances to win.")
  182. end
  183. function dlg_19_19(NPC, Spawn)
  184. FaceTarget(NPC, Spawn)
  185. conversation = CreateConversation()
  186. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  187. AddConversationOption(conversation, "What about during battle?", "dlg_19_20")
  188. StartConversation(conversation, NPC, Spawn, "Before you begin fighting, make sure you and your allies have activated all beneficial spells, also known as 'buffs,' so that you're operating at peak efficiency. Buffs can add health or power, increase your rate of regeneration, enhance your physical attributes, make you attack faster or do more damage, and more.")
  189. end
  190. function dlg_19_20(NPC, Spawn)
  191. FaceTarget(NPC, Spawn)
  192. conversation = CreateConversation()
  193. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  194. AddConversationOption(conversation, "What else should I know about spells and arts?", "dlg_19_21")
  195. StartConversation(conversation, NPC, Spawn, "Whether you're a front-lines melee type or someone attacking from a distance with weapons or spells, you should be using abilities that damage your foes effectively and efficiently. Right click on your spells and arts and select 'Examine' to see details on their effects.")
  196. end
  197. function dlg_19_21(NPC, Spawn)
  198. FaceTarget(NPC, Spawn)
  199. conversation = CreateConversation()
  200. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  201. AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_19_22")
  202. AddConversationOption(conversation, "Teach me about knowing my surroundings.")
  203. AddConversationOption(conversation, "Teach me the basics of combat.")
  204. AddConversationOption(conversation, "I'll come back later.")
  205. StartConversation(conversation, NPC, Spawn, "Using your highest-level versions of spells and arts will be more effective than using older versions. In addition, you should be upgrading your abilities to higher ranks to make them more effective. For more details on spells and combat arts, talk to Trainer Yasna V'Vath.")
  206. end
  207. function dlg_19_22(NPC, Spawn)
  208. FaceTarget(NPC, Spawn)
  209. conversation = CreateConversation()
  210. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  211. AddConversationOption(conversation, "Tell me how to begin a fight.")
  212. AddConversationOption(conversation, "Tell me about melee combat.")
  213. AddConversationOption(conversation, "Tell me about ranged combat.", "dlg_19_23")
  214. AddConversationOption(conversation, "What kind of rewards can I earn in battle?")
  215. AddConversationOption(conversation, "Teach me more advanced aspects of combat.")
  216. AddConversationOption(conversation, "I'll come back later.")
  217. StartConversation(conversation, NPC, Spawn, "There are many different elements that go into successful combat. I can teach you a few of the basics, such as how to begin a fight, the difference between melee and ranged combat, and earning rewards for victory.")
  218. end
  219. function dlg_19_23(NPC, Spawn)
  220. FaceTarget(NPC, Spawn)
  221. conversation = CreateConversation()
  222. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  223. AddConversationOption(conversation, "How do I begin the battle?", "dlg_19_24")
  224. StartConversation(conversation, NPC, Spawn, "Starting combat is easy. Just use your mouse pointer to left-click on an opponent. Its name will appear in the Target window in the upper left of your screen. You can also use the Tab key to cycle through nearby targets or the F8 key to select your closest enemy.")
  225. end
  226. function dlg_19_24(NPC, Spawn)
  227. FaceTarget(NPC, Spawn)
  228. conversation = CreateConversation()
  229. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  230. AddConversationOption(conversation, "So I can fight anyone or anything I want?", "dlg_19_25")
  231. StartConversation(conversation, NPC, Spawn, "If you're close enough to your foe and want to start hitting it with your weapon, either click your Melee Attack button on your hotbar or press the ~ key. Or you can begin by using one of your spells or combat arts to get the enemy's attention. Remember, you must be close enough to actually hit them.")
  232. end
  233. function dlg_19_25(NPC, Spawn)
  234. FaceTarget(NPC, Spawn)
  235. conversation = CreateConversation()
  236. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  237. AddConversationOption(conversation, "Tell me about melee combat.", "dlg_19_26")
  238. AddConversationOption(conversation, "Tell me about ranged combat.")
  239. AddConversationOption(conversation, "What kind of rewards can I earn in battle?")
  240. AddConversationOption(conversation, "Teach me more advanced aspects of combat.")
  241. AddConversationOption(conversation, "I'll come back later.")
  242. StartConversation(conversation, NPC, Spawn, "You can fight most non-player characters and creatures that you find outside your city, whether outdoors or in dungeons. Many non-player characters in the cities are there to help you or give quests, so you can't attack some of them. If you try, you'll get a message telling you that they aren't valid targets.")
  243. end