iceslayer.lua 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. --[[
  2. Script Name : iceslayer.lua
  3. Script Purpose : Waypoint Path for iceslayer.lua
  4. Script Author : Devn00b, premierio015
  5. Script Date : 04/11/2020 07:24:41 PM
  6. Script Notes : Locations collected from Live.
  7. Modified by : premierio015
  8. Modified Date : 26/09/2021 1:34 PM
  9. Modified Notes : fixed dialogues for quest "Barbaric Chores".
  10. Modified Datex2 : Added Varsoon quest dialog and faction check. - Dorbin 2022.06.03
  11. --]]
  12. dofile("SpawnScripts/Generic/GenericEcologyVoiceOvers.lua")
  13. local BarbaricChores = 5363
  14. local Varsoon = 5581
  15. function spawn(NPC)
  16. waypoints(NPC)
  17. ProvidesQuest(NPC, BarbaricChores)
  18. ProvidesQuest(NPC, Varsoon)
  19. end
  20. function hailed(NPC, Spawn)
  21. if GetFactionAmount(Spawn,11) <0 then
  22. FactionChecking(NPC, Spawn, faction)
  23. else
  24. FaceTarget(NPC, Spawn)
  25. conversation = CreateConversation()
  26. local choice = MakeRandomInt(1, 3)
  27. if choice == 1 then
  28. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn)
  29. elseif choice == 2 then
  30. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1001.mp3", "", "", 0, 0, Spawn)
  31. elseif choice == 3 then
  32. PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1001.mp3", "", "", 0, 0, Spawn)
  33. end
  34. AddConversationOption(conversation, "Why didn't he get any sleep last night?", "dlg_2_1")
  35. if not HasQuest(Spawn, BarbaricChores) and not HasCompletedQuest(Spawn, BarbaricChores) then
  36. AddConversationOption(conversation, "No bother... any chores I can help with?", "dlg_8_1")
  37. elseif GetQuestStep(Spawn, BarbaricChores) == 2 then
  38. AddConversationOption(conversation, "I have the venom sacs", "quest_finish")
  39. end
  40. AddConversationOption(conversation, "No problem. I'll just leave him be.")
  41. StartConversation(conversation, NPC, Spawn, "Pay no attention to Warley down there he just probably didn't sleep last night and is a little grumpy. Isn't that right Warley?")
  42. end
  43. function dlg_2_1(NPC, Spawn)
  44. FaceTarget(NPC, Spawn)
  45. conversation = CreateConversation()
  46. if HasCompletedQuest(Spawn,Varsoon) then
  47. AddConversationOption(conversation, "I've actually been there. The crypt has burst open!", "dlg_2_4")
  48. end
  49. AddConversationOption(conversation, "What is so scary about the Tomb of Varsoon?", "dlg_2_2")
  50. AddConversationOption(conversation, "Sounds like a place I don't want to go to myself. ")
  51. StartConversation(conversation, NPC, Spawn, "Warley went to the Tomb of Varsoon to prove he wasn't afraid of walking around on those islands. Sure enough, he didn't get to the first bridge before turning tail and running back home. Poor thing ... all grumpy ... no sleep.")
  52. end
  53. function dlg_2_2(NPC, Spawn)
  54. FaceTarget(NPC, Spawn)
  55. conversation = CreateConversation()
  56. if not HasQuest(Spawn,Varsoon) and not HasCompletedQuest(Spawn,Varsoon) and GetLevel(Spawn)>=10 then
  57. AddConversationOption(conversation, "It sounds like a place I'd like to explore.", "dlg_2_3")
  58. end
  59. if HasCompletedQuest(Spawn,Varsoon) then
  60. AddConversationOption(conversation, "I've actually been there. The crypt has burst open!", "dlg_2_4")
  61. end
  62. AddConversationOption(conversation, "I'll be sure to steer clear from it. ")
  63. StartConversation(conversation, NPC, Spawn, "The tomb once held an evil mage - Varsoon the Undying. He was involved in the War of the Plagues centuries ago. The Cataclysm must have weakened the mage's spells on that place, because he didn't stick around. The Concordium says that Varsoon is long gone, but you wouldn't catch me dead there!")
  64. end
  65. function dlg_2_3(NPC, Spawn)
  66. FaceTarget(NPC, Spawn)
  67. OfferQuest(NPC,Spawn, Varsoon)
  68. end
  69. function dlg_2_4(NPC, Spawn)
  70. FaceTarget(NPC, Spawn)
  71. PlayFlavor(NPC,"","","boggle",0,0,Spawn)
  72. conversation = CreateConversation()
  73. AddConversationOption(conversation, "Let's hope the city is protected from such magic.")
  74. StartConversation(conversation, NPC, Spawn, "You don't say! Well, I certainly will be steering clear now more than ever. May the spirits protect us if this is a bad omen of things to come...")
  75. end
  76. function dlg_8_1(NPC, Spawn)
  77. FaceTarget(NPC, Spawn)
  78. conversation = CreateConversation()
  79. AddConversationOption(conversation, "Ready, willing and able!", "offer")
  80. StartConversation(conversation, NPC, Spawn, "Chores you ask? I planned on heading out to the caves to gather some spider venom sacs, but if you're willing and able, I'll let you handle this task. I'll need at least five of the sacs.")
  81. end
  82. function quest_finish(NPC, Spawn)
  83. SetStepComplete(Spawn, BarbaricChores, 2)
  84. FaceTarget(NPC, Spawn)
  85. conversation = CreateConversation()
  86. AddConversationOption(conversation, "Thanks.")
  87. StartConversation(conversation, NPC, Spawn, "Excellent job, adventurer! Hand over the venom sacs, and I'll pad your purse with coin.")
  88. end
  89. function offer(NPC, Spawn)
  90. OfferQuest(NPC, Spawn, BarbaricChores)
  91. end
  92. function respawn(NPC)
  93. spawn(NPC)
  94. end
  95. function waypoints(NPC)
  96. MovementLoopAddLocation(NPC, 541.45, -3.5, 136.91, 2, 0)
  97. MovementLoopAddLocation(NPC, 526.93, -3.5, 136.14, 2, 0)
  98. MovementLoopAddLocation(NPC, 510.52, -3.48, 134.38, 2, 0)
  99. MovementLoopAddLocation(NPC, 511.79, -3.48, 125.96, 2, 0)
  100. MovementLoopAddLocation(NPC, 527.66, -3.5, 128.38, 2, 0)
  101. MovementLoopAddLocation(NPC, 542.06, -3.5, 128.03, 2, 0)
  102. MovementLoopAddLocation(NPC, 542.42, -5.55, 121.07, 2, 0)
  103. MovementLoopAddLocation(NPC, 552.51, -5.55, 121.16, 2, 0)
  104. MovementLoopAddLocation(NPC, 552.24, -3.5, 127.63, 2, 0)
  105. MovementLoopAddLocation(NPC, 566.13, -3.5, 128.07, 2, 0)
  106. MovementLoopAddLocation(NPC, 582.44, -3.48, 125.97, 2, 0)
  107. MovementLoopAddLocation(NPC, 583.6, -3.48, 135.08, 2, 0)
  108. MovementLoopAddLocation(NPC, 567.53, -3.5, 136.55, 2, 0)
  109. MovementLoopAddLocation(NPC, 553.23, -3.5, 136.78, 2, 0)
  110. MovementLoopAddLocation(NPC, 567.53, -3.5, 136.55, 2, 0)
  111. MovementLoopAddLocation(NPC, 583.6, -3.48, 135.08, 2, 0)
  112. MovementLoopAddLocation(NPC, 582.44, -3.48, 125.97, 2, 0)
  113. MovementLoopAddLocation(NPC, 566.13, -3.5, 128.07, 2, 0)
  114. MovementLoopAddLocation(NPC, 552.24, -3.5, 127.63, 2, 0)
  115. MovementLoopAddLocation(NPC, 552.51, -5.55, 121.16, 2, 0)
  116. MovementLoopAddLocation(NPC, 542.42, -5.55, 121.07, 2, 0)
  117. MovementLoopAddLocation(NPC, 542.06, -3.5, 128.03, 2, 0)
  118. MovementLoopAddLocation(NPC, 527.66, -3.5, 128.38, 2, 0)
  119. MovementLoopAddLocation(NPC, 511.79, -3.48, 125.96, 2, 0)
  120. MovementLoopAddLocation(NPC, 510.52, -3.48, 134.38, 2, 0)
  121. MovementLoopAddLocation(NPC, 526.93, -3.5, 136.14, 2, 0)
  122. MovementLoopAddLocation(NPC, 541.45, -3.5, 136.91, 2, 0)
  123. end