NinoinDsyl.lua 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. --[[
  2. Script Name : NinoinDsyl.lua
  3. Script Purpose : Ninoin D'syl
  4. Script Author : jakejp
  5. Script Date : 06/22/2018
  6. Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner
  7. --]]
  8. -- Quest ID's
  9. local TEIRDALTIMBER = 352
  10. local FLETCHMEMORE = 353
  11. local STRAIGHTANDTOTHEPOINT = 354
  12. function spawn(NPC)
  13. ProvidesQuest(NPC, TEIRDALTIMBER)
  14. ProvidesQuest(NPC, FLETCHMEMORE)
  15. ProvidesQuest(NPC, STRAIGHTANDTOTHEPOINT)
  16. end
  17. function respawn(NPC)
  18. spawn(NPC)
  19. end
  20. function hailed(NPC, Spawn)
  21. FaceTarget(NPC, Spawn)
  22. local con = CreateConversation()
  23. if CanReceiveQuest(Spawn, TEIRDALTIMBER) then
  24. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn)
  25. AddConversationOption(con, "What's this about arrows?", "dlg_2")
  26. AddConversationOption(con, "A wise man once told me never to speak with the Teir'Dal when they are angry. Good day, ma'am.")
  27. StartConversation(con, NPC, Spawn, "Curse these warped arrows! How do they expect us to hit our enemies if our arrows are curved rounder than a halfling's belly?!")
  28. elseif HasQuest(Spawn, TEIRDALTIMBER) and GetQuestStep(Spawn, TEIRDALTIMBER) == 1 then
  29. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn)
  30. Say(NPC, "Do not return until you have an ample supply of timber. There should be plenty laying around here. If you lack the skill to gather lumber here, harvest lumber in the Great Faydark forest until you have the skill to gather timber here.", Spawn)
  31. elseif HasQuest(Spawn, TEIRDALTIMBER) and GetQuestStep(Spawn, TEIRDALTIMBER) == 2 then
  32. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn)
  33. SetStepComplete(Spawn, TEIRDALTIMBER, 2)
  34. AddConversationOption(con, "Who said anything about feathers?", "dlg_9")
  35. StartConversation(con, NPC, Spawn, "Well, well. That's quite a pile of lumber you have there. Good work. I can begin making the arrow shafts at once. Now, give me the feathers.")
  36. elseif CanReceiveQuest(Spawn, FLETCHMEMORE) then
  37. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn)
  38. AddConversationOption(con, "Who said anything about feathers?", "dlg_9")
  39. StartConversation(con, NPC, Spawn, "Well, well. That's quite a pile of lumber you have there. Good work. I can begin making the arrow shafts at once. Now, give me the feathers.")
  40. elseif HasQuest(Spawn, FLETCHMEMORE) and GetQuestStep(Spawn, FLETCHMEMORE) == 1 then
  41. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn)
  42. Say(NPC, "Hmm, now what is it you don't have for me? Oh, that's right. Feathers! Go, and don't come back until you have a decent amount.", Spawn)
  43. elseif HasQuest(Spawn, FLETCHMEMORE) and GetQuestStep(Spawn, FLETCHMEMORE) == 2 then
  44. SetStepComplete(Spawn, FLETCHMEMORE, 2)
  45. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn)
  46. AddConversationOption(con, "You can't use the arrowheads from the old arrows?", "dlg_13")
  47. StartConversation(con, NPC, Spawn, "Yes... These will do nicely. Excellent work. I have nearly completed whittling the shafts from the timber you brought, and with these feathers I can attach the fletching. That only leaves the arrowheads to deal with now.")
  48. elseif CanReceiveQuest(Spawn, STRAIGHTANDTOTHEPOINT) then
  49. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn)
  50. AddConversationOption(con, "You can't use the arrowheads from the old arrows?", "dlg_13")
  51. StartConversation(con, NPC, Spawn, "Yes... These will do nicely. Excellent work. I have nearly completed whittling the shafts from the timber you brought, and with these feathers I can attach the fletching. That only leaves the arrowheads to deal with now.")
  52. elseif HasQuest(Spawn, STRAIGHTANDTOTHEPOINT) and GetQuestStep(Spawn, STRAIGHTANDTOTHEPOINT) == 1 then
  53. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn)
  54. Say(NPC, "What, did one of those brutes smack you so hard you forgot what you are doing? Leave and do not return until you have gathered an arsenal's worth of stone weapons.", Spawn)
  55. elseif HasQuest(Spawn, STRAIGHTANDTOTHEPOINT) and GetQuestStep(Spawn, STRAIGHTANDTOTHEPOINT) == 2 then
  56. SetStepComplete(Spawn, STRAIGHTANDTOTHEPOINT, 2)
  57. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn)
  58. AddConversationOption(con, "What?! After all that I've done for you?", "dlg_17")
  59. StartConversation(con, NPC, Spawn, "Well done! These will do nicely. Now, as a token of my appreciation I will refrain from slaying you. You may leave now.")
  60. elseif HasCompletedQuest(Spawn, STRAIGHTANDTOTHEPOINT) then
  61. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn)
  62. Say(NPC, "You're still alive? Pity.", Spawn)
  63. end
  64. end
  65. function dlg_2(NPC, Spawn)
  66. FaceTarget(NPC, Spawn)
  67. local con = CreateConversation()
  68. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  69. AddConversationOption(con, "Perhaps I could be of service. Could I help?", "dlg_3")
  70. StartConversation(con, NPC, Spawn, "These arrows! I just received a shipment of them from... Well, that's not important for you to know. The point is, they are ruined! All of them water-logged and warped. I have no choice but to find new ones.")
  71. end
  72. function dlg_3(NPC, Spawn)
  73. FaceTarget(NPC, Spawn)
  74. local con = CreateConversation()
  75. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  76. AddConversationOption(con, "Uh...", "dlg_4")
  77. StartConversation(con, NPC, Spawn, "Hmm, yes that would be excellent. First I need you to find a master fletcher. When you do, beat him to submission until he agrees to follow your every command. Slaughter a family member or two if necessary. Just make sure he can follow orders and that his hands remain in working order.")
  78. end
  79. function dlg_4(NPC, Spawn)
  80. FaceTarget(NPC, Spawn)
  81. local con = CreateConversation()
  82. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  83. AddConversationOption(con, "I don't have the time to go find a master fletcher, much less beat him up.", "dlg_5")
  84. AddConversationOption(con, "Perhaps we could find a solution that does not involve as much violence.", "dlg_5")
  85. StartConversation(con, NPC, Spawn, "Pretty standard, really. What? Oh, is that too drastic for you?")
  86. end
  87. function dlg_5(NPC, Spawn)
  88. FaceTarget(NPC, Spawn)
  89. local con = CreateConversation()
  90. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  91. AddConversationOption(con, "Why don't I collect the items you need to make new arrows?", "OfferQuest1")
  92. AddConversationOption(con, "Forget it. I'm not interested.")
  93. StartConversation(con, NPC, Spawn, "Well, what do you suggest?")
  94. end
  95. function OfferQuest1(NPC, Spawn)
  96. OfferQuest(NPC, Spawn, TEIRDALTIMBER)
  97. --[[ Move the following conversation to the Accepted function of the quest script
  98. FaceTarget(NPC, Spawn)
  99. local con = CreateConversation()
  100. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  101. AddConversationOption(con, "Right away!")
  102. AddConversationOption(con, "What's in it for me?", "dlg_7")
  103. StartConversation(con, NPC, Spawn, "Hmm, I suppose that would work. Though I do like the idea of beating someone into submission... Anyways, I need fresh cut timber to whittle down into arrow shafts. Bring me a substantial pile of timber from the trees around here.")
  104. --]]
  105. end
  106. function dlg_7(NPC, Spawn)
  107. FaceTarget(NPC, Spawn)
  108. local con = CreateConversation()
  109. AddConversationOption(con, "Perfect.")
  110. StartConversation(con, NPC, Spawn, "Fear not, young one. I will pay you for your time.")
  111. end
  112. function dlg_9(NPC, Spawn)
  113. FaceTarget(NPC, Spawn)
  114. local con = CreateConversation()
  115. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  116. AddConversationOption(con, "I know that, you didn't mention you wanted me to get you feathers though.", "dlg_10")
  117. StartConversation(con, NPC, Spawn, "You can't make arrows without suitable fletching!")
  118. end
  119. function dlg_10(NPC, Spawn)
  120. FaceTarget(NPC, Spawn)
  121. local con = CreateConversation()
  122. AddConversationOption(con, "I could bring back feathers from the aviaks that make their home here.", "OfferQuest2")
  123. AddConversationOption(con, "Nope. Forget it. I'm done working for you.")
  124. StartConversation(con, NPC, Spawn, "Well, it seemed plain obvious to me. Sheesh. Now, I've tried using the feathers from the hawks here, but they're too... dainty. I need feathers from a larger, more... sturdy beast.")
  125. end
  126. function OfferQuest2(NPC, Spawn)
  127. OfferQuest(NPC, Spawn, FLETCHMEMORE)
  128. --[[ Move the following conversation to the Accepted function of the quest script
  129. FaceTarget(NPC, Spawn)
  130. local con = CreateConversation()
  131. AddConversationOption(con, "It will be done in due course.")
  132. StartConversation(con, NPC, Spawn, "Yes, Kragploom should work quite well. Bring me several feathers from any type of Kragploom you're able to hunt down. Their plumage would be best to make my arrows from.")
  133. --]]
  134. end
  135. function dlg_13(NPC, Spawn)
  136. FaceTarget(NPC, Spawn)
  137. local con = CreateConversation()
  138. AddConversationOption(con, "Where might I find material like that?", "OfferQuest3")
  139. AddConversationOption(con, "Sigh, not again. You'll have to find it without me.")
  140. StartConversation(con, NPC, Spawn, "I'm afraid not. Those arrowheads were all rusted and brittle. I can't go slaying people with shoddy arrowheads now can I? Of course not! I need you to procure some sharpened stone which I can use as a substitute.")
  141. end
  142. function OfferQuest3(NPC, Spawn)
  143. OfferQuest(NPC, Spawn, STRAIGHTANDTOTHEPOINT)
  144. --[[ Move the following conversation to the Accepted function of the quest script
  145. FaceTarget(NPC, Spawn)
  146. local con = CreateConversation()
  147. AddConversationOption(con, "I take my leave.")
  148. AddConversationOption(con, "Where are they located?", "dlg_15")
  149. StartConversation(con, NPC, Spawn, "I've seen lumbering brutes patrolling the Northern reaches of these mountains. Bugbears, I believe they are called. They carry massive weapons made of flint or obsidian. Bring me back a pile of those weapons. I should be able to craft some new arrowheads out of them.")
  150. --]]
  151. end
  152. function dlg_15(NPC, Spawn)
  153. FaceTarget(NPC, Spawn)
  154. local con = CreateConversation()
  155. AddConversationOption(con, "I'm going. I'm going!")
  156. StartConversation(con, NPC, Spawn, "As I said, in the Northern parts of these mountains. Travel North from the Highlands and look for a natural ramp that stretches Northeast. The brutes have established a formidable camp there. Now go! ")
  157. end
  158. function dlg_17(NPC, Spawn)
  159. FaceTarget(NPC, Spawn)
  160. local con = CreateConversation()
  161. PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
  162. AddConversationOption(con, "That's more like it!")
  163. StartConversation(con, NPC, Spawn, "Fine! You see, this is why I insist on working with only those who are easily subjugated and mute. Soooooo fewer incidents like this. Here, take this. I suppose you've earned it.")
  164. end