CrispinLuvinius.lua 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. --[[
  2. Script Name : SpawnScripts/Sprawl/CrispinLuvinius.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. local ProblemSolving = 5661
  9. local AdvancedProblemSolving = 5662
  10. function spawn(NPC)
  11. ProvidesQuest(NPC, ProblemSolving)
  12. ProvidesQuest(NPC, AdvancedProblemSolving)
  13. end
  14. function respawn(NPC)
  15. spawn(NPC)
  16. end
  17. function hailed(NPC, Spawn)
  18. FaceTarget(NPC, Spawn)
  19. if not HasQuest(Spawn, ProblemSolving) and not HasCompletedQuest(Spawn, ProblemSolving) then
  20. Dialog7(NPC, Spawn)
  21. end
  22. if HasCompletedQuest(Spawn, ProblemSolving) then
  23. if not HasQuest(Spawn, AdvancedProblemSolving) and not HasCompletedQuest(Spawn, AdvancedProblemSolving) then
  24. Dialog8(NPC, Spawn)
  25. end
  26. end
  27. if HasCompletedQuest(Spawn, ProblemSolving) and HasCompletedQuest(Spawn, AdvancedProblemSolving)then
  28. Dialog3(NPC, Spawn)
  29. end
  30. if GetQuestStep(Spawn, ProblemSolving) == 1 then
  31. SetStepComplete(Spawn, ProblemSolving, 1)
  32. Dialog8(NPC, Spawn)
  33. end
  34. if GetQuestStep(Spawn, AdvancedProblemSolving) == 1 then
  35. SetStepComplete(Spawn, AdvancedProblemSolving, 1)
  36. Dialog10(NPC, Spawn)
  37. end
  38. RandomGreeting(NPC, Spawn)
  39. end
  40. function RandomGreeting(NPC, Spawn)
  41. local choice = MakeRandomInt(1,4)
  42. if choice == 1 then
  43. 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)
  44. elseif choice == 2 then
  45. PlayVoice(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", 0, 0, Spawn)
  46. elseif choice == 3 then
  47. PlayVoice(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", 0, 0, Spawn)
  48. elseif choice == 4 then
  49. PlayVoice(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", 0, 0, Spawn)
  50. end
  51. end
  52. function Dialog3(NPC, Spawn)
  53. FaceTarget(NPC, Spawn)
  54. Dialog.New(NPC, Spawn)
  55. Dialog.AddDialog("Do you have a problem? You're gonna have one soon if you don't keep walking.")
  56. Dialog.AddVoiceover("voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", 1982819374, 703450678)
  57. Dialog.AddOption("I don't want any trouble.")
  58. Dialog.Start()
  59. end
  60. --========================= Quest 1
  61. function Dialog7(NPC, Spawn)
  62. FaceTarget(NPC, Spawn)
  63. Dialog.New(NPC, Spawn)
  64. Dialog.AddDialog("Do you have a problem? You're gonna have one soon if you don't keep walking.")
  65. Dialog.AddVoiceover("voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", 1982819374, 703450678)
  66. Dialog.AddOption("I don't have a problem... I solve problems. Anything you need fixed?", "Dialog11")
  67. Dialog.AddOption("I don't want any trouble.")
  68. Dialog.Start()
  69. end
  70. function Dialog11(NPC, Spawn)
  71. FaceTarget(NPC, Spawn)
  72. Dialog.New(NPC, Spawn)
  73. 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?")
  74. Dialog.AddOption("Of course I can. I said I was a problem solver, didn't I?", "Dialog12")
  75. Dialog.AddOption("Not really... I've got too many other things to do. Maybe some other time.")
  76. Dialog.Start()
  77. end
  78. function Dialog12(NPC, Spawn)
  79. FaceTarget(NPC, Spawn)
  80. Dialog.New(NPC, Spawn)
  81. 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?")
  82. Dialog.AddOption("Sounds like an easy job.", "Dialog1")
  83. Dialog.Start()
  84. OfferQuest(NPC, Spawn, ProblemSolving)
  85. end
  86. function Dialog1(NPC, Spawn)
  87. FaceTarget(NPC, Spawn)
  88. Dialog.New(NPC, Spawn)
  89. Dialog.AddDialog("Come back when you're done.")
  90. Dialog.AddOption("All right.")
  91. Dialog.Start()
  92. end
  93. --==================== Quest 2
  94. function Dialog8(NPC, Spawn)
  95. FaceTarget(NPC, Spawn)
  96. Dialog.New(NPC, Spawn)
  97. Dialog.AddDialog("Do you have a problem? You're gonna have one soon if you don't keep walking.")
  98. Dialog.AddVoiceover("voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", 1982819374, 703450678)
  99. Dialog.AddOption("So... have any more problems you can't handle yourself?", "Dialog9")
  100. Dialog.AddOption("I don't want any trouble.")
  101. Dialog.Start()
  102. end
  103. function Dialog9(NPC, Spawn)
  104. FaceTarget(NPC, Spawn)
  105. Dialog.New(NPC, Spawn)
  106. 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.")
  107. Dialog.AddOption("As long as you have the money, I'm willing to do it.", "Dialog13")
  108. Dialog.AddOption("Sorry... I don't work for lazy people... or cowards.")
  109. Dialog.Start()
  110. end
  111. function Dialog13(NPC, Spawn)
  112. FaceTarget(NPC, Spawn)
  113. Dialog.New(NPC, Spawn)
  114. 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?")
  115. Dialog.AddOption("Don't worry... I'll handle it.", "Dialog6")
  116. Dialog.Start()
  117. OfferQuest(NPC, Spawn, AdvancedProblemSolving)
  118. end
  119. function Dialog6(NPC, Spawn)
  120. FaceTarget(NPC, Spawn)
  121. Dialog.New(NPC, Spawn)
  122. Dialog.AddDialog("Good, maybe you'll earn some respect with us.")
  123. Dialog.AddOption("Yah, yah.")
  124. Dialog.Start()
  125. end
  126. function Dialog10(NPC, Spawn)
  127. FaceTarget(NPC, Spawn)
  128. Dialog.New(NPC, Spawn)
  129. 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.")
  130. Dialog.AddOption("Maybe I might, maybe not. We'll see what my schedule is like.")
  131. Dialog.Start()
  132. end