CrispinLuviniusBC.lua 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. --[[
  2. Script Name : SpawnScripts/BeggarsCourt/CrispinLuviniusBC.lua
  3. Script Purpose : Crispin Luvinius
  4. Script Author : Scatman
  5. Script Date : 2009.07.26 (17.7.2022 by torsten, moved both quests from The Sprawl to Beggar's Court as in classic EverQuest)
  6. Script Notes :
  7. --]]
  8. require "SpawnScripts/Generic/DialogModule"
  9. local ProblemSolving = 5661
  10. local AdvancedProblemSolving = 5662
  11. function spawn(NPC)
  12. ProvidesQuest(NPC, ProblemSolving)
  13. ProvidesQuest(NPC, AdvancedProblemSolving)
  14. end
  15. function respawn(NPC)
  16. spawn(NPC)
  17. end
  18. function hailed(NPC, Spawn)
  19. FaceTarget(NPC, Spawn)
  20. if not HasQuest(Spawn, ProblemSolving) and not HasCompletedQuest(Spawn, ProblemSolving) then
  21. Dialog7(NPC, Spawn)
  22. end
  23. if HasCompletedQuest(Spawn, ProblemSolving) then
  24. if not HasQuest(Spawn, AdvancedProblemSolving) and not HasCompletedQuest(Spawn, AdvancedProblemSolving) then
  25. Dialog8(NPC, Spawn)
  26. end
  27. end
  28. if HasCompletedQuest(Spawn, ProblemSolving) and HasCompletedQuest(Spawn, AdvancedProblemSolving)then
  29. Dialog3(NPC, Spawn)
  30. end
  31. if GetQuestStep(Spawn, ProblemSolving) == 2 then
  32. SetStepComplete(Spawn, ProblemSolving, 2)
  33. Dialog8(NPC, Spawn)
  34. end
  35. if GetQuestStep(Spawn, AdvancedProblemSolving) == 2 then
  36. SetStepComplete(Spawn, AdvancedProblemSolving, 2)
  37. Dialog10(NPC, Spawn)
  38. end
  39. RandomGreeting(NPC, Spawn)
  40. end
  41. function RandomGreeting(NPC, Spawn)
  42. local choice = MakeRandomInt(1,4)
  43. if choice == 1 then
  44. PlayFlavor(NPC, "voiceover/english/crispin_luvinius/fprt_hood04/100_std_crispin_luvinius_hum_m_callout1_eb27037a.mp3", "Are you looking for trouble? It'll find you if you don't keep walking.", "", 3293258894, 514248132, Spawn, 0)
  45. elseif choice == 2 then
  46. PlayVoice(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", 0, 0, Spawn)
  47. elseif choice == 3 then
  48. PlayVoice(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", 0, 0, Spawn)
  49. elseif choice == 4 then
  50. PlayVoice(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", 0, 0, Spawn)
  51. end
  52. end
  53. function Dialog3(NPC, Spawn)
  54. FaceTarget(NPC, Spawn)
  55. Dialog.New(NPC, Spawn)
  56. Dialog.AddDialog("Do you have a problem? You're gonna have one soon if you don't keep walking.")
  57. Dialog.AddVoiceover("voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", 1982819374, 703450678)
  58. Dialog.AddOption("I don't want any trouble.")
  59. Dialog.Start()
  60. end
  61. --========================= Quest 1
  62. function Dialog7(NPC, Spawn)
  63. FaceTarget(NPC, Spawn)
  64. Dialog.New(NPC, Spawn)
  65. Dialog.AddDialog("Do you have a problem? You're gonna have one soon if you don't keep walking.")
  66. Dialog.AddVoiceover("voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", 1982819374, 703450678)
  67. Dialog.AddOption("I don't have a problem... I solve problems. Anything you need fixed?", "Dialog11")
  68. Dialog.AddOption("I don't want any trouble.")
  69. Dialog.Start()
  70. end
  71. function Dialog11(NPC, Spawn)
  72. FaceTarget(NPC, Spawn)
  73. Dialog.New(NPC, Spawn)
  74. Dialog.AddDialog("A problem solver, huh? You can talk the talk, but can you walk the walk? Yeah ... I got a problem. One of our customers isn't paying us for our \"services,\" if you know what I'm saying. Maybe you can fix this problem for us, huh?")
  75. Dialog.AddOption("Of course I can. I said I was a problem solver, didn't I?", "Dialog12")
  76. Dialog.AddOption("Not really... I've got too many other things to do. Maybe some other time.")
  77. Dialog.Start()
  78. end
  79. function Dialog12(NPC, Spawn)
  80. FaceTarget(NPC, Spawn)
  81. Dialog.New(NPC, Spawn)
  82. Dialog.AddDialog("Okay, here's the deal. The guy is a vagrant who lives out in the ruins, right? We want to send the message that no one messes with us. You need to head south of here and do some dirty work to his buddies, understand?")
  83. Dialog.AddOption("Sounds like an easy job.", "Dialog1")
  84. Dialog.Start()
  85. OfferQuest(NPC, Spawn, ProblemSolving)
  86. end
  87. function Dialog1(NPC, Spawn)
  88. FaceTarget(NPC, Spawn)
  89. Dialog.New(NPC, Spawn)
  90. Dialog.AddDialog("Come back when you're done.")
  91. Dialog.AddOption("All right.")
  92. Dialog.Start()
  93. end
  94. --==================== Quest 2
  95. function Dialog8(NPC, Spawn)
  96. FaceTarget(NPC, Spawn)
  97. Dialog.New(NPC, Spawn)
  98. Dialog.AddDialog("Do you have a problem? You're gonna have one soon if you don't keep walking.")
  99. Dialog.AddVoiceover("voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", 1982819374, 703450678)
  100. Dialog.AddOption("So... have any more problems you can't handle yourself?", "Dialog9")
  101. Dialog.AddOption("I don't want any trouble.")
  102. Dialog.Start()
  103. end
  104. function Dialog9(NPC, Spawn)
  105. FaceTarget(NPC, Spawn)
  106. Dialog.New(NPC, Spawn)
  107. Dialog.AddDialog("Oh! I recognize you. Glad you came along ... yeah ... very glad. I hope your uh ... services ... are available again because ... uh ... there's this little matter... and I'm too busy to take care of it. Yes, too busy.")
  108. Dialog.AddOption("As long as you have the money, I'm willing to do it.", "Dialog13")
  109. Dialog.AddOption("Sorry... I don't work for lazy people... or cowards.")
  110. Dialog.Start()
  111. end
  112. function Dialog13(NPC, Spawn)
  113. FaceTarget(NPC, Spawn)
  114. Dialog.New(NPC, Spawn)
  115. Dialog.AddDialog("That's what I like to hear! Remember that dirty vagrant you delivered the message to? Rumor has it he's hiding among rogues and scoundrels from the other districts -- a gang called the Giantslayers. And his ... brethren ... have gotten their feathers all ruffled and are planning to come here to ... pay court ... if you understand me. They want to send a message to their leader. Now, I enjoy a good tussle as much as anyone, of course, but, uh ... we don't want to rob you of an opportunity to prove your fighting skills. So, why don't you go to the Giantslayers and tan their mangy hides for us?")
  116. Dialog.AddOption("Don't worry... I'll handle it.", "Dialog6")
  117. Dialog.Start()
  118. OfferQuest(NPC, Spawn, AdvancedProblemSolving)
  119. end
  120. function Dialog6(NPC, Spawn)
  121. FaceTarget(NPC, Spawn)
  122. Dialog.New(NPC, Spawn)
  123. Dialog.AddDialog("Good, maybe you'll earn some respect with us.")
  124. Dialog.AddOption("Yah, yah.")
  125. Dialog.Start()
  126. end
  127. function Dialog10(NPC, Spawn)
  128. FaceTarget(NPC, Spawn)
  129. Dialog.New(NPC, Spawn)
  130. Dialog.AddDialog("I knew you'd take care of 'em! Good show! Oh, and here's a bit-o-coin for all your hard work. Heh, heh.")
  131. Dialog.AddOption("Maybe I might, maybe not. We'll see what my schedule is like.")
  132. Dialog.Start()
  133. end