AndreaDovesong.lua 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. --[[
  2. Script Name : SpawnScripts/NorthQeynos/AndreaDovesong.lua
  3. Script Author : Dorbin
  4. Script Date : 2022.04.25 03:04:17
  5. Script Purpose :
  6. :
  7. --]]
  8. dofile("SpawnScripts/Generic/GenericEcologyVoiceOvers.lua")
  9. require "SpawnScripts/Generic/DialogModule"
  10. local claymore = 5547
  11. local papers = 5536
  12. local duvo = 5524
  13. function spawn(NPC)
  14. SetPlayerProximityFunction(NPC, 6, "InRange", "LeaveRange")
  15. ProvidesQuest(NPC, claymore)
  16. ProvidesQuest(NPC, papers)
  17. SetInfoStructString(NPC, "action_state", "orate")
  18. end
  19. function respawn(NPC)
  20. spawn(NPC)
  21. end
  22. function InRange(NPC,Spawn)
  23. if GetFactionAmount(Spawn,11) <0 then
  24. FactionCheckingCallout(NPC, Spawn, faction)
  25. else
  26. if math.random(1, 100) <= 70 then
  27. FaceTarget(NPC,Spawn)
  28. choice = math.random(1,2)
  29. if choice == 1 then
  30. PlayFlavor(NPC, "", "", "curstey", 0, 0, Spawn)
  31. elseif choice == 2 then
  32. PlayFlavor(NPC, "", "", "royalwave", 0, 0, Spawn)
  33. end
  34. end
  35. end
  36. end
  37. function hailed(NPC, Spawn)
  38. if GetFactionAmount(Spawn,11) <0 then
  39. FaceTarget(NPC, Spawn)
  40. FactionChecking(NPC, Spawn, faction)
  41. else
  42. FaceTarget(Spawn, NPC)
  43. local conversation = CreateConversation()
  44. local conversation = CreateConversation()
  45. StartConversation(conversation, NPC, Spawn, "")
  46. FaceTarget(NPC, Spawn)
  47. Dialog.New(NPC, Spawn)
  48. Dialog.AddDialog("'Tis a lovely day for a tune, isn't it?")
  49. Dialog.AddVoiceover("voiceover/english/andrea_dovesong/qey_north/andreadovesong000.mp3", 2876603945, 556916518)
  50. PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn)
  51. if not HasQuest(Spawn,claymore) and not HasCompletedQuest(Spawn, claymore) and HasQuest(Spawn,papers) or HasCompletedQuest(Spawn, papers) and not HasQuest(Spawn,claymore)and not HasCompletedQuest(Spawn, claymore) then
  52. Dialog.AddOption("You were saying there are more statues like this one?", "Claymore2")
  53. end
  54. if GetQuestStep(Spawn,papers)==2 then
  55. Dialog.AddOption("Here is the parchment you requested from Duvo. He said he has plenty more if you need.", "Delivered")
  56. end
  57. if not HasQuest(Spawn,claymore) and not HasCompletedQuest(Spawn, claymore) and not HasQuest(Spawn,papers) and not HasCompletedQuest(Spawn, papers)then
  58. Dialog.AddOption("What kind of songs do you sing?", "Work")
  59. end
  60. if HasQuest(Spawn,claymore) or HasCompletedQuest(Spawn, claymore) then
  61. Dialog.AddOption("Tell me again what you like to sing about.", "Work")
  62. end
  63. if not HasQuest(Spawn,papers) and not HasCompletedQuest(Spawn, papers) and HasQuest(Spawn, claymore) or not HasQuest(Spawn,papers) and not HasCompletedQuest(Spawn, papers) and HasCompletedQuest(Spawn, claymore)then
  64. Dialog.AddOption("You seem quite busy here. Can I help you with anything while you perform?", "Work2")
  65. end
  66. AddConversationOption(conversation, "It is indeed!","kiss")
  67. AddConversationOption(conversation, "If you say so.")
  68. Dialog.Start()
  69. end
  70. end
  71. function kiss(NPC,Spawn)
  72. FaceTarget(NPC,Spawn)
  73. PlayFlavor(NPC, "", "", "kiss", 0, 0, Spawn)
  74. end
  75. function Work(NPC,Spawn)
  76. FaceTarget(NPC, Spawn)
  77. Dialog.New(NPC, Spawn)
  78. Dialog.AddDialog("I sing songs about many different things. But my favorite songs are the ones about this monument right here, the mighty Qeynos Claymore. I sing songs that tell of ancient Vallius Bayle who first brought the sword to our world from its planar home. I sing stories of Antonius Bayle winning the sword in tournaments that were held between the early human clans, and how he used it to unite the human people within one kingdom. Aye, the Qeynos Claymore has a long and storied history.")
  79. Dialog.AddVoiceover("voiceover/english/andrea_dovesong/qey_north/andreadovesong001.mp3", 3368204937, 3549759451)
  80. PlayFlavor(NPC, "", "", "orate", 0, 0, Spawn)
  81. Dialog.AddOption("The claymore must be quite powerful with such a storied history.", "Claymore1")
  82. Dialog.AddOption("Fascinating. Thanks for sharing.","agree")
  83. Dialog.Start()
  84. end
  85. function Claymore1(NPC,Spawn)
  86. FaceTarget(NPC, Spawn)
  87. Dialog.New(NPC, Spawn)
  88. Dialog.AddDialog("Aye, it is! Now Antonia Bayle is the owner of the fine blade. Unfortunately it is hidden away in the castle for its protection. Many agents of evil would like nothing better than to lay their hands upon it. For now though, we only have these monuments to remind us of the Claymore.")
  89. Dialog.AddVoiceover("voiceover/english/andrea_dovesong/qey_north/andreadovesong001.mp3", 2179201684, 4109286437)
  90. PlayFlavor(NPC, "", "", "orate", 0, 0, Spawn)
  91. if not HasQuest(Spawn,claymore) and not HasCompletedQuest(Spawn, claymore) then
  92. Dialog.AddOption("There are monuments like this one somewhere else?", "Claymore2")
  93. end
  94. if HasQuest(Spawn,claymore) or HasCompletedQuest(Spawn, claymore) then
  95. Dialog.AddOption("Wait, I've forgotten. You said there are more monuments like this one?", "Claymore2")
  96. end
  97. Dialog.AddOption("Well, thankfully we can enjoy reflecting unpon our city's history with places like this.","agree")
  98. Dialog.Start()
  99. end
  100. function agree(NPC,Spawn)
  101. FaceTarget(NPC,Spawn)
  102. PlayFlavor(NPC, "", "", "agree", 0, 0, Spawn)
  103. end
  104. function Claymore2(NPC,Spawn)
  105. FaceTarget(NPC, Spawn)
  106. Dialog.New(NPC, Spawn)
  107. Dialog.AddDialog("Aye, there are others. In fact, another monument stands out in the Antonican hills. A small contingent of guards look over the Claymore monument. People often visit there to pray and meditate. Good travels to you if you plan on venturing out to see it.")
  108. Dialog.AddVoiceover("voiceover/english/andrea_dovesong/qey_north/andreadovesong003.mp3", 4096047886, 1484152928)
  109. PlayFlavor(NPC, "", "", "nod", 0, 0, Spawn)
  110. if not HasQuest(Spawn,claymore) and not HasCompletedQuest(Spawn, claymore) then
  111. Dialog.AddOption("I think I will. Thank you for sharing the story.", "Claymore3")
  112. end
  113. if HasCompletedQuest(Spawn, claymore) then
  114. Dialog.AddOption("I've been to the one in Antonica since we last spoke. It is quite the sight overlooking the hills and coastline.", "agree")
  115. end
  116. if not HasQuest(Spawn,papers) and not HasCompletedQuest(Spawn, papers) then
  117. Dialog.AddOption("You seem quite busy here. Can I help you with anything while you perform?", "Work2")
  118. end
  119. Dialog.AddOption("Well, thankfully we can enjoy reflecting unpon our city's history with places like this.","agree")
  120. Dialog.Start()
  121. end
  122. function Claymore3(NPC, Spawn)
  123. FaceTarget(NPC, Spawn)
  124. if not HasQuest(Spawn,claymore) and not HasCompletedQuest(Spawn, claymore) then
  125. OfferQuest(NPC, Spawn,claymore)
  126. end
  127. end
  128. function Work2(NPC, Spawn)
  129. FaceTarget(NPC, Spawn)
  130. Dialog.New(NPC, Spawn)
  131. Dialog.AddDialog("Looking for work are you? Well, I could use some new parchment to scribe my sonata. Scribe Duvo always has plenty. You'll find him at the Elddar Grove. Bring me the parchment and I'll pay you for your troubles.")
  132. Dialog.AddVoiceover("voiceover/english/andrea_dovesong/qey_north/andreadovesong004.mp3", 2245604238, 844371971)
  133. PlayFlavor(NPC, "", "", "orate", 0, 0, Spawn)
  134. if HasQuest(Spawn,duvo) or HasCompletedQuest(Spawn, duvo) then
  135. Dialog.AddOption("I've actually had dealings with Duvo. I'll stop by and see him.", "StartPapers")
  136. end
  137. Dialog.AddOption("Gladly. I'll be back with the parchment", "StartPapers")
  138. Dialog.AddOption("Parchment? Afraid I don't have the time.", "shrug")
  139. Dialog.Start()
  140. end
  141. function shrug(NPC,Spawn)
  142. FaceTarget(NPC,Spawn)
  143. PlayFlavor(NPC, "", "", "shrug", 0, 0, Spawn)
  144. end
  145. function StartPapers(NPC, Spawn)
  146. FaceTarget(NPC, Spawn)
  147. OfferQuest(NPC, Spawn,papers)
  148. end
  149. function Delivered(NPC, Spawn)
  150. FaceTarget(NPC, Spawn)
  151. Dialog.New(NPC, Spawn)
  152. Dialog.AddDialog("How sweet and swift you are! Take these coins as a token of my appreciation.")
  153. Dialog.AddVoiceover("voiceover/english/andrea_dovesong/qey_north/andreadovesong005.mp3", 3610265582, 997287857)
  154. PlayFlavor(NPC, "", "", "thanks", 0, 0, Spawn)
  155. Dialog.AddOption("Thank you.", "FinishPapers")
  156. Dialog.Start()
  157. end
  158. function FinishPapers(NPC,Spawn)
  159. PlayFlavor(NPC, "", "", "curtsey", 0, 0, Spawn)
  160. FaceTarget(NPC, Spawn)
  161. SetStepComplete(Spawn,papers, 2)
  162. end