OutlanderVaughn.lua 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. --[[
  2. Script Name : SpawnScripts/ForestRuins/OutlanderVaughn.lua
  3. Script Purpose : Outlander Vaughn
  4. Script Author : John Adams
  5. Script Date : 2008.09.19
  6. Script Notes : Completely rebuilt txt flow, emotes, constructed quests, movements, and added voiceovers - 2022.02.21 Dorbin
  7. --]]
  8. function spawn(NPC)
  9. ProvidesQuest(NPC, 5483)
  10. ProvidesQuest(NPC, 5484)
  11. waypoints(NPC)
  12. end
  13. function waypoints(NPC) --Movements based on CLASSIC
  14. MovementLoopAddLocation(NPC, 1082.67, -18.71, -796.82, 2, 0)
  15. MovementLoopAddLocation(NPC, 1083.38, -18.77, -797.24, 2, 1)
  16. MovementLoopAddLocation(NPC, 1083.38, -18.77, -797.24, 2,math.random(10, 15),"Action")
  17. MovementLoopAddLocation(NPC, 1083.38, -18.77, -797.24, 2, math.random(10, 15),"Action")
  18. MovementLoopAddLocation(NPC, 1084.18, -18.78, -797.06, 2, 0)
  19. MovementLoopAddLocation(NPC, 1129.75, -19.14, -783.28, 2, 0)
  20. MovementLoopAddLocation(NPC, 1162.53, -22.27, -788.62, 2, 0)
  21. MovementLoopAddLocation(NPC, 1179.99, -23.3, -769.21, 2, 0)
  22. MovementLoopAddLocation(NPC, 1180.34, -23.3, -768.48, 2, 3)
  23. MovementLoopAddLocation(NPC, 1180.34, -23.3, -768.48, 2, math.random(10, 15),"Action")
  24. MovementLoopAddLocation(NPC, 1180.34, -23.3, -768.48, 2, math.random(10, 15),"Action")
  25. MovementLoopAddLocation(NPC, 1179.68, -23.3, -769.3, 2, 0)
  26. MovementLoopAddLocation(NPC, 1157.33, -21.98, -793.57, 2, 0)
  27. MovementLoopAddLocation(NPC, 1139.75, -22.25, -814.96, 2, 0)
  28. MovementLoopAddLocation(NPC, 1124.16, -23.29, -838.42, 2, 0)
  29. MovementLoopAddLocation(NPC, 1123.11, -23.28, -838.44, 2, 3)
  30. MovementLoopAddLocation(NPC, 1123.11, -23.28, -838.44, 2, math.random(10, 15),"Action")
  31. MovementLoopAddLocation(NPC, 1123.11, -23.28, -838.44, 2, math.random(10, 15),"Action")
  32. MovementLoopAddLocation(NPC, 1122.45, -23.23, -837.97, 2, 0)
  33. MovementLoopAddLocation(NPC, 1095.11, -22.74, -829.8, 2, 0)
  34. MovementLoopAddLocation(NPC, 1076.66, -20.76, -815.47, 2, 0)
  35. MovementLoopAddLocation(NPC, 1053.81, -19.21, -813.83, 2, 0)
  36. MovementLoopAddLocation(NPC, 1027.03, -20.51, -822.63, 2, 0)
  37. MovementLoopAddLocation(NPC, 1016.75, -21.42, -834.86, 2, 3)
  38. MovementLoopAddLocation(NPC, 1016.75, -21.42, -834.86, 2, math.random(10, 15),"Action")
  39. MovementLoopAddLocation(NPC, 1016.75, -21.42, -834.86, 2, math.random(10, 15),"Action")
  40. MovementLoopAddLocation(NPC, 1016.18, -21.41, -834.67, 2, 0)
  41. MovementLoopAddLocation(NPC, 1016.5, -21.33, -833.72, 2, 0)
  42. MovementLoopAddLocation(NPC, 1039.08, -20.89, -814.82, 2, 0)
  43. MovementLoopAddLocation(NPC, 1070.31, -19.54, -813.86, 2, 0)
  44. MovementLoopAddLocation(NPC, 1076.91, -20.28, -811.51, 2, 0)
  45. end
  46. function Action(NPC,Spawn)
  47. local choice = math.random(1,4)
  48. if choice == 1 then
  49. PlayFlavor(NPC, "", "", "peer", 0, 0, Spawn)
  50. elseif choice == 2 then
  51. PlayFlavor(NPC, "", "", "ponder", 0, 0, Spawn)
  52. elseif choice == 3 then
  53. PlayFlavor(NPC, "", "", "sniff", 0, 0, Spawn)
  54. elseif choice == 4 then
  55. PlayFlavor(NPC, "", "", "confused", 0, 0, Spawn)
  56. end
  57. end
  58. function hailed(NPC, Spawn)
  59. FaceTarget(NPC, Spawn)
  60. conversation = CreateConversation()
  61. if not HasCompletedQuest(Spawn, 5483) and not HasQuest(Spawn, 5483) then
  62. PlayFlavor(NPC, "voiceover/english/outlander_vaughn/qey_adv02_ruins/quests/outlander_dakota/outlander_dakota.mp3", "", "facepalm", 2613853514, 75460760, Spawn)
  63. if GetLevel(Spawn)>=6 then
  64. AddConversationOption(conversation, "What is it you need?", "dlg_4_1")
  65. end
  66. AddConversationOption(conversation, "No time for charity. ")
  67. StartConversation(conversation, NPC, Spawn, "Am I ever in a bind! Will you please help me?")
  68. elseif HasQuest(Spawn, 5483) then
  69. PlayFlavor(NPC, "voiceover/english/outlander_vaughn/qey_adv02_ruins/quests/outlander_dakota/outlander_dakota001.mp3", "", "", 2350706866, 1692101884, Spawn)
  70. if GetQuestStep (Spawn,5483)== 5 then
  71. AddConversationOption(conversation, "Here are your things you were looking for.", "HandIn")
  72. end
  73. AddConversationOption(conversation, "I'm working on it.", "dlg_1_1")
  74. StartConversation(conversation, NPC, Spawn, "I thought you said you'd help me! Do what you can, okay?")
  75. elseif HasCompletedQuest(Spawn, 5483) and not HasCompletedQuest(Spawn, 5484) then
  76. FaceTarget(NPC, Spawn)
  77. conversation = CreateConversation()
  78. PlayFlavor(NPC, "voiceover/english/outlander_vaughn/qey_adv02_ruins/quests/outlander_dakota/outlander_dakota003.mp3", "", "thank", 3067693779, 1933175006, Spawn)
  79. AddConversationOption(conversation, "What else do you need?","Letter")
  80. AddConversationOption(conversation, "I don't have the time, sorry. ")
  81. StartConversation(conversation, NPC, Spawn, "Thank you so very much for finding my dear possessions! Can you help me with one more small favor?")
  82. else
  83. PlayFlavor(NPC, "", "Be careful around these ruins. The nights bring out some of the magic in this place.", "hello", 0, 0, Spawn)
  84. end
  85. end
  86. function dlg_4_1(NPC, Spawn)
  87. FaceTarget(NPC, Spawn)
  88. conversation = CreateConversation()
  89. PlayFlavor(NPC, "voiceover/english/outlander_vaughn/qey_adv02_ruins/quests/outlander_dakota/outlander_dakota000.mp3", "", "sigh", 2228081863, 624137908, Spawn)
  90. AddConversationOption(conversation, "I'll see what I can do.", "StuffStart")
  91. AddConversationOption(conversation, "Sorry. This isn't my problem.")
  92. StartConversation(conversation, NPC, Spawn, "Those wretched Blackfurl deckhands stole my satchel! It had everything that was important to me. Please, recover my satchel!")
  93. end
  94. function Letter(NPC, Spawn)
  95. FaceTarget(NPC, Spawn)
  96. conversation = CreateConversation()
  97. PlayFlavor(NPC, "voiceover/english/outlander_vaughn/qey_adv02_ruins/quests/outlander_dakota/outlander_dakota004.mp3", "", "", 3189315384, 2954944318, Spawn)
  98. AddConversationOption(conversation, "Yeah sure I'll do it.", "dlg_4_3")
  99. AddConversationOption(conversation, "I'll pass. Good luck.")
  100. StartConversation(conversation, NPC, Spawn, "I need you to take this letter to Hunter Forestdeep. You'll find him in the Willow Wood village.")
  101. end
  102. function HandIn (NPC,Spawn)
  103. conversation = CreateConversation()
  104. PlayFlavor(NPC, "voiceover/english/outlander_vaughn/qey_adv02_ruins/quests/outlander_dakota/outlander_dakota002.mp3", "", "", 1507419454, 3520863692, Spawn)
  105. AddConversationOption(conversation, "You could thank me by paying me.", "Reward1")
  106. StartConversation(conversation, NPC, Spawn, "What's that you have? You found my stuff! That's fantastic! I can't thank you enough.")
  107. end
  108. function StuffStart (NPC, Spawn)
  109. FaceTarget(NPC, Spawn)
  110. OfferQuest(NPC, Spawn, 5483)
  111. end
  112. function dlg_4_3 (NPC, Spawn)
  113. FaceTarget(NPC, Spawn)
  114. OfferQuest(NPC, Spawn, 5484)
  115. end
  116. function Reward1(NPC, Spawn)
  117. SetStepComplete(Spawn, 5483, 5)
  118. conversation = CreateConversation()
  119. PlayFlavor(NPC, "voiceover/english/outlander_vaughn/qey_adv02_ruins/quests/outlander_dakota/outlander_dakota003.mp3", "", "thank", 3067693779, 1933175006, Spawn)
  120. AddConversationOption(conversation, "What else do you need?","Letter")
  121. AddConversationOption(conversation, "I don't have the time, sorry. ")
  122. StartConversation(conversation, NPC, Spawn, "Thank you so very much for finding my dear possessions! Can you help me with one more small favor?")
  123. end