LozoriaShinkicker.lua 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. --[[
  2. Script Name : SpawnScripts/TheBaubbleshire/LozoriaShinkicker.lua
  3. Script Purpose : Lozoria Shinkicker
  4. Script Author : Dorbin
  5. Script Date : 2022.01.08
  6. Script Notes : Auto-Generated Conversation from PacketParser Data
  7. Notes : Updated using dialog module & added callout. 2022.08.20 Dorbin
  8. --]]
  9. require "SpawnScripts/Generic/DialogModule"
  10. local PieThief = 5437
  11. local OroRoots = 5438
  12. function spawn(NPC)
  13. SetPlayerProximityFunction(NPC, 4, "InRange", "LeaveRange")
  14. ProvidesQuest(NPC, OroRoots)
  15. end
  16. function respawn(NPC)
  17. spawn(NPC)
  18. end
  19. function InRange(NPC, Spawn)
  20. if not HasQuest(Spawn, OroRoots) and not HasCompletedQuest(Spawn, OroRoots)then
  21. FaceTarget(NPC, Spawn)
  22. local choice = MakeRandomInt(1,3)
  23. if choice == 1 then
  24. PlayFlavor(NPC, "voiceover/english/lozoria_shinkicker/qey_village06/100_lozoria_shinkicker_lozoria_first_a433e906.mp3", "Ahh, there's nothing like a nice pint to tide you over till the next one! Greetings, traveler! Won't you join me for an ale?", "", 908545867, 693626511, Spawn)
  25. elseif choice == 2 then
  26. PlayFlavor(NPC, "voiceover/english/lozoria_shinkicker/qey_village06/100_lozoria_shinkicker_multhail2_c18b6ff4.mp3", "Bring me another pint, Bregun! Mine's almost empty! What brings you into my papa's fine establishment, friend?", "", 1585254591, 550642986, Spawn)
  27. elseif choice == 3 then
  28. PlayFlavor(NPC, "voiceover/english/lozoria_shinkicker/qey_village06/100_lozoria_shinkicker_callout_7d9f1c7c.mp3", "Ahh ... nothing like a pint to tide you over till the next one. Greetings, traveler! Won't you join me for an ale?", "", 2310344859, 4256384860, Spawn)
  29. end
  30. end
  31. end
  32. function LeaveRange(NPC, Spawn)
  33. end
  34. function hailed(NPC, Spawn)
  35. if GetFactionAmount(Spawn,11)<0 then
  36. PlayFlavor(NPC, "", "", "heckno", 0, 0, Spawn)
  37. else
  38. FaceTarget(NPC, Spawn)
  39. Dialog.New(NPC, Spawn)
  40. if not HasQuest(Spawn,OroRoots) then
  41. Dialog.AddDialog("Bring me another pint, Bregun! Mine's almost empty! Well, hello there! What brings you into my Papa's fine establishment?")
  42. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker000.mp3", 1408955306, 2441116246)
  43. -- Dialog.AddRequirement(REQ_QUEST_DOESNT_HAVE_QUEST, OroRoots)
  44. elseif HasQuest(Spawn,OroRoots) then
  45. Dialog.AddDialog("Well hello, friend. I do hate rushin' ya, but I must have that oro root! Bregun's itchin' to make the next batch of brew!")
  46. Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", 0, 0)
  47. -- Dialog.AddRequirement(REQ_QUEST_HAS_QUEST, OroRoots)
  48. end
  49. Dialog.AddOption("I smell that pie! You were the one that took it from Nyla's window!", "Guilty")
  50. Dialog.AddOptionRequirement(REQ_QUEST_HAS_QUEST, PieThief)
  51. Dialog.AddOptionRequirement(REQ_QUEST_ON_STEP, PieThief ,4)
  52. Dialog.AddOption("I'm actually looking for work. Have any jobs that need doing?", "OroStart")
  53. Dialog.AddOptionRequirement(REQ_QUEST_DOESNT_HAVE_QUEST, OroRoots)
  54. Dialog.AddOptionRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, OroRoots)
  55. Dialog.AddOption("I've found your Oro roots. Here you go.", "FoundRoots")
  56. Dialog.AddOptionRequirement(REQ_QUEST_ON_STEP, OroRoots , 2)
  57. Dialog.AddOption("I'm still gathering those roots for you.")
  58. Dialog.AddOptionRequirement(REQ_QUEST_HAS_QUEST, OroRoots)
  59. Dialog.AddOptionRequirement(REQ_QUEST_BEFORE_STEP, OroRoots, 2)
  60. Dialog.AddOption("Nothing right now. Enjoy your pint.")
  61. Dialog.Start()
  62. end
  63. end
  64. function OroStart(NPC, Spawn)
  65. FaceTarget(NPC, Spawn)
  66. Dialog.New(NPC, Spawn)
  67. Dialog.AddDialog("Oh you are, are ya? Well I'll tell ya what - if ya do something for me, I'll get you a pint on the house and pay ya as well.")
  68. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker001.mp3", 297007289,1280253281)
  69. PlayFlavor(NPC, "", "", "ponder", 0, 0, Spawn)
  70. -- Dialog.AddEmote("ponder")
  71. Dialog.AddOption("I could go for a pint. What do you need?", "TheJob")
  72. Dialog.Start()
  73. end
  74. function TheJob(NPC, Spawn)
  75. FaceTarget(NPC, Spawn)
  76. Dialog.New(NPC, Spawn)
  77. Dialog.AddDialog("BREGUN! Fetch this one a pint! Now, let me tell you what I'd like ya to do. You know about the Oakmyst forest of course, everyone does. You see, ever since we halflings were removed from the vale, we've been unable to get a hold of any jum jum. Fortunately, the dryads make a halfway decent replacement.")
  78. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker002.mp3", 1470439081, 2268467194)
  79. PlayFlavor(NPC, "", "", "chuckle", 0, 0, Spawn)
  80. -- Dialog.AddEmote("chuckle")
  81. Dialog.AddOption("Get on with it. What's the job?", "TheJob2")
  82. Dialog.AddOption("That is quite a bit different! So, do you need me to look into that?", "patience")
  83. Dialog.Start()
  84. end
  85. function TheJob2(NPC, Spawn)
  86. FaceTarget(NPC, Spawn)
  87. Dialog.New(NPC, Spawn)
  88. Dialog.AddDialog("Patience, patience! We do things slowly 'round here -- don't confuse us halflings with the gnomes! Now, where was I?")
  89. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker003.mp3", 3414180428, 3979244034)
  90. PlayFlavor(NPC, "", "", "no", 0, 0, Spawn)
  91. -- Dialog.AddEmote("no")
  92. Dialog.AddOption("Alright, well, what do you need?", "patience")
  93. Dialog.Start()
  94. end
  95. function patience(NPC, Spawn)
  96. FaceTarget(NPC, Spawn)
  97. Dialog.New(NPC, Spawn)
  98. Dialog.AddDialog("Oh yes! The dryads seeded the forest with a jum jum replacement. My pop calls it a darn poor substitution, but I think he's a wee bit bitter about the whole ordeal. At any rate, why don't you forage around and see if you can find any of the oro root they're growing? I could use some for the tavern's next batch. ")
  99. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker004.mp3", 2659331601, 3561367931)
  100. PlayFlavor(NPC, "", "", "nod", 0, 0, Spawn)
  101. -- Dialog.AddEmote("nod")
  102. Dialog.AddOption("I'll go find your Oro roots. Save a drink for me!", "OfferQuest1")
  103. Dialog.Start()
  104. end
  105. function OfferQuest1(NPC, Spawn)
  106. FaceTarget(NPC, Spawn)
  107. OfferQuest(NPC, Spawn, OroRoots)
  108. end
  109. function Guilty(NPC, Spawn)
  110. FaceTarget(NPC, Spawn)
  111. Dialog.New(NPC, Spawn)
  112. Dialog.AddDialog("Good knows! You caught me! But the pie is gone. I just couldn't resist! She'll have to come by later for an ale on the house.")
  113. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker006.mp3", 171584737, 1896068208)
  114. PlayFlavor(NPC, "", "", "wince", 0, 0, Spawn)
  115. -- Dialog.AddEmote("wince")
  116. Dialog.AddOption("I'll have to let Nyla know. She may have a few words for you.", "UpdateThief")
  117. Dialog.Start()
  118. end
  119. function UpdateThief(NPC, Spawn)
  120. SetStepComplete(Spawn, PieThief, 4)
  121. end
  122. function FoundRoots (NPC, Spawn)
  123. SetStepComplete(Spawn, OroRoots, 2)
  124. FaceTarget(NPC, Spawn)
  125. Dialog.New(NPC, Spawn)
  126. Dialog.AddDialog("Fine indeed! I'll get Bregun working on this next batch. Here, let me pay you. I did say I would, didn't I? Thank goodness ol' Pelle was an adventurer and can afford to run this tavern at a loss! Oh Breeeee-gunnnnn... time for another pint!")
  127. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker005.mp3", 3396930954, 3615323112)
  128. PlayFlavor(NPC, "", "", "happy", 0, 0, Spawn)
  129. -- Dialog.AddEmote("happy")
  130. Dialog.AddOption("Good luck on the next batch.")
  131. Dialog.Start()
  132. end