TishTickers.lua 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. --[[
  2. Script Name : SpawnScripts/ThunderingSteppes/TishTickers.lua
  3. Script Author : Jabantiz
  4. Script Date : 2014.07.08 07:07:37
  5. Script Purpose : Tish Tickers (2490042)
  6. :
  7. --]]
  8. -- Quests
  9. local WatchYourStepInTheTSPartII = 100
  10. local ScryingShame = 105
  11. local TheGnollCave = 106
  12. local StopTheElementals = 107
  13. -- Items
  14. local AnAncientSilverCoin = 3513
  15. function spawn(NPC)
  16. ProvidesQuest(NPC, TheGnollCave)
  17. end
  18. function respawn(NPC)
  19. spawn(NPC)
  20. end
  21. function hailed(NPC, Spawn)
  22. FaceTarget(NPC, Spawn)
  23. conversation = CreateConversation()
  24. -- on watch your step part II
  25. if HasQuest(Spawn, WatchYourStepInTheTSPartII) and GetQuestStep(Spawn, WatchYourStepInTheTSPartII) == 1 then
  26. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1025.mp3", "", "", 0, 0, Spawn)
  27. AddConversationOption(conversation, "I have a letter for you.", "dlg_0_1")
  28. AddConversationOption(conversation, "I have to go now.")
  29. StartConversation(conversation, NPC, Spawn, "Would you people leave me alone?! I don't have your money! Oh, umm. Haha... Sorry about that, I thought you were someone else.")
  30. elseif HasQuest(Spawn, ScryingShame) and GetQuestStep(Spawn, ScryingShame) == 1 then
  31. -- on A Scrying Shame
  32. PlayFlavor(NPC, "", "Good luck on the search! Better late than having your legs broken by cold, heartless machines built only to cause you bodily harm, I always say.", "", 1689589577, 4560189, Spawn)
  33. elseif HasQuest(Spawn, ScryingShame) and GetQuestStep(Spawn, ScryingShame) == 2 then
  34. -- turn in A Scrying Shame
  35. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1025.mp3", "", "", 0, 0, Spawn)
  36. AddConversationOption(conversation, "I've found your coins.", "dlg_1_1")
  37. AddConversationOption(conversation, "I'm still searching.")
  38. StartConversation(conversation, NPC, Spawn, "How goes the search? I hope you find those coins soon. I can't stop thinking about those clockworks... Some of them can climb walls and enter windows, you know. And they have spikes all over them. Really sharp ones. ")
  39. elseif HasCompletedQuest(Spawn, ScryingShame) and not HasQuest(Spawn, TheGnollCave) and not HasCompletedQuest(Spawn, TheGnollCave) then
  40. -- start The Gnoll Cave (completed A Scrying Shame)
  41. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1025.mp3", "", "", 0, 0, Spawn)
  42. AddConversationOption(conversation, "What is wrong with the gnolls?", "dlg_2_1")
  43. AddConversationOption(conversation, "I must be going now.")
  44. StartConversation(conversation, NPC, Spawn, "Hmm, I wonder if I can get another loan. I think if I reinforce my wagon frames and add spikes to the roof I can avoid any misplaced giant feet interrupting my studies. Now what to do about the gnolls? Oh, hello again!")
  45. elseif HasQuest(Spawn, TheGnollCave) and GetQuestStep(Spawn, TheGnollCave) ~= 4 then
  46. -- On The Gnoll Cave
  47. PlayFlavor(NPC, "", "Let me know as soon as you get those items for me. We need to hurry if we're going to get my equipment back before the gnolls do something horrible with it.", "", 1689589577, 4560189, Spawn)
  48. elseif HasQuest(Spawn, TheGnollCave) and GetQuestStep(Spawn, TheGnollCave) == 4 then
  49. -- turn in The Gnoll Cave?
  50. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1025.mp3", "", "", 0, 0, Spawn)
  51. AddConversationOption(conversation, "Yes, I have found all of your components.", "dlg_3_1")
  52. AddConversationOption(conversation, "I will return soon.")
  53. StartConversation(conversation, NPC, Spawn, "Have you found everything yet?")
  54. elseif not HasCompletedQuest(Spawn, StopTheElementals) and (not HasQuest(Spawn, StopTheElementals) or GetQuestStep(Spawn, StopTheElementals) == 1) then
  55. -- Haven't started or haven't finished Stop the Elementals
  56. PlayFlavor(NPC, "", "Good luck with those gnolls. Their cave should be hidden among the rocks on the hill to the south.", "", 0, 0, Spawn)
  57. elseif GetQuestStep(Spawn, StopTheElementals) == 2 then
  58. -- turn in Stop the Elementals
  59. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1025.mp3", "", "", 0, 0, Spawn)
  60. AddConversationOption(conversation, "I have recovered your research equipment.", "dlg_4_1")
  61. AddConversationOption(conversation, "I'm sorry to have disturbed you. Have a nice day.")
  62. StartConversation(conversation, NPC, Spawn, "I hope those gnolls haven't misused my equipment. There's no end to the trouble they could cause with it.")
  63. elseif HasCompletedQuest(Spawn, StopTheElementals) then
  64. -- finished Stop the Elementals
  65. PlayFlavor(NPC, "", "Thank you so much for all of your help! It was kind of ironic that the gnolls had to let those elementals out of my camping stove. They could have caused a lot of trouble if they had tinkered with my research equipment.", "", 1689589577, 4560189, Spawn)
  66. end
  67. end
  68. function dlg_0_1(NPC, Spawn)
  69. FaceTarget(NPC, Spawn)
  70. conversation = CreateConversation()
  71. AddConversationOption(conversation, "Pardon me, but who is this you're not afraid of?", "dlg_0_2")
  72. AddConversationOption(conversation, "I'm not getting involved.")
  73. StartConversation(conversation, NPC, Spawn, "A letter, you say? I... well I guess you'd better hand it over. Hmm. Why won't they leave me alone? I've already told them I'll have the coins for them next week! Now they've resorted to petty threats. I'm not afraid of them! ...really. Well, I'm not.")
  74. end
  75. function dlg_0_2(NPC, Spawn)
  76. FaceTarget(NPC, Spawn)
  77. conversation = CreateConversation()
  78. AddConversationOption(conversation, "So what happens if you don't pay?", "dlg_0_3")
  79. AddConversationOption(conversation, "I'm too busy to listen to this.")
  80. StartConversation(conversation, NPC, Spawn, "The Clockwork Collection Agency. I took out a loan to fund some of my studies. Things haven't gone quite as well as I'd hoped though. Gnolls keep stealing my equipment, the beastly little savages, and a giant stepped on one of my wagons! There wasn't even enough left to salvage and sell off as scrap. Now I don't have any results and I've spent the entire loan. I don't know how I'm going to pay them back and they're getting rather insistent.")
  81. end
  82. function dlg_0_3(NPC, Spawn)
  83. FaceTarget(NPC, Spawn)
  84. conversation = CreateConversation()
  85. AddConversationOption(conversation, "Don't clockworks just do helpful things? Like cleaning?", "dlg_0_4")
  86. AddConversationOption(conversation, "I've had enough of this.")
  87. StartConversation(conversation, NPC, Spawn, "If you don't pay they send their collection clockworks after you. I hear the process isn't pleasant. Not at all.")
  88. end
  89. function dlg_0_4(NPC, Spawn)
  90. FaceTarget(NPC, Spawn)
  91. conversation = CreateConversation()
  92. AddConversationOption(conversation, "What do you need?", "dlg_0_5")
  93. AddConversationOption(conversation, "I don't think I like where this is going.")
  94. StartConversation(conversation, NPC, Spawn, "These ones aren't the cooking and cleaning type. These are the other ones. Their only purpose is to make sure you have no intention of being late with your next payment and they're very good at it. Look, I'd really rather not talk about it. It looks like the only way I'm going to be able to pay them back now is if I take a few chances. Would you be willing to help me out?")
  95. end
  96. function dlg_0_5(NPC, Spawn)
  97. FaceTarget(NPC, Spawn)
  98. conversation = CreateConversation()
  99. AddConversationOption(conversation, "What are scrying stones?", "dlg_0_7")
  100. AddConversationOption(conversation, "I use them all the time, what do you need me to do?", "dlg_0_6")
  101. AddConversationOption(conversation, "Oh no, I'm not doing any gambling for you.")
  102. StartConversation(conversation, NPC, Spawn, "I need to pay them five ancient silver coins to pay off my debt. The only way I know of to get them on such short notice would be to do a bit of gambling. Do you know how to use scrying stones?")
  103. end
  104. function dlg_0_6(NPC, Spawn)
  105. FaceTarget(NPC, Spawn)
  106. conversation = CreateConversation()
  107. AddConversationOption(conversation, "Yes, I will help you.", "OfferScryingShame")
  108. AddConversationOption(conversation, "No, I don't like the sound of this.")
  109. StartConversation(conversation, NPC, Spawn, "Since you already know the process, I'll just get to the point. Are you willing to go use some scrying stones for me and help me collect enough ancient silver coins to pay back my debt?")
  110. end
  111. function dlg_0_7(NPC, Spawn)
  112. FaceTarget(NPC, Spawn)
  113. conversation = CreateConversation()
  114. AddConversationOption(conversation, "Okay.", "dlg_0_8")
  115. AddConversationOption(conversation, "I think you're on your own.")
  116. StartConversation(conversation, NPC, Spawn, "Sometimes when you're traveling you'll see strange rainbow lights shimmering in the air. I'm not sure what causes them, but they're very pretty. They seem to have some link to treasure lost in the area. We're not sure what that link is, but we have found a way to use it to our advantage. This requires a scrying stone.")
  117. end
  118. function dlg_0_8(NPC, Spawn)
  119. FaceTarget(NPC, Spawn)
  120. conversation = CreateConversation()
  121. AddConversationOption(conversation, "What sort of things?", "dlg_0_9")
  122. AddConversationOption(conversation, "I've had enough of this.")
  123. StartConversation(conversation, NPC, Spawn, "If you use a scrying stone while standing in the lights, something very strange happens. I don't know how, but sometimes the stone will help you find whatever treasure has been lost there. The stone is destroyed in the process of course and sometimes you don't find anything at all, but sometimes you find strange and wonderful things.")
  124. end
  125. function dlg_0_9(NPC, Spawn)
  126. FaceTarget(NPC, Spawn)
  127. conversation = CreateConversation()
  128. AddConversationOption(conversation, "What kind of dangers are we talking about here?", "dlg_0_10")
  129. AddConversationOption(conversation, "No, I don't like the sound of this.")
  130. StartConversation(conversation, NPC, Spawn, "I'm not sure, really. I've never found anything, myself. I have horrible luck. A friend of mine says he found an incredible enchanted ring that tickles you mercilessly when you put it on. He thinks it was once used as some sort of torture device. Oh, I should probably warn you, scrying does have its... dangers.")
  131. end
  132. function dlg_0_10(NPC, Spawn)
  133. FaceTarget(NPC, Spawn)
  134. conversation = CreateConversation()
  135. AddConversationOption(conversation, "I guess so.", "OfferScryingShame")
  136. AddConversationOption(conversation, "No thanks.")
  137. StartConversation(conversation, NPC, Spawn, "Oh, the usual. Horrible beasts clawing their way up from the ground to devour you whole. Depending on your luck, you might spend more time running away screaming than you do searching. There's no shame in running. It's definitely healthier than the alternatives. If you get lucky though, you can find a lot of ancient silver coins, which is exactly what I need to pay off my loan. Five of them. Will you help me?")
  138. end
  139. function OfferScryingShame(NPC, Spawn)
  140. OfferQuest(NPC, Spawn, ScryingShame)
  141. end
  142. function dlg_1_1(NPC, Spawn)
  143. FaceTarget(NPC, Spawn)
  144. conversation = CreateConversation()
  145. AddConversationOption(conversation, "Okay.")
  146. StartConversation(conversation, NPC, Spawn, "Wonderful! You're a life saver! I wish I could give you a more fitting reward, but I'm in quite a bit of debt. Thank you so much! Here, I've packaged those coins with a return letter. Please deliver this to Jacques for me.")
  147. SetStepComplete(Spawn, ScryingShame, 2)
  148. SetStepComplete(Spawn, WatchYourStepInTheTSPartII, 2)
  149. end
  150. function dlg_2_1(NPC, Spawn)
  151. FaceTarget(NPC, Spawn)
  152. conversation = CreateConversation()
  153. AddConversationOption(conversation, "I suppose I could help you again.", "OfferGnollCave")
  154. AddConversationOption(conversation, "I don't have time right now.")
  155. StartConversation(conversation, NPC, Spawn, "The gnolls stole some very valuable magical equipment from me and I need it back if I'm going to resume my research. Not to mention the fact that it could be very, very dangerous if misused. I don't suppose you'd be willing to help me recover it, would you?")
  156. end
  157. function OfferGnollCave(NPC, Spawn)
  158. OfferQuest(NPC, Spawn, TheGnollCave)
  159. end
  160. function dlg_3_1(NPC, Spawn)
  161. FaceTarget(NPC, Spawn)
  162. conversation = CreateConversation()
  163. AddConversationOption(conversation, "I'll be careful.")
  164. StartConversation(conversation, NPC, Spawn, "Well done! Now you should be able to enter the gnoll cave on the hill to the south of this tower. You'll have to search around among the large stone pillars up there. The entrance is hidden in one of the pillars. Be careful going in there. Some of the things they stole were very...volatile. There's no telling what they might do with it.")
  165. SetStepComplete(Spawn, TheGnollCave, 4)
  166. end
  167. function dlg_4_1(NPC, Spawn)
  168. FaceTarget(NPC, Spawn)
  169. conversation = CreateConversation()
  170. AddConversationOption(conversation, "Okay.")
  171. StartConversation(conversation, NPC, Spawn, "Thank you so much! I was starting to think I would never get this back. You've helped me more than I could have possibly hoped for. Here, take this reward. It's the least I can do.")
  172. SetStepComplete(Spawn, StopTheElementals, 2)
  173. end