9
3

LozoriaShinkicker.lua 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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/DialogModuleTest"
  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. Say(NPC,"Hailed")
  36. if GetFactionAmount(Spawn,11)<0 then
  37. PlayFlavor(NPC, "", "", "heckno", 0, 0, Spawn)
  38. else
  39. FaceTarget(NPC, Spawn)
  40. Dialog.New(NPC, Spawn)
  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.AddOption("I smell that pie! You were the one that took it from Nyla's window!", "Guilty")
  44. Dialog.AddOptionRequirement(REQ_QUEST_HAS_QUEST, PieThief)
  45. Dialog.AddOptionRequirement(REQ_QUEST_ON_STEP, PieThief ,4)
  46. Dialog.AddOption("I'm actually looking for work. Have any jobs that need doing?", "OroStart")
  47. Dialog.AddOptionRequirement(REQ_QUEST_DOESNT_HAVE_QUEST, OroRoots)
  48. Dialog.AddOptionRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, OroRoots)
  49. Dialog.AddOption("I've found your Oro roots. Here you go.", "FoundRoots")
  50. Dialog.AddOptionRequirement(REQ_QUEST_ON_STEP, OroRoots , 2)
  51. Dialog.AddOption("I'm still gathering those roots for you.")
  52. Dialog.AddOptionRequirement(REQ_QUEST_HAS_QUEST, OroRoots)
  53. Dialog.AddOptionRequirement(REQ_QUEST_BEFORE_STEP, OroRoots, 2)
  54. Dialog.AddOption("Nothing right now. Enjoy your pint.")
  55. Dialog.Start()
  56. end
  57. end
  58. function OroStart(NPC, Spawn)
  59. FaceTarget(NPC, Spawn)
  60. Dialog.New(NPC, Spawn)
  61. 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.")
  62. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker001.mp3", 297007289,1280253281)
  63. -- PlayFlavor(NPC, "", "", "ponder", 0, 0, Spawn)
  64. Dialog.AddEmote("ponder")
  65. Dialog.AddOption("I could go for a pint. What do you need?", "TheJob")
  66. Dialog.Start()
  67. end
  68. function TheJob(NPC, Spawn)
  69. FaceTarget(NPC, Spawn)
  70. Dialog.New(NPC, Spawn)
  71. Dialog.AddDialog("Bregun! Fetch this one a pint! Now, let me tell ya what I'd like ya to do. You know about the Oakmyst Forest. Everyone does. You see ever since we halflings were removed from the Vale, we've been unable to get ahold of any Jum Jum. Fortunately, the dryads make a halfway decent replacement.")
  72. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker002.mp3", 1470439081, 2268467194)
  73. -- PlayFlavor(NPC, "", "", "chuckle", 0, 0, Spawn)
  74. -- Dialog.AddEmote("chuckle")
  75. Dialog.AddOption("Get on with it. What's the job?", "TheJob2")
  76. Dialog.AddOption("That is quite a bit different! So, do you need me to look into that?", "patience")
  77. Dialog.Start()
  78. end
  79. function TheJob2(NPC, Spawn)
  80. FaceTarget(NPC, Spawn)
  81. Dialog.New(NPC, Spawn)
  82. Dialog.AddDialog("Patience! Patience. We do things slowly around here. Don't confuse us halflings with the gnomes, Haha! Now, where was I?")
  83. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker003.mp3", 3414180428, 3979244034)
  84. -- PlayFlavor(NPC, "", "", "no", 0, 0, Spawn)
  85. -- Dialog.Emote("no")
  86. Dialog.AddOption("Alright, well, what do you need?", "patience")
  87. Dialog.Start()
  88. end
  89. function patience(NPC, Spawn)
  90. FaceTarget(NPC, Spawn)
  91. Dialog.New(NPC, Spawn)
  92. Dialog.AddDialog("Oh, yes. The dryads in the forest with the 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 the Oro root they're growing. I could use some for the tavern's next batch.")
  93. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker004.mp3", 2659331601, 3561367931)
  94. PlayFlavor(NPC, "", "", "nod", 0, 0, Spawn)
  95. -- Dialog.Emote("nod")
  96. Dialog.AddOption("I'll go find your Oro roots. Save a drink for me!", "OfferQuest1")
  97. Dialog.Start()
  98. end
  99. function OfferQuest1(NPC, Spawn)
  100. FaceTarget(NPC, Spawn)
  101. OfferQuest(NPC, Spawn, OroRoots)
  102. end
  103. function Guilty(NPC, Spawn)
  104. FaceTarget(NPC, Spawn)
  105. Dialog.New(NPC, Spawn)
  106. 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.")
  107. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker006.mp3", 171584737, 1896068208)
  108. PlayFlavor(NPC, "", "", "wince", 0, 0, Spawn)
  109. -- Dialog.Emote("wince")
  110. Dialog.AddOption("I'll have to let Nyla know. She may have a few words for you.", "UpdateThief")
  111. Dialog.Start()
  112. end
  113. function UpdateThief(NPC, Spawn)
  114. SetStepComplete(Spawn, PieThief, 4)
  115. end
  116. function FoundRoots (NPC, Spawn)
  117. SetStepComplete(Spawn, OroRoots, 2)
  118. FaceTarget(NPC, Spawn)
  119. Dialog.New(NPC, Spawn)
  120. 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? Ah-hah! Thank goodness our pal is an adventurer! I can afford to run this tavern at a loss. Oh Bregun! Time for another pint!")
  121. Dialog.AddVoiceover("voiceover/english/lozoria_shinkicker/qey_village06/lozoriashinkicker005.mp3", 3396930954, 3615323112)
  122. PlayFlavor(NPC, "", "", "happy", 0, 0, Spawn)
  123. -- Dialog.Emote("happy")
  124. Dialog.AddOption("Good luck on the next batch.")
  125. Dialog.Start()
  126. end