RanikCalman.lua 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. --[[
  2. Script Name : SpawnScripts/EastFreeport/RanikCalman.lua
  3. Script Author : Dorbin
  4. Script Date : 2023.10.05 03:10:05
  5. Script Purpose :
  6. :
  7. --]]
  8. require "SpawnScripts/Generic/DialogModule"
  9. local Fighter = 5898
  10. local Scout = 5910
  11. function spawn(NPC)
  12. end
  13. function respawn(NPC)
  14. spawn(NPC)
  15. end
  16. function hailed(NPC, Spawn)
  17. Dialog1(NPC, Spawn)
  18. end
  19. function Dialog1(NPC, Spawn)
  20. FaceTarget(NPC, Spawn)
  21. Dialog.New(NPC, Spawn)
  22. Dialog.AddDialog("Aye. Welcome to the Seafarer's Roost. Been out at sea for a while, or just stopping through? Put some coin in my hand and I'll sell ye drinks until ye sail out again.")
  23. Dialog.AddVoiceover("voiceover/english/merchant_ranik_calman/fprt_east/ranikcalman000.mp3", 2125799617, 970361473)
  24. if HasQuest(Spawn,Fighter) and GetQuestStep(Spawn,Fighter)>=3 and GetQuestStep(Spawn,Fighter)<=5 and GetQuestStepProgress(Spawn,Fighter,4)==0 then
  25. Dialog.AddOption("I have a message for you from the Overlord.","Dialog2")
  26. end
  27. if HasQuest(Spawn,Scout) and GetQuestStep(Spawn,Scout)>=3 and GetQuestStep(Spawn,Scout)<=4 and GetQuestStepProgress(Spawn,Scout,4)==0 then
  28. Dialog.AddOption("I can sing you songs! I have such tales to tell!","Dialog4")
  29. end
  30. Dialog.AddOption("Thanks for the info.")
  31. Dialog.Start()
  32. end
  33. function Dialog2(NPC, Spawn)
  34. FaceTarget(NPC, Spawn)
  35. Dialog.New(NPC, Spawn)
  36. Dialog.AddDialog("From the Overlord? Really? Umm ... I'm afraid to ask what the message is...")
  37. PlayFlavor(NPC, "", "", "confused", 0, 0, Spawn)
  38. Dialog.AddVoiceover("voiceover/english/merchant_ranik_calman/fprt_east/ranikcalman001.mp3", 2775106195, 3777373516)
  39. Dialog.AddOption("You should be. How about a kick to the groin!","Dialog2a")
  40. Dialog.Start()
  41. end
  42. function Dialog2a(NPC, Spawn)
  43. FaceTarget(Spawn, NPC)
  44. PlayFlavor(Spawn, "", "", "kick", 0, 0, NPC)
  45. AddTimer(NPC,800,"Dialog2b",1,Spawn)
  46. end
  47. function Dialog2b(NPC, Spawn)
  48. FaceTarget(Spawn, NPC)
  49. PlayFlavor(NPC, "", "", "gutcramp", 0, 0, Spawn)
  50. ApplySpellVisual(NPC,249)
  51. AddTimer(NPC,800,"Dialog3",1,Spawn)
  52. end
  53. function Dialog3(NPC, Spawn)
  54. FaceTarget(NPC, Spawn)
  55. Dialog.New(NPC, Spawn)
  56. Dialog.AddDialog("Ow! What kind of message was that?")
  57. SetStepComplete(Spawn,Fighter,4)
  58. Dialog.AddVoiceover("voiceover/english/merchant_ranik_calman/fprt_east/ranikcalman002.mp3", 2302749969, 1537670483)
  59. Dialog.AddOption("No more serving Guttersnipes!")
  60. Dialog.Start()
  61. end
  62. function Dialog4(NPC, Spawn)
  63. local Race = GetRace(Spawn)
  64. FaceTarget(NPC, Spawn)
  65. Dialog.New(NPC, Spawn)
  66. Dialog.AddDialog("Take it to the theater, you silly fop! We don't want to hear any stupid lullabies, and I sure as heck am not gonna pay you to do it, either. Now, leave me alone. I'm counting my daily earnings.")
  67. PlayFlavor(NPC, "", "", "nod", 0, 0, Spawn)
  68. Dialog.AddVoiceover("voiceover/english/merchant_ranik_calman/fprt_east/ranikcalman004.mp3", 3300208815, 926648094)
  69. Dialog.AddOption("[ Wrack your brain for a sad love song ]","Dialog4a")
  70. Dialog.Start()
  71. end
  72. function Dialog4a(NPC, Spawn)
  73. local Race = GetRace(Spawn)
  74. FaceTarget(Spawn, NPC)
  75. FaceTarget(NPC, Spawn)
  76. if Race == 0 then -- Barbarian
  77. PlayFlavor(Spawn, "", "In Freeport's clash, where steel and shadows entwine, Barbarian's heart yearns for Halas, a love divine.", "orate", 0, 0)
  78. elseif Race == 1 then -- Dark Elf
  79. PlayFlavor(Spawn, "", "Beneath Neriak's shadows, where Fallen Gate crumbled low, Teir'Dal heart, once ablaze, now cloaked in woe.", "orate", 0, 0)
  80. elseif Race == 3 then -- Erudite
  81. PlayFlavor(Spawn, "", "In Freeport's shadow, where brilliance meets disdain, Erudite's heart, an unsung symphony of intellectual pain.", "orate", 0, 0)
  82. elseif Race == 5 then--Gnome
  83. PlayFlavor(Spawn, "", "In Temple Street's embrace, where ratonga shadows play, Gnome's heart, a cog amiss, love's invention led astray.", "orate", 0, 0)
  84. elseif Race == 6 then -- Half Elf
  85. PlayFlavor(Spawn, "", "In Barggar's Court's twilight, where shadows dance with strife, Half-elf's heart, a blend of races, a turbulent life.", "orate", 0, 0)
  86. elseif Race == 9 then -- Human
  87. PlayFlavor(Spawn, "", "In Freeport's embrace, where shadows silently weep, Love's loyalty shattered, in betrayal's deep.", "orate", 0, 0)
  88. elseif Race == 10 then -- Iksar
  89. PlayFlavor(Spawn, "", "In Freeport's shadow, where the past lies entwined, Iksar's heart echoes for an empire left behind.", "orate", 0, 0)
  90. elseif Race == 11 then -- Kerra
  91. PlayFlavor(Spawn, "", "In Freeport's alleys, where shadows twist and turn, Kerran's heart aches, for a lover they yearn.", "orate", 0, 0)
  92. elseif Race == 12 then -- Ogre
  93. PlayFlavor(Spawn, "", "In Freeport's shadows, where vengeance breeds might, Ogre's heart, a battlefield, love in the fight.", "orate", 0, 0)
  94. elseif Race == 13 then-- Ratonga
  95. PlayFlavor(Spawn, "", "From caves I fled, where shadows held their sway, Ratonga heart, in the city, lost its way.", "orate", 0, 0)
  96. elseif Race == 14 then -- Troll
  97. PlayFlavor(Spawn, "", "In Freeport's chaos, where my hunger reigns, Troll heart pounds, love's feast in my veins.", "orate", 0, 0)
  98. elseif Race == 17 then -- Arasai
  99. PlayFlavor(Spawn, "", "In Freeport's shadowed realm where allegiance binds, Arasai heart in servitude, love's fate unwinds.", "orate", 0, 0)
  100. elseif Race == 19 then -- Vampire
  101. PlayFlavor(Spawn, "", "In Freeport's cloak, where shadows veil my plight, A silent yearning, love cloaked in the night.", "orate", 0, 0)
  102. else
  103. PlayFlavor(Spawn, "", "On waves of sorrow, The Sundering's cruel divide, Lost love's echo, in the ocean's somber tide.", "orate", 0, 0)
  104. end
  105. AddTimer(NPC,4300,"Dialog5",1,Spawn)
  106. end
  107. function Dialog5(NPC, Spawn)
  108. local Race = GetRace(Spawn)
  109. FaceTarget(NPC, Spawn)
  110. Dialog.New(NPC, Spawn)
  111. Dialog.AddDialog("Hey... what kind of love song is this?")
  112. PlayFlavor(NPC, "", "", "confused", 0, 0, Spawn)
  113. Dialog.AddVoiceover("voiceover/english/merchant_ranik_calman/fprt_east/ranikcalman005.mp3", 160002062, 3362984864)
  114. Dialog.AddOption("[ Grasp at the chords of lost love ]","Dialog5a")
  115. Dialog.Start()
  116. end
  117. function Dialog5a(NPC, Spawn)
  118. local Race = GetRace(Spawn)
  119. FaceTarget(Spawn, NPC)
  120. FaceTarget(NPC, Spawn)
  121. if Race == 0 then -- Barbarian
  122. PlayFlavor(Spawn, "", "Northern winds whisper tales of snow-kissed lore, Longing for home, in Freeport's turbulent roar.", "orate", 0, 0)
  123. elseif Race == 1 then -- Dark Elf
  124. PlayFlavor(Spawn, "", "In the rubble's embrace, love's demise took its toll, Lost in the echoes, swallowed by the blackened soul.", "orate", 0, 0)
  125. elseif Race == 3 then -- Erudite
  126. PlayFlavor(Spawn, "", "Among the unseeing, genius sparks dimly burn, Love for knowledge unreturned, a scholar's yearn.", "orate", 0, 0)
  127. elseif Race == 5 then--Gnome
  128. PlayFlavor(Spawn, "", "Among rat folk whispers, dreams of gears gone awry, Tinkering hands fumbled, like a broken lullaby.", "orate", 0, 0)
  129. elseif Race == 6 then -- Half Elf
  130. PlayFlavor(Spawn, "", "Caught between disdain, in the alleys' disdainful gaze, Love's harmony falters in a world of mixed-race malaise.", "orate", 0, 0)
  131. elseif Race == 9 then -- Human
  132. PlayFlavor(Spawn, "", "To Qeynos they journeyed, leaving loyalty behind, A city's grief echoes, in a broken heart confined.", "orate", 0, 0)
  133. elseif Race == 10 then -- Iksar
  134. PlayFlavor(Spawn, "", "Amidst the alleys, yearning for a bygone reign, Love's lament weaves through scales, a nostalgic pain.", "orate", 0, 0)
  135. elseif Race == 11 then -- Kerra
  136. PlayFlavor(Spawn, "", "Erudite experiments, a twisted fate, Love's sacrifice in a lab of cold debate.", "orate", 0, 0)
  137. elseif Race == 12 then -- Ogre
  138. PlayFlavor(Spawn, "", "Crushing foes, but a tender ache remains, Lost in war drums, love's haunting refrains.", "orate", 0, 0)
  139. elseif Race == 13 then-- Ratonga
  140. PlayFlavor(Spawn, "", "In Freeport's maze, love's scent begins to fade, Echoes of escape, a love betrayed.", "orate", 0, 0)
  141. elseif Race == 14 then -- Troll
  142. PlayFlavor(Spawn, "", "Not too bright, but I feel the yearning sting, To devour love, a clumsy, wild thing.", "orate", 0, 0)
  143. elseif Race == 17 then -- Arasai
  144. PlayFlavor(Spawn, "", "Dark Elf's command, a haunting melody, Love's wings clipped, in loyalty's decree.", "orate", 0, 0)
  145. elseif Race == 19 then -- Vampire
  146. PlayFlavor(Spawn, "", "Amongst mortals' throng, my heart a whispering ghost, Love's crimson ache, a secret engrossed.", "orate", 0, 0)
  147. else
  148. PlayFlavor(Spawn, "", "To the Isle of Refuge, my heart drifts alone, Torn continents, a love forever overthrown.", "orate", 0, 0)
  149. end
  150. AddTimer(NPC,4300,"Dialog6",1,Spawn)
  151. end
  152. function Dialog6(NPC, Spawn)
  153. local Race = GetRace(Spawn)
  154. FaceTarget(NPC, Spawn)
  155. Dialog.New(NPC, Spawn)
  156. Dialog.AddDialog("That is one heck of a sad song, buddy. Why don't you ... uh ... quit singing already, okay?")
  157. PlayFlavor(NPC, "", "", "confused", 0, 0, Spawn)
  158. Dialog.AddVoiceover("voiceover/english/merchant_ranik_calman/fprt_east/ranikcalman006.mp3", 471096328, 2312190469)
  159. Dialog.AddOption("[ Wrap up your woeful melody ]","Dialog7")
  160. Dialog.Start()
  161. end
  162. function Dialog7(NPC, Spawn)
  163. local Race = GetRace(Spawn)
  164. FaceTarget(Spawn, NPC)
  165. FaceTarget(NPC, Spawn)
  166. if Race == 0 then -- Barbarian
  167. PlayFlavor(Spawn, "", "Halas' echoes resonate in a barbarian's croon, A song of sorrow, in Freeport's city, beneath the cold shattered moon.", "heartattack", 0, 0)
  168. elseif Race == 1 then -- Dark Elf
  169. PlayFlavor(Spawn, "", "Hate's bitter symphony, in the ruins' cruel fate, A Teir'Dal weeps for a love entwined with Fallen Gate.", "heartattack", 0, 0)
  170. elseif Race == 3 then -- Erudite
  171. PlayFlavor(Spawn, "", "In the city's noise, Erudite laments in tune, A mind unappreciated, beneath the indifferent broken moon.", "heartattack", 0, 0)
  172. elseif Race == 5 then--Gnome
  173. PlayFlavor(Spawn, "", "Temple Street echoes a gnome's melancholy croon, Tinkering sans love, in ratonga shadows, under the fractured moon.", "heartattack", 0, 0)
  174. elseif Race == 6 then -- Half Elf
  175. PlayFlavor(Spawn, "", "Barggar's Court weeps beneath the moon's indifferent boon, A half-elf's sorrow, in the echoes of a love lost too soon.", "heartattack", 0, 0)
  176. elseif Race == 9 then -- Human
  177. PlayFlavor(Spawn, "", "Under Freeport's watchful towers, love's melody is strewn, A betrayed soul laments, beneath the moon's cold tune.", "heartattack", 0, 0)
  178. elseif Race == 10 then -- Iksar
  179. PlayFlavor(Spawn, "", "Under Freeport's banner, a reptilian croon, Longing for the empire, 'neath the shattered Luclin moon.", "heartattack", 0, 0)
  180. elseif Race == 11 then -- Kerra
  181. PlayFlavor(Spawn, "", "Beneath Freeport's towers, a Kerran mourns, A feline soul weeps, as their lover's essence is torn.", "heartattack", 0, 0)
  182. elseif Race == 12 then -- Ogre
  183. PlayFlavor(Spawn, "", "With fists like thunder, still, a heart yearns true, In the battlefield's chaos, love's war cries pursue.", "heartattack", 0, 0)
  184. elseif Race == 13 then-- Ratonga
  185. PlayFlavor(Spawn, "", "Through alleys dark, where secrets intertwine, Ratonga weeps, in the city's lonely design.", "heartattack", 0, 0)
  186. elseif Race == 14 then -- Troll
  187. PlayFlavor(Spawn, "", "Amidst the hunt, I seek what I can't name, In the taste of sorrow, love becomes my game.", "heartattack", 0, 0)
  188. elseif Race == 17 then -- Arasai
  189. PlayFlavor(Spawn, "", "Through Teir'Dal whispers, my heart's lament, In shadows cast, a forlorn love, forever spent.", "heartattack", 0, 0)
  190. elseif Race == 19 then -- Vampire
  191. PlayFlavor(Spawn, "", "In the depths of shadows, I fade away, Lost in echoes of love, in the cold dark's sway.", "heartattack", 0, 0)
  192. else
  193. PlayFlavor(Spawn, "", "Amidst the sea's lament, a whispering plea, In the abyss of parting, love sank beneath the Tranquil Sea.", "heartattack", 0, 0)
  194. end
  195. AddTimer(NPC,4300,"Dialog7a",1,Spawn)
  196. end
  197. function Dialog7a(NPC, Spawn)
  198. CloseConversation(NPC, Spawn)
  199. Dialog.New(NPC, Spawn)
  200. Dialog.AddDialog("[Your song has distracted Ranik away from his accounting. A gold coin rests on the edge of the counter. If you are sly enough, you might just...]")
  201. PlayFlavor(NPC, "", "", "sniff", 0, 0, Spawn)
  202. Dialog.AddOption("[ Casually slip the coin into your palm ]","CoinSwipe")
  203. Dialog.Start()
  204. end
  205. function CoinSwipe(NPC,Spawn)
  206. PlayFlavor(Spawn, "", "", "converse_male06", 0, 0,NPC)
  207. SendMessage(Spawn,"You slip Ranik's coin off the counter and into your pocket.")
  208. SendPopUpMessage(Spawn,"You slip the coin into your palm",220,220,220)
  209. AddTimer(NPC,1700,"Dialog7b",1,Spawn)
  210. end
  211. function CoinSwipe3(NPC,Spawn)
  212. end
  213. function Dialog7b(NPC, Spawn)
  214. SetStepComplete(Spawn,Scout,4)
  215. CloseConversation(NPC, Spawn)
  216. FaceTarget(NPC, Spawn)
  217. Dialog.New(NPC, Spawn)
  218. Dialog.AddDialog("Hey ... just ... just shut up, already, okay? Wow, you've got it bad. I guess ... I guess you can sing here if you want ... but please try to lighten it up some, okay? ")
  219. PlayFlavor(NPC, "", "", "sigh", 0, 0, Spawn)
  220. Dialog.AddVoiceover("voiceover/english/merchant_ranik_calman/fprt_east/ranikcalman007.mp3", 1462727142, 588866905)
  221. Dialog.AddOption("Perhaps next time. I'm off for now!")
  222. Dialog.Start()
  223. end