TrainerThorirWolfskinner.lua 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. --[[
  2. Script Name : SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua
  3. Script Purpose : Trainer Thorir Wolfskinner <Know Your Enemy>
  4. Script Author : theFoof
  5. Script Date : 2013.05.17
  6. Script Notes :
  7. --]]
  8. function spawn(NPC)
  9. SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
  10. end
  11. function respawn(NPC)
  12. spawn(NPC)
  13. end
  14. function InRange(NPC, Spawn)
  15. end
  16. function LeaveRange(NPC, Spawn)
  17. end
  18. function hailed(NPC, Spawn)
  19. FaceTarget(NPC, Spawn)
  20. conversation = CreateConversation()
  21. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1060.mp3", "", "", 0, 0, Spawn)
  22. AddConversationOption(conversation, "How do I judge my opponent?", "dlg_1_2")
  23. AddConversationOption(conversation, "I'll return later.")
  24. StartConversation(conversation, NPC, Spawn, "Greetings. I sense that you will fight many battles and that you will one day be known as a great hero. But remember, we all have to start somewhere. The first thing you need to know to be successful in combat is how to size up your adversary.")
  25. end
  26. function dlg_1_2(NPC, Spawn)
  27. FaceTarget(NPC, Spawn)
  28. conversation = CreateConversation()
  29. FaceTarget(NPC, Spawn)
  30. conversation = CreateConversation()
  31. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  32. AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_1_3")
  33. StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes alike in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.")
  34. end
  35. function dlg_1_3(NPC, Spawn)
  36. FaceTarget(NPC, Spawn)
  37. conversation = CreateConversation()
  38. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  39. AddConversationOption(conversation, "How do I target an opponent?", "dlg_1_4")
  40. AddConversationOption(conversation, "I will be back later.")
  41. StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.")
  42. end
  43. function dlg_1_4(NPC, Spawn)
  44. FaceTarget(NPC, Spawn)
  45. conversation = CreateConversation()
  46. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  47. AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_1_5")
  48. AddConversationOption(conversation, "I will be back later.")
  49. StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.")
  50. end
  51. function dlg_1_5(NPC, Spawn)
  52. FaceTarget(NPC, Spawn)
  53. conversation = CreateConversation()
  54. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  55. AddConversationOption(conversation, "What does the Target window tell me?", "dlg_1_6")
  56. StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.")
  57. end
  58. function dlg_1_6(NPC, Spawn)
  59. FaceTarget(NPC, Spawn)
  60. conversation = CreateConversation()
  61. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  62. AddConversationOption(conversation, "What does the level indicate?", "dlg_1_7")
  63. AddConversationOption(conversation, "I will be back later.")
  64. StartConversation(conversation, NPC, Spawn, "The Target window tells you several important facts, which collectively form what is referred to as the 'con' (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.")
  65. end
  66. function dlg_1_7(NPC, Spawn)
  67. FaceTarget(NPC, Spawn)
  68. conversation = CreateConversation()
  69. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  70. AddConversationOption(conversation, "How does my opponent's level affect my rewards for victory?", "dlg_1_8")
  71. AddConversationOption(conversation, "I will be back later.")
  72. StartConversation(conversation, NPC, Spawn, "As you adventure through Norrath, you will gain experience and increase your level. The opponents you will face in combat have levels as well. To be victorious, you will usually want to face foes that are close to your level.")
  73. end
  74. function dlg_1_8(NPC, Spawn)
  75. FaceTarget(NPC, Spawn)
  76. conversation = CreateConversation()
  77. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  78. AddConversationOption(conversation, "What does the color of my opponent's name tell me?", "dlg_1_9")
  79. AddConversationOption(conversation, "I will be back later.")
  80. StartConversation(conversation, NPC, Spawn, "You gain more experience by defeating higher-level opponents, but they will also be tougher to beat. Conversely, if you defeat foes much lower than your level, they will not be nearly as rewarding.")
  81. end
  82. function dlg_1_9(NPC, Spawn)
  83. FaceTarget(NPC, Spawn)
  84. conversation = CreateConversation()
  85. AddConversationOption(conversation, "What are the colors?", "dlg_1_10")
  86. StartConversation(conversation, NPC, Spawn, "The color of your opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should be fighting a target. The more danger it's color indicates, the greater the threat it represents.")
  87. end
  88. function dlg_1_10(NPC, Spawn)
  89. FaceTarget(NPC, Spawn)
  90. conversation = CreateConversation()
  91. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  92. AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_1_11")
  93. AddConversationOption(conversation, "I will be back later.")
  94. StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.")
  95. end
  96. function dlg_1_11(NPC, Spawn)
  97. FaceTarget(NPC, Spawn)
  98. conversation = CreateConversation()
  99. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  100. AddConversationOption(conversation, "What do down arrows tell me?", "dlg_1_12")
  101. AddConversationOption(conversation, "I will be back later.")
  102. StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.")
  103. end
  104. function dlg_1_12(NPC, Spawn)
  105. FaceTarget(NPC, Spawn)
  106. conversation = CreateConversation()
  107. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  108. AddConversationOption(conversation, "What do up arrows mean?", "dlg_1_13")
  109. AddConversationOption(conversation, "I will be back later.")
  110. StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows means it is very weak. Be careful though, because if multiple weak opponents are working together they can still represent quite a challenge.")
  111. end
  112. function dlg_1_13(NPC, Spawn)
  113. FaceTarget(NPC, Spawn)
  114. conversation = CreateConversation()
  115. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  116. AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_1_14")
  117. AddConversationOption(conversation, "I will finish this lesson later.")
  118. StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.")
  119. end
  120. function dlg_1_14(NPC, Spawn)
  121. FaceTarget(NPC, Spawn)
  122. conversation = CreateConversation()
  123. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  124. AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_1_15")
  125. AddConversationOption(conversation, "I will finish this lesson later.")
  126. StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.")
  127. end
  128. function dlg_1_15(NPC, Spawn)
  129. FaceTarget(NPC, Spawn)
  130. conversation = CreateConversation()
  131. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  132. AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_1_16")
  133. AddConversationOption(conversation, "I will finish this lesson later.")
  134. StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.")
  135. end
  136. function dlg_1_16(NPC, Spawn)
  137. FaceTarget(NPC, Spawn)
  138. conversation = CreateConversation()
  139. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  140. AddConversationOption(conversation, "Thank you, instructor.")
  141. StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you, and apply them to challenges you face throughout your journeys in Norrath.")
  142. end