PathfinderSilentstride.lua 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. --[[
  2. Script Name : SpawnScripts/Graystone/PathfinderSilentstride.lua
  3. Script Purpose : Pathfinder Silentstride
  4. Script Author : Dorbin
  5. Script Date : 2022.03.11
  6. Script Notes :
  7. --]]
  8. local Delivery = 5510
  9. function spawn(NPC)
  10. SetPlayerProximityFunction(NPC, 9, "InRange", "LeaveRange")
  11. ProvidesQuest(NPC, Delivery)
  12. end
  13. function respawn(NPC)
  14. spawn(NPC)
  15. end
  16. function InRange(NPC, Spawn) --Quest Callout
  17. if math.random(1, 100) <= 70 then
  18. if not HasCompletedQuest (Spawn, Delivery) and not HasQuest (Spawn, Delivery) then
  19. FaceTarget(NPC, Spawn)
  20. choice = math.random(1,2)
  21. if choice ==1 then
  22. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/100_ranger_woodelf_silentsride_callout_31ae5f30.mp3","Greetings adventurer! Please use caution when traveling outside the city. The nearby wilderness can be as unforgiving as the gates themselves.", "hello", 387396837, 3968570579, Spawn)
  23. else
  24. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/100_ranger_woodelf_silentsride_multhail1_37aa39ea.mp3","Greetings friend! If I were you, I would be on my way! This village isn't fit for an adventurer like you", "nod", 2207900054, 321913553, Spawn)
  25. end
  26. else
  27. choice = math.random(1,2)
  28. FaceTarget(NPC, Spawn)
  29. if choice ==1 then
  30. PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn)
  31. else
  32. PlayFlavor(NPC, "", "", "nod", 0, 0, Spawn)
  33. end
  34. end
  35. end
  36. end
  37. function hailed(NPC, Spawn)
  38. FaceTarget(NPC, Spawn)
  39. conversation = CreateConversation()
  40. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride000.mp3", "", "", 3050887805, 230076738, Player, Spawn)
  41. if not HasCompletedQuest(Spawn,Delivery) and not HasQuest(Spawn,Delivery) then
  42. AddConversationOption(conversation, "What is a pathfinder doing in Graystone?","Pathfinder")
  43. end
  44. if GetQuestStep(Spawn,Delivery)==2 then
  45. AddConversationOption(conversation, "I delievered your message to Tracker Kelnis.","Delivered")
  46. end
  47. if HasCompletedQuest(Spawn,Delivery) or HasQuest(Spawn,Delivery) then
  48. AddConversationOption(conversation, "Remind me, who is Holly Windstalker?","Windstalker1")
  49. end
  50. AddConversationOption(conversation, "Thanks for the warning.")
  51. StartConversation(conversation, NPC, Spawn, "Greetings, adventurer. Be careful traveling outside the city. The nearby wilderness is as unforgiving as the fates themselves.")
  52. end
  53. function Pathfinder(NPC, Spawn)
  54. FaceTarget(NPC, Spawn)
  55. conversation = CreateConversation()
  56. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride001.mp3", "", "shrug", 2455496325, 3990152324, Spawn)
  57. AddConversationOption(conversation, "I'm pretty capable.","Able")
  58. AddConversationOption(conversation, "I'll leave you to it then.")
  59. StartConversation(conversation, NPC, Spawn, "I must admit, this village doesn't offer much trailblazing. But occasionally we adventurers must journey to these places to find able-bodied companions.")
  60. end
  61. function Able(NPC, Spawn)
  62. FaceTarget(NPC, Spawn)
  63. conversation = CreateConversation()
  64. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride002.mp3", "", "no", 3018384853, 4033242991, Spawn)
  65. AddConversationOption(conversation, "What do you need?","Able2")
  66. AddConversationOption(conversation, "I'll leave you to it then.")
  67. StartConversation(conversation, NPC, Spawn, "I am sure you are, friend. But I am sorry to say I've already found a new member for my fellowship. Sadly, my new friend is stuck in a long line at the local exchange. She will be longer than I had hoped. Could you do me a favor?")
  68. end
  69. function Able2(NPC, Spawn)
  70. FaceTarget(NPC, Spawn)
  71. conversation = CreateConversation()
  72. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride003.mp3", "", "", 307846210, 3852204459, Spawn)
  73. AddConversationOption(conversation, "I will deliver the message.","QuestBegin")
  74. AddConversationOption(conversation, "Who is Holly Windstalker?","Windstalker1")
  75. AddConversationOption(conversation, "I don't think I can. Sorry.")
  76. StartConversation(conversation, NPC, Spawn, "I would appreciate you informing a third party. Kelnis, a tracker. I have information regarding Holly Windstalker's grave. I was to meet him on a bridge in the Oakmyst Forest.")
  77. end
  78. function QuestBegin (NPC, Spawn)
  79. FaceTarget(NPC, Spawn)
  80. OfferQuest(NPC, Spawn, Delivery)
  81. end
  82. function Delivered(NPC, Spawn)
  83. FaceTarget(NPC, Spawn)
  84. conversation = CreateConversation()
  85. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride004.mp3", "", "", 3041535965, 1822836800, Spawn)
  86. AddConversationOption(conversation, "Glad to help. Farewell.","Done")
  87. StartConversation(conversation, NPC, Spawn, "Very wise of him. Thank you for aiding us. Here is a bit of coin. Perhaps we shall cross paths again someday. Farewell.")
  88. end
  89. function Done(NPC, Spawn)
  90. SetStepComplete(Spawn, Delivery, 2)
  91. end
  92. function Windstalker1(NPC, Spawn)
  93. FaceTarget(NPC, Spawn)
  94. conversation = CreateConversation()
  95. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride005.mp3", "", "", 335966183, 4232259848, Spawn)
  96. AddConversationOption(conversation, "Tell me more.","Windstalker2")
  97. if not HasCompletedQuest(Spawn,Delivery) and not HasQuest(Spawn,Delivery) then
  98. AddConversationOption(conversation, "Interesting. I will deliver the message you requested.","QuestBegin")
  99. end
  100. AddConversationOption(conversation, "I've heard enough for now.")
  101. StartConversation(conversation, NPC, Spawn, "During the great Age of Turmoil, Holly Windstalker raced across the countryside of Antonica then known as Qeynos Hills. Once she arrived, she defended every living forest creature from harm.")
  102. end
  103. function Windstalker2(NPC, Spawn)
  104. FaceTarget(NPC, Spawn)
  105. conversation = CreateConversation()
  106. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride006.mp3", "", "", 371777801, 2569375122, Spawn)
  107. AddConversationOption(conversation, "Tell me more.","Windstalker3")
  108. if not HasCompletedQuest(Spawn,Delivery) and not HasQuest(Spawn,Delivery) then
  109. AddConversationOption(conversation, "Interesting. I will deliver the message you requested.","QuestBegin")
  110. end
  111. AddConversationOption(conversation, "I've heard enough for now.")
  112. StartConversation(conversation, NPC, Spawn, "Holly Windstalker's devotion to protecting the forest creatures earned her hatred amongst the local residents and adventurers. She upheld the Code of Kithicor with such fervor that she became imbued with great powers of nature.")
  113. end
  114. function Windstalker3(NPC, Spawn)
  115. FaceTarget(NPC, Spawn)
  116. conversation = CreateConversation()
  117. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride007.mp3", "", "", 1473255226, 2922317764, Spawn)
  118. AddConversationOption(conversation, "Tell me more.","Windstalker4")
  119. if not HasCompletedQuest(Spawn,Delivery) and not HasQuest(Spawn,Delivery) then
  120. AddConversationOption(conversation, "Interesting. I will deliver the message you requested.","QuestBegin")
  121. end
  122. AddConversationOption(conversation, "I've heard enough for now.")
  123. StartConversation(conversation, NPC, Spawn, "The hatred for Windstalker grew, and eventually, the trappers of Qeynos Hills hired mercenaries to do away with her... The forest folk found her body and buried it in a secret location.")
  124. end
  125. function Windstalker4(NPC, Spawn)
  126. FaceTarget(NPC, Spawn)
  127. conversation = CreateConversation()
  128. PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride008.mp3", "", "", 1320532888, 2225942616, Spawn)
  129. if not HasCompletedQuest(Spawn,Delivery) and not HasQuest(Spawn,Delivery) then
  130. AddConversationOption(conversation, "Thank you. I will deliver the message you requested.","QuestBegin")
  131. end
  132. AddConversationOption(conversation, "Thank your for sharing her tale.")
  133. StartConversation(conversation, NPC, Spawn, "Rangers do not seek artifacts of great power, though her grave must contain them. Weseek her blessing. It is said that forest folk who show great devotion to Holly and pay tribute to her gravesite, shall be imbued with her powers.")
  134. end