ZelinaTVon.lua 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. --[[
  2. Script Name : SpawnScripts/LongshadowAlley/ZelinaTVon.lua
  3. Script Purpose : Zelina T`Von
  4. Script Author : torsten
  5. Script Date : 2022.07.18
  6. Script Notes :
  7. --]]
  8. require "SpawnScripts/Generic/DialogModule"
  9. local ASpecialPerfume = 5672
  10. local ForThatSpecialSomeone = 5673
  11. function spawn(NPC)
  12. ProvidesQuest(NPC, ASpecialPerfume)
  13. ProvidesQuest(NPC, ForThatSpecialSomeone)
  14. SetPlayerProximityFunction(NPC, 9, "InRange", "LeaveRange")
  15. SetInfoStructString(NPC, "action_state", "tapfoot")
  16. end
  17. function respawn(NPC)
  18. spawn(NPC)
  19. end
  20. function hailed(NPC, Spawn)
  21. if GetFactionAmount(Spawn,12) <0 then
  22. FaceTarget(NPC, Spawn)
  23. PlayFlavor(NPC, "","","shakefist",0,0, Spawn)
  24. else
  25. if CanReceiveQuest(Spawn, ASpecialPerfume) then
  26. Dialog1(NPC,Spawn)
  27. elseif HasQuest(Spawn, ASpecialPerfume) and GetQuestStep(Spawn,ASpecialPerfume)==1 then
  28. Dialog2(NPC,Spawn)
  29. elseif HasQuest(Spawn, ASpecialPerfume) and GetQuestStep(Spawn,ASpecialPerfume)==2 then
  30. Dialog2a(NPC,Spawn)
  31. elseif CanReceiveQuest(Spawn, ForThatSpecialSomeone) then
  32. Dialog3 (NPC,Spawn)
  33. elseif HasQuest(Spawn, ForThatSpecialSomeone) then
  34. Dialog4 (NPC,Spawn)
  35. else
  36. Dialog1(NPC,Spawn)
  37. end
  38. end
  39. end
  40. function InRange(NPC, Spawn)
  41. if GetFactionAmount(Spawn,12) <0 then
  42. FaceTarget(NPC, Spawn)
  43. PlayFlavor(NPC, "","","threaten",0,0, Spawn)
  44. else
  45. if not HasCompletedQuest(Spawn, ASpecialPerfume) and not HasQuest(Spawn, ASpecialPerfume) then
  46. if MakeRandomInt(0, 100) <= 80 then
  47. FaceTarget(NPC, Spawn)
  48. PlayFlavor(NPC, "", "That no-good, two-timing, imp ... I'll teach him to stare at that trollop! ...What? What do you want, you babbling fool?", "grumble", 0, 0, Spawn, 0)
  49. end
  50. elseif HasCompletedQuest(Spawn, ASpecialPerfume) and not CanReceiveQuest(Spawn, ForThatSpecialSomeone) then
  51. if MakeRandomInt(0, 100) <= 85 then
  52. FaceTarget(NPC, Spawn)
  53. PlayFlavor(NPC, "", "He is impossible! Why wouldn't he just... well, if he won't I'll make sure his eyes never shy away again!... You! Come here and speak with me again. I'll make it worth your while.", "pout", 0, 0, Spawn, 0)
  54. end
  55. end
  56. end
  57. end
  58. function Dialog1(NPC,Spawn)
  59. FaceTarget(NPC, Spawn)
  60. Dialog.New(NPC, Spawn)
  61. PlayFlavor(NPC, "", "", "stare", 0, 0, Spawn)
  62. Dialog.AddDialog("You ... you have nothing to offer me! Be gone!")
  63. Dialog.AddVoiceover("voiceover/english/jezrina/fprt_hood02/20_streetfortuneteller_multhail1_569fa693.mp3", 424612651, 2476002427)
  64. if CanReceiveQuest(Spawn, ASpecialPerfume) then
  65. Dialog.AddOption("You seem preoccupied. Perhaps I can do something for you for a few coins?","Dialog1a")
  66. end
  67. Dialog.AddOption("I didn't want to be here anyway!")
  68. Dialog.Start()
  69. end
  70. function Dialog1a(NPC,Spawn)
  71. FaceTarget(NPC, Spawn)
  72. Dialog.New(NPC, Spawn)
  73. Dialog.AddDialog("Do you always pry into people's business?! Can't you see I'm busy planning my next move against my love?!... UGH! He is obviously seeing someone else... Inexcusable!")
  74. PlayFlavor(NPC, "", "", "grumble", 0, 0, Spawn)
  75. Dialog.AddOption("Look, I want work and you are OBVIOUSLY needing something. Tell me what he did.","Dialog1b")
  76. Dialog.AddOption("With that, I'm done. Good luck with... whatever.")
  77. Dialog.Start()
  78. end
  79. function Dialog1b(NPC,Spawn)
  80. FaceTarget(NPC, Spawn)
  81. Dialog.New(NPC, Spawn)
  82. PlayFlavor(NPC, "", "", "confused", 0, 0, Spawn)
  83. Dialog.AddDialog("He promised he was going to make me dinner that night and I sent him a fine bottle of wine, to which I got a message back saying he was \"battling a horde.\" You and I both know that he was with someone else. You know what I want?")
  84. Dialog.AddOption("Sounds like a lie!... But what does that have to do with me?","Dialog1c")
  85. Dialog.AddOption("Perhaps you're reading too much into it.")
  86. Dialog.Start()
  87. end
  88. function Dialog1c(NPC,Spawn)
  89. FaceTarget(NPC, Spawn)
  90. Dialog.New(NPC, Spawn)
  91. Dialog.AddDialog("I'm trying to make myself more attractive to my mate. Lately, he has his eye on a certain huss ... er ... courtesan. He likes a wine with a sharp head, so I thought I could make a perfume that smells exactly like this wine. Would you be a dear and gather scent glands from some squalid vermin for my perfume?")
  92. if CanReceiveQuest(Spawn, ASpecialPerfume) then
  93. Dialog.AddOption("I won't ask why a scent gland, but I can get one if the price is right.","Offer1")
  94. end
  95. Dialog.AddOption("No ammount of perfume will help you. Sorry.")
  96. Dialog.Start()
  97. end
  98. function Offer1(NPC,Spawn)
  99. OfferQuest(NPC, Spawn, ASpecialPerfume)
  100. end
  101. function Offer2(NPC,Spawn)
  102. OfferQuest(NPC, Spawn, ForThatSpecialSomeone)
  103. end
  104. function Dialog2(NPC,Spawn)
  105. FaceTarget(NPC, Spawn)
  106. Dialog.New(NPC, Spawn)
  107. PlayFlavor(NPC, "", "", "stare", 0, 0, Spawn)
  108. Dialog.AddDialog("I see you don't have the scent glands for my \"perfume.\" What's the problem?")
  109. Dialog.AddOption("I'm still working on it!")
  110. Dialog.Start()
  111. end
  112. function Dialog2a(NPC,Spawn)
  113. FaceTarget(NPC, Spawn)
  114. Dialog.New(NPC, Spawn)
  115. PlayFlavor(NPC, "", "", "stinky", 0, 0, Spawn)
  116. Dialog.AddDialog("That scent... You have it! Give the gland now before it loses anymore potency!")
  117. Dialog.AddOption("Please do. They are plenty potent.","Dialog2b")
  118. Dialog.Start()
  119. end
  120. function Dialog2b(NPC,Spawn)
  121. SetStepComplete(Spawn, ASpecialPerfume, 2)
  122. FaceTarget(NPC, Spawn)
  123. Dialog.New(NPC, Spawn)
  124. PlayFlavor(NPC, "", "", "happy", 0, 0, Spawn)
  125. Dialog.AddDialog("Let me have them. Yes, indeed ... he'll never know the difference. These are perfect! Now, I need to distill the slow-acting toxins from the rest of the juices -- so it's not harmful, of course. Thank you so much, my dear friend. Here are the coins I promised you earlier. Now leave me as I concoct this ... perfume.")
  126. Dialog.AddOption("We'll see about that, Zelina.")
  127. Dialog.Start()
  128. end
  129. function Dialog3(NPC,Spawn)
  130. FaceTarget(NPC, Spawn)
  131. Dialog.New(NPC, Spawn)
  132. PlayFlavor(NPC, "", "", "ponder", 0, 0, Spawn)
  133. Dialog.AddDialog("I'll never understand why a lover's eyes can wander. Imagine how effective removing them would be?")
  134. if CanReceiveQuest(Spawn,ForThatSpecialSomeone) then
  135. Dialog.AddOption("Did the perfume work like you expected?","Dialog3a")
  136. end
  137. Dialog.AddOption("I prefer eyes staying attached, thank you...")
  138. Dialog.Start()
  139. end
  140. function Dialog3a(NPC,Spawn)
  141. FaceTarget(NPC, Spawn)
  142. Dialog.New(NPC, Spawn)
  143. PlayFlavor(NPC, "", "", "confused", 0, 0, Spawn)
  144. Dialog.AddDialog("I - uh - used it, but he hasn't - uh - noticed it yet. I want to give him a bottle of wine, so he thinks of me when he smells the perfume. Perhaps you'll help me again?")
  145. Dialog.AddOption("Perhaps, what are you talking about?","Offer2")
  146. Dialog.AddOption("Oh, no. I've had enough from you.")
  147. Dialog.Start()
  148. end
  149. function Dialog4(NPC,Spawn)
  150. FaceTarget(NPC, Spawn)
  151. Dialog.New(NPC, Spawn)
  152. PlayFlavor(NPC, "", "", "scheme", 0, 0, Spawn)
  153. Dialog.AddDialog("And? Has he taken my gift? Have you done it yet?")
  154. if GetQuestStep(Spawn,ForThatSpecialSomeone) ==2 then
  155. Dialog.AddOption("Your husband liked it and will thank you later tonight.","Dialog4a")
  156. else
  157. Dialog.AddOption("...Not yet. Soon.")
  158. end
  159. Dialog.Start()
  160. end
  161. function Dialog4a(NPC,Spawn)
  162. FaceTarget(NPC, Spawn)
  163. Dialog.New(NPC, Spawn)
  164. PlayFlavor(NPC, "", "", "cackle", 0, 0, Spawn)
  165. Dialog.AddDialog("My husband? He's not my husband! That poisoned wine will show him what happens when he takes another mistress! I'll enjoy hearing his hacking coughs as the toxin slowly eats away his internal organs. Hahahahaha...")
  166. Dialog.AddOption("You gave him poisoned wine?!?","Dialog4b")
  167. Dialog.Start()
  168. end
  169. function Dialog4b(NPC,Spawn)
  170. SetStepComplete(Spawn, ForThatSpecialSomeone, 2)
  171. FaceTarget(NPC, Spawn)
  172. Dialog.New(NPC, Spawn)
  173. PlayFlavor(NPC, "", "", "chuckle", 0, 0, Spawn)
  174. Dialog.AddDialog("Well, of course! One must learn that I am not to be trifled with. Show me that sort of disrespect and you're body parts might just start falling off. A price to pay for loyalty, wouldn't you say? Speaking of price, here - I've got some wine from other suitors that are most likley safe. Please, take them. I insist.")
  175. Dialog.AddOption("Thank you... I'll be sure to stay out of your way from now on.")
  176. Dialog.Start()
  177. end
  178. --I'm trying to make myself more attractive to my mate. Lately, he has his eye on a certain huss ... er ... courtesan. He likes a wine with a sharp head, so I thought I could make a perfume that smells exactly like this wine. Would you be a dear and gather scent glands from some squalid vermin for my perfume?
  179. --We'll see about that, Zelina.
  180. --Let me have them. Yes, indeed ... he'll never know the difference. These are perfect! Now, I need to distill the slow-acting toxins from the rest of the juices -- so it's not harmful, of course. Thank you so much, my dear friend. Here are the coins I promised you earlier. Now leave me as I concoct this ... perfume.
  181. --Did the perfume work like you expected?
  182. --I see you don't have the scent glands for my "perfume." What's the problem?
  183. --I - uh - used it, but he hasn't - uh - noticed it yet. I want to give him a bottle of wine, so he thinks of me when he smells the perfume. Perhaps you'll help me again?
  184. --He promised he was going to make me dinner that night and I sent him a fine bottle of wine, to which I got a message back saying he was "battling a horde." You and I both know that he was with someone else. You know what I want?
  185. --My partner is the banker for this horrid district, so you should find him at the bank--unless he's with that tram ... trainee, I mean. Give him this wine, and tell him I hope he enjoys it. When you return, I'll give you some coin.
  186. --Your husband liked it and will thank you later tonight.
  187. --My husband? He's not my husband! That poisoned wine will show him what happens when he takes another mistress! I'll enjoy hearing his hacking coughs as the toxin slowly eats away his internal organs. Hahahahaha...
  188. --You gave him poisoned wine?!?