ScribeFriziFigglesnip.lua 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. --[[
  2. Script Name : SpawnScripts/TempleSt/ScribeFriziFigglesnip.lua
  3. Script Author : Dorbin
  4. Script Date : 2023.11.07 04:11:22
  5. Script Purpose :
  6. :
  7. --]]
  8. --Didn't you hear what I said? Sorry. I thought you were asking something else. Some loathsome, unkempt fiends called Guttersnipes accosted me.
  9. require "SpawnScripts/Generic/DialogModule"
  10. local Books = 5922
  11. local Ingredients = 5923
  12. function spawn(NPC)
  13. ProvidesQuest(NPC, Books)
  14. ProvidesQuest(NPC, Ingredients)
  15. SetInfoStructString(NPC, "action_state", "ponder")
  16. end
  17. function hailed(NPC, Spawn)
  18. if GetFactionAmount(Spawn,12) <0 then
  19. FaceTarget(NPC, Spawn)
  20. PlayFlavor(NPC, "","","shakefist",0,0, Spawn)
  21. elseif CanReceiveQuest(Spawn, Books) then
  22. Dialog1(NPC,Spawn)
  23. elseif HasQuest(Spawn, Books) and GetQuestStep(Spawn,Books) ==1 then
  24. DialogWait_Quest1(NPC,Spawn)
  25. elseif HasQuest(Spawn, Books) and GetQuestStep(Spawn,Books) ==2 then
  26. Dialog1(NPC,Spawn)
  27. elseif CanReceiveQuest(Spawn, Ingredients) then
  28. Dialog3_Quest2 (NPC,Spawn)
  29. elseif HasQuest(Spawn, Ingredients) and GetQuestStep(Spawn,Ingredients) <5 then
  30. Dialog3_Quest2 (NPC,Spawn)
  31. elseif HasQuest(Spawn, Ingredients) and GetQuestStep(Spawn,Ingredients) ==5 then
  32. Dialog3_Quest2 (NPC,Spawn)
  33. else
  34. Dialog1(NPC,Spawn)
  35. end
  36. end
  37. function Dialog1(NPC, Spawn)
  38. FaceTarget(NPC, Spawn)
  39. Dialog.New(NPC, Spawn)
  40. Dialog.AddDialog("I'm busy with other customers. Come back later.")
  41. Dialog.AddVoiceover("voiceover/english/optional5/scribe_frizi_figglesnip/scribefigglesnip_multhail1_edit_64.mp3", 3159692842, 3138177466)
  42. PlayFlavor(NPC,"","","sniff",0,0,Spawn)
  43. if CanReceiveQuest(Spawn, Books) then
  44. Dialog.AddOption("Sorry, but what customers?","Dialog1_Quest1")
  45. elseif GetQuestStep(Spawn, Books)==2 then
  46. Dialog.AddOption("I've exacted your revenge on the Guttersnipe crooks!","Dialog2_Quest1")
  47. end
  48. Dialog.AddOption("I'm just browsing your wares.")
  49. Dialog.Start()
  50. end
  51. function Dialog1_Quest1(NPC,Spawn)
  52. FaceTarget(NPC, Spawn)
  53. Dialog.New(NPC, Spawn)
  54. Dialog.AddDialog("The ones who come in here and STEAL ALL OF MY BOOKS! They notebooks may have been blank, but have you SEEN the walls here in Temple Street?! I've run out of paper and notebooks so many times that everyone is writing WHATEVER they want on any surface they can reach!... All because some Crooks came in here and ran off with my books...")
  55. PlayFlavor(NPC, "", "", "swear", 0, 0, Spawn)
  56. Dialog.AddOption("I could try to find your books if that would help?","Offer1")
  57. Dialog.AddOption("So it is 'your' fault the streets are covered in graffiti!")
  58. Dialog.Start()
  59. end
  60. function Offer1(NPC,Spawn)
  61. OfferQuest(NPC, Spawn, Books)
  62. end
  63. function DialogWait_Quest1(NPC,Spawn)
  64. FaceTarget(NPC, Spawn)
  65. Dialog.New(NPC, Spawn)
  66. Dialog.AddDialog("Well? Are the worthless Crooks dead and in the ground yet? Don't come back until you've killed the 'lot!")
  67. PlayFlavor(NPC, "", "", "tapfoot", 0, 0, Spawn)
  68. Dialog.AddOption("Soon enough.")
  69. Dialog.Start()
  70. end
  71. function Dialog2_Quest1(NPC,Spawn)
  72. FaceTarget(NPC, Spawn)
  73. Dialog.New(NPC, Spawn)
  74. SetStepComplete(Spawn, Books, 2)
  75. Dialog.AddDialog("YESSSsss!... *coughs*... That will do nicely. Even though my books are a lost cause, at least I don't have to worry about that rabble coming in here to steal more of my things. Please, take this coin for performing... 'justice'. Now I just need to take inventory of what I have left. Now, off with you.")
  76. PlayFlavor(NPC, "", "", "howl", 0, 0, Spawn)
  77. Dialog.AddOption("I'm glad I could be of assistance.")
  78. Dialog.Start()
  79. end
  80. function Dialog3_Quest2(NPC,Spawn)
  81. FaceTarget(NPC, Spawn)
  82. Dialog.New(NPC, Spawn)
  83. PlayFlavor(NPC, "", "", "no", 0, 0, Spawn)
  84. Dialog.AddDialog("Ah ... yes, you killed the Guttersnipes. Unfortunately, that doesn't solve my book problem. Leave me alone. I've no further use for you.")
  85. Dialog.AddVoiceover("voiceover/english/optional5/scribe_frizi_figglesnip/scribefigglesnip_multhail4_edit_64.mp3", 4232546415, 1790498085)
  86. if CanReceiveQuest(Spawn,Ingredients) then
  87. Dialog.AddOption("What seems to be the problem Frizi? Don't I deserve some credit?","Dialog4_Quest2")
  88. end
  89. if GetQuestStep(Spawn, Ingredients)==5 then
  90. Dialog.AddOption("Here are your ingredients. Please take them... now!","Dialog5_Quest2")
  91. end
  92. Dialog.AddOption("Fine.")
  93. Dialog.Start()
  94. end
  95. function Dialog4_Quest2(NPC,Spawn)
  96. FaceTarget(NPC, Spawn)
  97. Dialog.New(NPC, Spawn)
  98. PlayFlavor(NPC, "", "", "stare", 0, 0, Spawn)
  99. Dialog.AddDialog("You know what? Sure, I could use some assistance if it will stop you from pestering me. I've taken tally of my suppiles and realized those Guttersnipes took more than just books. They took my entire collection of... 'reagents', and they are my best sellers! Would you be a sweet little thing and gather a few things for me?")
  100. Dialog.AddOption("Sure. Write them down in my journal.","Offer2")
  101. Dialog.AddOption("This sounds suspicious. I'm out of here.")
  102. Dialog.Start()
  103. end
  104. function Offer2(NPC,Spawn)
  105. OfferQuest(NPC, Spawn, Ingredients)
  106. end
  107. function Dialog5_Quest2(NPC,Spawn)
  108. SetStepComplete(Spawn, Ingredients, 5)
  109. FaceTarget(NPC, Spawn)
  110. Dialog.New(NPC, Spawn)
  111. PlayFlavor(NPC, "", "", "lookaway", 0, 0, Spawn)
  112. Dialog.AddDialog("Oh dear. You brought them all back, but you not wear protection handling all that?! You poor thing... Let me take those now... and... Here, take some of these gloves for protection in the future. It might be too late now, but better late than never I suppose? Also, if that spot -right there- on you gets any worse, I recomend you have it looked at... Now, I must prepare this inventory.")
  113. Dialog.AddOption("Thanks, I think?")
  114. Dialog.Start()
  115. end
  116. function respawn(NPC)
  117. spawn(NPC)
  118. end