Browse Source

Merge branch 'master' of http://cutpon.com:3000/devn00b/EQ2EMu

Image 4 years ago
parent
commit
61f23c9881
100 changed files with 4323 additions and 95 deletions
  1. 46 0
      Lua/SpawnScripts/Qeynos/blackcat.lua
  2. 54 0
      Lua/SpawnScripts/Qeynos/kitten.lua
  3. 40 0
      Lua/SpawnScripts/QeynosHarbor/ASafarofMajdul.lua
  4. 46 0
      Lua/SpawnScripts/QeynosHarbor/AerisLightwind.lua
  5. 38 0
      Lua/SpawnScripts/QeynosHarbor/AlexanderKerr.lua
  6. 26 14
      Lua/SpawnScripts/QeynosHarbor/Aliindar.lua
  7. 58 0
      Lua/SpawnScripts/QeynosHarbor/AlissaCleeway.lua
  8. 28 0
      Lua/SpawnScripts/QeynosHarbor/AmbassadorDuryoValstath.lua
  9. 38 0
      Lua/SpawnScripts/QeynosHarbor/AshildaMacHinry.lua
  10. 31 0
      Lua/SpawnScripts/QeynosHarbor/BarmaidDrinna.lua
  11. 10 0
      Lua/SpawnScripts/QeynosHarbor/Bilur.lua
  12. 40 0
      Lua/SpawnScripts/QeynosHarbor/BirneyAbbot.lua
  13. 58 0
      Lua/SpawnScripts/QeynosHarbor/BordenMannus.lua
  14. 38 0
      Lua/SpawnScripts/QeynosHarbor/Buresh.lua
  15. 38 0
      Lua/SpawnScripts/QeynosHarbor/CarpenterPaddock.lua
  16. 28 0
      Lua/SpawnScripts/QeynosHarbor/ColinMcEntire.lua
  17. 36 0
      Lua/SpawnScripts/QeynosHarbor/DevonaIronforge.lua
  18. 38 0
      Lua/SpawnScripts/QeynosHarbor/Elderstrike.lua
  19. 110 0
      Lua/SpawnScripts/QeynosHarbor/ErwinRohand.lua
  20. 38 0
      Lua/SpawnScripts/QeynosHarbor/Evenwood.lua
  21. 28 0
      Lua/SpawnScripts/QeynosHarbor/Fosur.lua
  22. 40 0
      Lua/SpawnScripts/QeynosHarbor/GaelPinewhisper.lua
  23. 28 0
      Lua/SpawnScripts/QeynosHarbor/GarstonViona.lua
  24. 31 0
      Lua/SpawnScripts/QeynosHarbor/GrisvaneStonearm.lua
  25. 12 0
      Lua/SpawnScripts/QeynosHarbor/Groban.lua
  26. 12 0
      Lua/SpawnScripts/QeynosHarbor/Hanstock.lua
  27. 40 0
      Lua/SpawnScripts/QeynosHarbor/HarbormasterCrestbreak.lua
  28. 36 0
      Lua/SpawnScripts/QeynosHarbor/HarronGriswald.lua
  29. 36 0
      Lua/SpawnScripts/QeynosHarbor/HeatherAtherton.lua
  30. 11 0
      Lua/SpawnScripts/QeynosHarbor/Highgold.lua
  31. 28 0
      Lua/SpawnScripts/QeynosHarbor/InnkeeperGalsway.lua
  32. 38 0
      Lua/SpawnScripts/QeynosHarbor/JarekOKelly.lua
  33. 28 0
      Lua/SpawnScripts/QeynosHarbor/JohneMandell.lua
  34. 28 0
      Lua/SpawnScripts/QeynosHarbor/KayFoamdancer.lua
  35. 38 0
      Lua/SpawnScripts/QeynosHarbor/KeigwynMacinshire.lua
  36. 42 0
      Lua/SpawnScripts/QeynosHarbor/Kizmit.lua
  37. 28 0
      Lua/SpawnScripts/QeynosHarbor/LitheonMcElhannon.lua
  38. 40 0
      Lua/SpawnScripts/QeynosHarbor/LyricistKuehja.lua
  39. 28 0
      Lua/SpawnScripts/QeynosHarbor/LyricistTrucci.lua
  40. 38 0
      Lua/SpawnScripts/QeynosHarbor/MadamIstynia.lua
  41. 28 0
      Lua/SpawnScripts/QeynosHarbor/MariusIronflint.lua
  42. 47 0
      Lua/SpawnScripts/QeynosHarbor/MaryDillon.lua
  43. 42 0
      Lua/SpawnScripts/QeynosHarbor/MindaBroadfeet.lua
  44. 40 0
      Lua/SpawnScripts/QeynosHarbor/NelisGreenpocket.lua
  45. 10 0
      Lua/SpawnScripts/QeynosHarbor/Oakhall.lua
  46. 41 0
      Lua/SpawnScripts/QeynosHarbor/PearlHoneywine.lua
  47. 1 1
      Lua/SpawnScripts/QeynosHarbor/Pepper.lua
  48. 38 0
      Lua/SpawnScripts/QeynosHarbor/PeytroIronside.lua
  49. 49 0
      Lua/SpawnScripts/QeynosHarbor/PhenDomlinson.lua
  50. 40 0
      Lua/SpawnScripts/QeynosHarbor/Porter.lua
  51. 38 0
      Lua/SpawnScripts/QeynosHarbor/PortisBonham.lua
  52. 37 49
      Lua/SpawnScripts/QeynosHarbor/Pottsby.lua
  53. 64 0
      Lua/SpawnScripts/QeynosHarbor/QuartermasterLewyn.lua
  54. 79 0
      Lua/SpawnScripts/QeynosHarbor/QueenAntoniaBayle.lua
  55. 40 0
      Lua/SpawnScripts/QeynosHarbor/Rabbleson.lua
  56. 28 0
      Lua/SpawnScripts/QeynosHarbor/RandalGromoe.lua
  57. 36 0
      Lua/SpawnScripts/QeynosHarbor/ReneeAtherton.lua
  58. 40 0
      Lua/SpawnScripts/QeynosHarbor/RobertNewbury.lua
  59. 50 0
      Lua/SpawnScripts/QeynosHarbor/RosalinaGoodfallow.lua
  60. 38 0
      Lua/SpawnScripts/QeynosHarbor/Rothun.lua
  61. 40 0
      Lua/SpawnScripts/QeynosHarbor/RoyalAccountantFowler.lua
  62. 28 0
      Lua/SpawnScripts/QeynosHarbor/SeanWellfayer.lua
  63. 28 0
      Lua/SpawnScripts/QeynosHarbor/ShandaTierbold.lua
  64. 38 0
      Lua/SpawnScripts/QeynosHarbor/SheldonLamport.lua
  65. 36 0
      Lua/SpawnScripts/QeynosHarbor/ShiharraVeldin.lua
  66. 38 0
      Lua/SpawnScripts/QeynosHarbor/SmithHolgren.lua
  67. 37 0
      Lua/SpawnScripts/QeynosHarbor/SquireMoorford.lua
  68. 36 0
      Lua/SpawnScripts/QeynosHarbor/Taburg.lua
  69. 40 0
      Lua/SpawnScripts/QeynosHarbor/TalaMcMorgan.lua
  70. 40 0
      Lua/SpawnScripts/QeynosHarbor/ThomasBodley.lua
  71. 66 0
      Lua/SpawnScripts/QeynosHarbor/UmliGrayfist.lua
  72. 28 0
      Lua/SpawnScripts/QeynosHarbor/Velnia.lua
  73. 36 0
      Lua/SpawnScripts/QeynosHarbor/Velwich.lua
  74. 46 0
      Lua/SpawnScripts/QeynosHarbor/VernonTinworthy.lua
  75. 11 0
      Lua/SpawnScripts/QeynosHarbor/Warland.lua
  76. 40 0
      Lua/SpawnScripts/QeynosHarbor/Zara.lua
  77. 57 0
      Lua/SpawnScripts/QeynosHarbor/aBarbarianTrader.lua
  78. 71 0
      Lua/SpawnScripts/QeynosHarbor/aGigglegibberScout.lua
  79. 55 6
      Lua/SpawnScripts/QeynosHarbor/aQeynoscitizen.lua
  80. 39 0
      Lua/SpawnScripts/QeynosHarbor/aQeynoscitizen2.lua
  81. 76 0
      Lua/SpawnScripts/QeynosHarbor/adrunksailor.lua
  82. 64 0
      Lua/SpawnScripts/QeynosHarbor/agnomeobserver.lua
  83. 88 0
      Lua/SpawnScripts/QeynosHarbor/agnomeresearcher.lua
  84. 71 0
      Lua/SpawnScripts/QeynosHarbor/agnomeresearcher_1.lua
  85. 53 0
      Lua/SpawnScripts/QeynosHarbor/aniksarcommander.lua
  86. 64 0
      Lua/SpawnScripts/QeynosHarbor/aniksarobserver.lua
  87. 64 0
      Lua/SpawnScripts/QeynosHarbor/aniksarwarrior.lua
  88. 39 0
      Lua/SpawnScripts/QeynosHarbor/apiratecaptain.lua
  89. 46 0
      Lua/SpawnScripts/QeynosHarbor/apiratefirstmate.lua
  90. 49 1
      Lua/SpawnScripts/QeynosHarbor/boulden.lua
  91. 3 0
      Lua/SpawnScripts/QeynosHarbor/hilldon.lua
  92. 27 0
      Lua/SpawnScripts/QeynosHarbor/nathan.lua
  93. 100 24
      Lua/SpawnScripts/QeynosHarbor/tabina.lua
  94. 14 0
      Lua/SpawnScripts/QeynosHarbor/wyrmdon.lua
  95. 66 0
      Lua/SpawnScripts/QeynosNorth/campos.lua
  96. 76 0
      Lua/SpawnScripts/QeynosNorth/jaszmine.lua
  97. 142 0
      Lua/SpawnScripts/QeynosNorth/jublx.lua
  98. 86 0
      Lua/SpawnScripts/QeynosNorth/landro.lua
  99. 62 0
      Lua/SpawnScripts/QeynosNorth/lovato.lua
  100. 88 0
      Lua/SpawnScripts/QeynosNorth/mcduffie.lua

+ 46 - 0
Lua/SpawnScripts/Qeynos/blackcat.lua

@@ -0,0 +1,46 @@
+--[[
+	Script Name		:	blackcat.lua
+	Script Purpose	:	Waypoint Path for blackcat.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/13/2020 01:25:43 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 615.56, -12.22, 144.88, 2, 30)
+	MovementLoopAddLocation(NPC, 593.87, -11.18, 141.7, 2, 30)
+	MovementLoopAddLocation(NPC, 590.38, -10.33, 139.65, 2, 0)
+	MovementLoopAddLocation(NPC, 587.59, -10.34, 118.01, 2, 0)
+	MovementLoopAddLocation(NPC, 576.39, -9.99, 119.16, 2, 0)
+	MovementLoopAddLocation(NPC, 556.9, -9.99, 118.07, 2, 0)
+	MovementLoopAddLocation(NPC, 533.96, -9.99, 118.41, 2, 0)
+	MovementLoopAddLocation(NPC, 530.12, -9.99, 119.6, 2, 0)
+	MovementLoopAddLocation(NPC, 509.88, -9.99, 118.64, 2, 0)
+	MovementLoopAddLocation(NPC, 497.04, -11.27, 114.89, 2, 0)
+	MovementLoopAddLocation(NPC, 493.63, -11.27, 115.43, 2, 0)
+	MovementLoopAddLocation(NPC, 483.9, -11.27, 112.86, 2, 30)
+	MovementLoopAddLocation(NPC, 493.63, -11.27, 115.43, 2, 0)
+	MovementLoopAddLocation(NPC, 497.04, -11.27, 114.89, 2, 0)
+	MovementLoopAddLocation(NPC, 509.88, -9.99, 118.64, 2, 0)
+	MovementLoopAddLocation(NPC, 530.12, -9.99, 119.6, 2, 0)
+	MovementLoopAddLocation(NPC, 533.96, -9.99, 118.41, 2, 0)
+	MovementLoopAddLocation(NPC, 556.9, -9.99, 118.07, 2, 0)
+	MovementLoopAddLocation(NPC, 576.39, -9.99, 119.16, 2, 0)
+	MovementLoopAddLocation(NPC, 587.59, -10.34, 118.01, 2, 0)
+	MovementLoopAddLocation(NPC, 590.38, -10.33, 139.65, 2, 0)
+	MovementLoopAddLocation(NPC, 593.87, -11.18, 141.7, 2, 30)
+	MovementLoopAddLocation(NPC, 615.56, -12.22, 144.88, 2, 30)
+end
+
+

+ 54 - 0
Lua/SpawnScripts/Qeynos/kitten.lua

@@ -0,0 +1,54 @@
+--[[
+	Script Name		:	kitten.lua
+	Script Purpose	:	Waypoint Path for kitten.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/13/2020 01:39:12 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 634.15, -16.45, 181.23, 2, 30)
+	MovementLoopAddLocation(NPC, 633.86, -16.45, 177.94, 2, 0)
+	MovementLoopAddLocation(NPC, 635.62, -16.45, 177.45, 2, 0)
+	MovementLoopAddLocation(NPC, 638.65, -16.45, 177.3, 2, 0)
+	MovementLoopAddLocation(NPC, 639.86, -16.45, 183.18, 2, 0)
+	MovementLoopAddLocation(NPC, 634.06, -16.45, 184.98, 2, 0)
+	MovementLoopAddLocation(NPC, 641.22, -16.45, 184.04, 2, 0)
+	MovementLoopAddLocation(NPC, 639.66, -16.45, 175.35, 2, 0)
+	MovementLoopAddLocation(NPC, 642.9, -16.45, 174.4, 2, 0)
+	MovementLoopAddLocation(NPC, 644.94, -16.45, 174.26, 2, 0)
+	MovementLoopAddLocation(NPC, 644.43, -16.45, 178.29, 2, 0)
+	MovementLoopAddLocation(NPC, 651.87, -16.45, 180.09, 2, 0)
+	MovementLoopAddLocation(NPC, 646.75, -16.45, 175.02, 2, 0)
+	MovementLoopAddLocation(NPC, 649.11, -16.45, 173.09, 2, 0)
+	MovementLoopAddLocation(NPC, 651.36, -16.45, 172.71, 2, 0)
+	MovementLoopAddLocation(NPC, 652.4, -16.45, 174.89, 2, 30)
+	MovementLoopAddLocation(NPC, 651.36, -16.45, 172.71, 2, 0)
+	MovementLoopAddLocation(NPC, 649.11, -16.45, 173.09, 2, 0)
+	MovementLoopAddLocation(NPC, 646.75, -16.45, 175.02, 2, 0)
+	MovementLoopAddLocation(NPC, 651.87, -16.45, 180.09, 2, 0)
+	MovementLoopAddLocation(NPC, 644.43, -16.45, 178.29, 2, 0)
+	MovementLoopAddLocation(NPC, 644.94, -16.45, 174.26, 2, 0)
+	MovementLoopAddLocation(NPC, 642.9, -16.45, 174.4, 2, 0)
+	MovementLoopAddLocation(NPC, 639.66, -16.45, 175.35, 2, 0)
+	MovementLoopAddLocation(NPC, 641.22, -16.45, 184.04, 2, 0)
+	MovementLoopAddLocation(NPC, 634.06, -16.45, 184.98, 2, 0)
+	MovementLoopAddLocation(NPC, 639.86, -16.45, 183.18, 2, 0)
+	MovementLoopAddLocation(NPC, 638.65, -16.45, 177.3, 2, 0)
+	MovementLoopAddLocation(NPC, 635.62, -16.45, 177.45, 2, 0)
+	MovementLoopAddLocation(NPC, 633.86, -16.45, 177.94, 2, 0)
+	MovementLoopAddLocation(NPC, 634.15, -16.45, 181.23, 2, 30)
+end
+
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/ASafarofMajdul.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/ASafarofMajdul.lua
+	Script Purpose	: A Safar of Maj'dul 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Please ride the carpet out to the boat that will take you to the Isle of Ro. Others are waiting there to make your journey comfortable.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Come see and feel the wonders of the Isle of Ro. It's only a short carpet ride to the boat.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "It is an honor to assist you in your travels to the Isle of Ro. Please just take the carpet out to the boat that will take you to the Isle of Ro.", "fullcurtsey", 1689589577, 4560189, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "", "It is an honor to assist you in your travels to the Isle of Ro. Please just take one of our carpets out to the boat that will take you to the Isle of Ro.", "fullcurtsey", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+

+ 46 - 0
Lua/SpawnScripts/QeynosHarbor/AerisLightwind.lua

@@ -0,0 +1,46 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/AerisLightwind.lua
+	Script Purpose	: Aeris Lightwind <Provisioner>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/merchant_aeris_lightwind/qey_harbor/aerislightwind000.mp3", "", "", 2050407066, 4101070387, Spawn)
+		AddConversationOption(conversation, "Not right now, thanks.", "dlg_6_1")
+	StartConversation(conversation, NPC, Spawn, "Look around? Freshest catch on the docks.")
+	if convo==7 then
+		PlayFlavor(NPC, "voiceover/english/merchant_aeris_lightwind/qey_harbor/aerislightwind000.mp3", "", "", 2050407066, 4101070387, Spawn)
+		AddConversationOption(conversation, "Not right now, thanks.", "dlg_7_1")
+		StartConversation(conversation, NPC, Spawn, "Look around? Freshest catch on the docks.")
+	end
+
+end
+
+function dlg_7_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "voiceover/english/merchant_aeris_lightwind/qey_harbor/aerislightwind000.mp3", "", "", 2050407066, 4101070387, Spawn)
+		AddConversationOption(conversation, "Not right now, thanks.", "dlg_7_2")
+	StartConversation(conversation, NPC, Spawn, "Look around? Freshest catch on the docks.")
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/AlexanderKerr.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/AlexanderKerr.lua
+	Script Purpose	: Alexander Kerr <Bowyer>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_1/ft/service/armorsmith/human_armorsmith_service_good_1_hail_gm_58a92b79.mp3", "You can never be too careful when it comes to protection.  Here, try on one of these.", "agree", 1065665881, 1563994341, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_1/ft/service/armorsmith/human_armorsmith_service_good_1_hail_gm_bb02310.mp3", "Coin is no object when gaining protection from your enemies.  What price can be put on your safety? ", "glare", 4001145540, 1700499989, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_1/ft/service/armorsmith/human_armorsmith_service_good_1_hail_gm_db7232a3.mp3", "Well, that suit is looking a mite worn.  Can I interest you in a new suit of fine armor? ", "ponder", 3836224141, 450395477, Spawn)
+	else
+	end
+
+end
+

+ 26 - 14
Lua/SpawnScripts/QeynosHarbor/Aliindar.lua

@@ -1,29 +1,41 @@
 --[[
-    Script Name    : SpawnScripts/QeynosHarbor/Aliindar.lua
-    Script Author  : TyroneSWG
-    Script Date    : 2019.01.23 03:01:35
-    Script Purpose : Broker Aliindar's Voiceover files. (Note: they aren't playing not sure why.)
-                   : 
+	Script Name	: SpawnScripts/QeynosHarbor/Aliindar.lua
+	Script Purpose	: Aliindar <Broker>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
 --]]
 
 function spawn(NPC)
-	SetPlayerProximityFunction(NPC, 5, "InRange", "LeaveRange")
-end
-
-function hailed(NPC, Spawn)
-    --PlayVoice(Spawn, "voiceover/english/broker_aliidar/qey_harbor/031_con_merchant_aliindar_erudite_2_hail_52cd8074.mp3", mp3_key1, mp3_key2)
-    Say(NPC, "Something something hailed voiceover here", Spawn)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
 end
 
 function respawn(NPC)
-spawn(NPC)
+	spawn(NPC)
 end
 
 function InRange(NPC, Spawn)
-    --PlayVoice(Spawn, "voiceover/english/broker_aliidar/qey_harbor/031_con_merchant_aliindar_erudite_2_aoi_1fefa590.mp3", mp3_key1, mp3_key2)
-    Say(NPC, "Something Something area voice trigger here")
 end
 
 function LeaveRange(NPC, Spawn)
 end
 
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,5)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/broker_aliindar/qey_harbor/031_con_merchant_aliindar_erudite_2_hail_3ff007fa.mp3", "Welcome, friend! The wares of an entire city are at your fingertips. So please make your selection.", "bye", 3892169564, 2246767706, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/broker_aliindar/qey_harbor/031_con_merchant_aliindar_erudite_2_aoi_1fefa590.mp3", "Hello there!  Let's not waste any time shall we?  What is it I can get for you?", "beckon", 1746996390, 2674526000, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/broker_aliindar/qey_harbor/031_con_merchant_aliindar_erudite_2_hail_6a21669e.mp3", "Yes, I know you seek what I have access to. Then again, who doesn't?  So what can I help you acquire?", "flustered", 224844673, 1559511128, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "", "Hello there. Could we please speed along this transaction?  I have an appointment with Queen Antonia herself!", "nod", 1689589577, 4560189, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "voiceover/english/broker_aliindar/qey_harbor/031_con_merchant_aliindar_erudite_2_hail_52cd8074.mp3", "The Ironforge Exchange?  The Far Seas Trading Company?  Insects of industry, my friend, waiting to be crushed beneath my boot heel!", "royalwave", 946110005, 2012982404, Spawn)
+	else
+	end
+
+end

+ 58 - 0
Lua/SpawnScripts/QeynosHarbor/AlissaCleeway.lua

@@ -0,0 +1,58 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/AlissaCleeway.lua
+	Script Purpose	: Alissa Cleeway <General Goods>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/merchant_alissa_cleeway/qey_harbor/alissacleeway000.mp3", "", "", 3954670515, 1312504794, Spawn)
+		AddConversationOption(conversation, "I don't need your goods.", "dlg_7_1")
+	StartConversation(conversation, NPC, Spawn, "Browse the docks all you want, I guarantee you won't find better fish than mine.")
+	if convo==9 then
+		PlayFlavor(NPC, "voiceover/english/merchant_alissa_cleeway/qey_harbor/alissacleeway000.mp3", "", "", 3954670515, 1312504794, Spawn)
+		AddConversationOption(conversation, "I don't need your goods.", "dlg_9_1")
+		StartConversation(conversation, NPC, Spawn, "Browse the docks all you want, I guarantee you won't find better fish than mine.")
+	end
+
+	if convo==10 then
+		PlayFlavor(NPC, "voiceover/english/merchant_alissa_cleeway/qey_harbor/alissacleeway000.mp3", "", "", 3954670515, 1312504794, Spawn)
+		AddConversationOption(conversation, "I don't need your goods.", "dlg_10_1")
+		StartConversation(conversation, NPC, Spawn, "Browse the docks all you want, I guarantee you won't find better fish than mine.")
+	end
+
+	if convo==11 then
+		PlayFlavor(NPC, "voiceover/english/merchant_alissa_cleeway/qey_harbor/alissacleeway000.mp3", "", "", 3954670515, 1312504794, Spawn)
+		AddConversationOption(conversation, "I don't need your goods.", "dlg_11_1")
+		StartConversation(conversation, NPC, Spawn, "Browse the docks all you want, I guarantee you won't find better fish than mine.")
+	end
+
+end
+
+function dlg_11_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "voiceover/english/merchant_alissa_cleeway/qey_harbor/alissacleeway000.mp3", "", "", 3954670515, 1312504794, Spawn)
+		AddConversationOption(conversation, "I don't need your goods.", "dlg_11_2")
+	StartConversation(conversation, NPC, Spawn, "Browse the docks all you want, I guarantee you won't find better fish than mine.")
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/AmbassadorDuryoValstath.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/AmbassadorDuryoValstath.lua
+	Script Purpose	: Ambassador Duryo Valstath <Change of Citizenship>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "Greetings, traveler!  If you are interested in becoming a citizen of Qeynos, speak to the Ambassador in your home city to arrange the paperwork, then return to me.", "", 1689589577, 4560189, Spawn)
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/AshildaMacHinry.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/AshildaMacHinry.lua
+	Script Purpose	: Ashilda MacHinry 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/barbarian/barbarian_eco_good_1_hail_gf_2a467de4.mp3", "I fear no man or beast.", "flex", 2128441275, 1043815687, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/barbarian/barbarian_eco_good_1_hail_gf_ec4612.mp3", "Always be vigil, you never know when evil will strike.", "lookaway", 1096415868, 4151719434, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/barbarian/barbarian_eco_good_1_hail_gf_65c7cb8c.mp3", "There is always a way, if desire is coupled with courage.", "scold", 1919974860, 3511707276, Spawn)
+	else
+	end
+
+end
+

+ 31 - 0
Lua/SpawnScripts/QeynosHarbor/BarmaidDrinna.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/BarmaidDrinna.lua
+	Script Purpose	: Barmaid Drinna 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1049.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "No, not right now.", "dlg_13_1")
+	StartConversation(conversation, NPC, Spawn, "Can I help you?")
+end
+

+ 10 - 0
Lua/SpawnScripts/QeynosHarbor/Bilur.lua

@@ -12,6 +12,16 @@ end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift!  If the gnolls don't attack now I may die of boredom.", "grumble", 31199107, 4082603014, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else citizen, except honor!", "scold", 3958491070, 1651361777, Spawn)
+	else
+	end
+
 end
 
 function respawn(NPC)

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/BirneyAbbot.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/BirneyAbbot.lua
+	Script Purpose	: Birney Abbot <Bartender>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Greetings, always nice to see new faces.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/bartender/human_bartender_service_good_1_hail_gm_201b6d6a.mp3", "What can I get for ya?", "nod", 2057834915, 3747045039, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "Feel free to browse my wares.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/bartender/human_bartender_service_good_1_hail_gm_ce1f039f.mp3", "Might I interest you in some meat and cheese to go with that tall glass of ale?", "shrug", 3541019745, 3304815137, Spawn)
+	else
+	end
+
+end
+

+ 58 - 0
Lua/SpawnScripts/QeynosHarbor/BordenMannus.lua

@@ -0,0 +1,58 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/BordenMannus.lua
+	Script Purpose	: Borden Mannus <Bartender>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/optional5/bartender_borden_mannus/qey_harbor/bartenderbordenmannus000.mp3", "", "", 2826547781, 426489100, Spawn)
+		AddConversationOption(conversation, "I'm sorry. I took a wrong turn. Farewell.", "dlg_4_1")
+	StartConversation(conversation, NPC, Spawn, "Listen here,  this ain't no public brew hall! The Mermaid's Lure is for Marauders only. ")
+	if convo==5 then
+		PlayFlavor(NPC, "voiceover/english/optional5/bartender_borden_mannus/qey_harbor/bartenderbordenmannus000.mp3", "", "", 2826547781, 426489100, Spawn)
+		AddConversationOption(conversation, "I'm sorry. I took a wrong turn. Farewell.", "dlg_5_1")
+		StartConversation(conversation, NPC, Spawn, "Listen here,  this ain't no public brew hall! The Mermaid's Lure is for Marauders only. ")
+	end
+
+	if convo==6 then
+		PlayFlavor(NPC, "voiceover/english/optional5/bartender_borden_mannus/qey_harbor/bartenderbordenmannus000.mp3", "", "", 2826547781, 426489100, Spawn)
+		AddConversationOption(conversation, "I'm sorry. I took a wrong turn. Farewell.", "dlg_6_1")
+		StartConversation(conversation, NPC, Spawn, "Listen here,  this ain't no public brew hall! The Mermaid's Lure is for Marauders only. ")
+	end
+
+	if convo==9 then
+		PlayFlavor(NPC, "voiceover/english/optional5/bartender_borden_mannus/qey_harbor/bartenderbordenmannus000.mp3", "", "", 2826547781, 426489100, Spawn)
+		AddConversationOption(conversation, "I'm sorry. I took a wrong turn. Farewell.", "dlg_9_1")
+		StartConversation(conversation, NPC, Spawn, "Listen here,  this ain't no public brew hall! The Mermaid's Lure is for Marauders only. ")
+	end
+
+end
+
+function dlg_5_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "voiceover/english/optional5/bartender_borden_mannus/qey_harbor/bartenderbordenmannus000.mp3", "", "", 2826547781, 426489100, Spawn)
+		AddConversationOption(conversation, "I'm sorry. I took a wrong turn. Farewell.", "dlg_5_2")
+	StartConversation(conversation, NPC, Spawn, "Listen here,  this ain't no public brew hall! The Mermaid's Lure is for Marauders only. ")
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/Buresh.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Buresh.lua
+	Script Purpose	: Buresh <Guard>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you citizen, all preserve Queen Antonia.", "salute", 2539353309, 3288832983, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift!  If the gnolls don't attack now I may die of boredom.", "grumble", 31199107, 4082603014, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 1717559969, 1730005307, Spawn)
+	else
+	end
+
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/CarpenterPaddock.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/CarpenterPaddock.lua
+	Script Purpose	: Carpenter Paddock 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/carpenter_paddock/qey_harbor/100_qst_carpenter_paddock_callout1_67878a5c.mp3", "We're running low on wood, but I don't want to mention it to Overseer Scarbourough until he calms down.", "", 2460409827, 3332556210, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/carpenter_paddock/qey_harbor/100_qst_carpenter_paddock_multhail1_f2e09d24.mp3", "I'm very busy! Sorry, I've no time to talk!", "", 2269345214, 1588506015, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/carpenter_paddock/qey_harbor/100_qst_carpenter_paddock_multhail2_e3288657.mp3", "I'm very busy! I must get more wood! ", "", 2812949705, 1915264340, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/ColinMcEntire.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/ColinMcEntire.lua
+	Script Purpose	: Colin McEntire 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "What strange happenings!", "confused", 1689589577, 4560189, Spawn)
+end
+

+ 36 - 0
Lua/SpawnScripts/QeynosHarbor/DevonaIronforge.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/DevonaIronforge.lua
+	Script Purpose	: Devona Ironforge <Crafting Trainer>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "I have nothing else to teach you for the moment.  Please return to me when you have earned enough experience to choose your profession.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "You have learned everything I have to teach.  You are free to use our crafting facilities to hone your skills and master your craft.", "", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/Elderstrike.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Elderstrike.lua
+	Script Purpose	: Elderstrike <Guard>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2088886924, 3736631596, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 3027655540, 4120709915, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 739074204, 2925833259, Spawn)
+	else
+	end
+
+end
+

+ 110 - 0
Lua/SpawnScripts/QeynosHarbor/ErwinRohand.lua

@@ -0,0 +1,110 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/ErwinRohand.lua
+	Script Purpose	: Erwin Rohand <Provisioner>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I am not really in the market for anything.  Is there any other way I can help?", "dlg_1_1")
+		AddConversationOption(conversation, "Maybe I will have a look at what you have for sale. ")
+	StartConversation(conversation, NPC, Spawn, "She's still out there, I can feel it.  When I have enough money, I am heading out to sea to find my one true love. Won't you help me, friend? Just a small purchase?")
+	if convo==2 then
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Maybe I will have a look at what you have for sale. ", "dlg_2_1")
+		StartConversation(conversation, NPC, Spawn, "She's still out there, I can feel it.  When I have enough money, I am heading out to sea to find my one true love. Won't you help me, friend? Just a small purchase?")
+	end
+
+	if convo==3 then
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I am not really in the market for anything.  Is there any other way I can help?", "dlg_3_1")
+		AddConversationOption(conversation, "Maybe I will have a look at what you have for sale. ")
+		StartConversation(conversation, NPC, Spawn, "She's still out there, I can feel it.  When I have enough money, I am heading out to sea to find my one true love. Won't you help me, friend? Just a small purchase?")
+	end
+
+	if convo==4 then
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I am not really in the market for anything.  Is there any other way I can help?", "dlg_4_1")
+		AddConversationOption(conversation, "Maybe I will have a look at what you have for sale. ")
+		StartConversation(conversation, NPC, Spawn, "She's still out there, I can feel it.  When I have enough money, I am heading out to sea to find my one true love. Won't you help me, friend? Just a small purchase?")
+	end
+
+	if convo==5 then
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I am not really in the market for anything.  Is there any other way I can help?", "dlg_5_1")
+		AddConversationOption(conversation, "Maybe I will have a look at what you have for sale. ")
+		StartConversation(conversation, NPC, Spawn, "She's still out there, I can feel it.  When I have enough money, I am heading out to sea to find my one true love. Won't you help me, friend? Just a small purchase?")
+	end
+
+	if convo==8 then
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Then I'll be back with some sleek wolf hide in no time at all.", "dlg_8_1")
+		StartConversation(conversation, NPC, Spawn, "Are you looking to help me out? Sailors are always looking for ways to keep warm on the high seas. Wolf hides offer warmth and protection from the bone chilling waters. If you could bring me some sleek hides, the money I make selling them, will bring me closer to finding my love.")
+	end
+
+end
+
+function dlg_1_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Then I'll be back with some sleek wolf hide in no time at all.", "dlg_1_2")
+	StartConversation(conversation, NPC, Spawn, "Sailors are always looking for ways to keep warm on the high seas. Wolf hides offer warmth and protection from the bone chilling waters. If you could bring me some sleek hides, the money I make selling them, will bring me closer to finding my love.")
+end
+
+function dlg_1_2(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "You're welcome.", "dlg_1_3")
+	StartConversation(conversation, NPC, Spawn, "Thank you!")
+end
+
+function dlg_3_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Then I'll be back with some sleek wolf hide in no time at all.", "dlg_3_2")
+	StartConversation(conversation, NPC, Spawn, "Sailors are always looking for ways to keep warm on the high seas. Wolf hides offer warmth and protection from the bone chilling waters. If you could bring me some sleek hides, the money I make selling them, will bring me closer to finding my love.")
+end
+
+function dlg_5_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Then I'll be back with some sleek wolf hide in no time at all.", "dlg_5_2")
+	StartConversation(conversation, NPC, Spawn, "Sailors are always looking for ways to keep warm on the high seas. Wolf hides offer warmth and protection from the bone chilling waters. If you could bring me some sleek hides, the money I make selling them, will bring me closer to finding my love.")
+end
+
+function dlg_5_2(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "You're welcome.", "dlg_5_3")
+	StartConversation(conversation, NPC, Spawn, "Thank you!")
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/Evenwood.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Evenwood.lua
+	Script Purpose	: Evenwood <Guard>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2088886924, 3736631596, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 739074204, 2925833259, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 3027655540, 4120709915, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/Fosur.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Fosur.lua
+	Script Purpose	: Fosur <Guard>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gf_ed0d92f8.mp3", "I hate the night shift!  If the gnolls don't attack now I may die of boredom.", "grumble", 2490266027, 3636789093, Spawn)
+end
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/GaelPinewhisper.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/GaelPinewhisper.lua
+	Script Purpose	: Gael Pinewhisper <Bowyer>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3839095688, 1767190740, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there!  Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1293853317, 115757857, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 397083190, 607860501, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock.  You'll never beat this price in the city.  I guarantee it!", "wink", 1745995078, 3389510546, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/GarstonViona.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/GarstonViona.lua
+	Script Purpose	: Garston Viona <Guild Cloak Designer>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "Would you like to design a new look for your guild's cloaks?  This is something that I can help you with, all I require is that you cover cost of my supplies.", "", 1689589577, 4560189, Spawn)
+end
+

+ 31 - 0
Lua/SpawnScripts/QeynosHarbor/GrisvaneStonearm.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/GrisvaneStonearm.lua
+	Script Purpose	: Grisvane Stonearm <Banker>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/banker_grisvane_stonearm/qey_harbor/bankergrisvanestonearm.mp3", "", "", 2372742156, 2861930894, Spawn)
+		AddConversationOption(conversation, "Thanks, that's good to know.", "dlg_27_1")
+	StartConversation(conversation, NPC, Spawn, "Hello there.  I'll take care of your coin and goods if they need safekeeping.")
+end
+

+ 12 - 0
Lua/SpawnScripts/QeynosHarbor/Groban.lua

@@ -12,6 +12,18 @@ end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you citizen, all preserve Queen Antonia.", "salute", 2539353309, 3288832983, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 1717559969, 1730005307, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else citizen, except honor!", "scold", 3958491070, 1651361777, Spawn)
+	else
+	end
+
 end
 
 function respawn(NPC)

+ 12 - 0
Lua/SpawnScripts/QeynosHarbor/Hanstock.lua

@@ -12,6 +12,18 @@ end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 1945337199, 2685949436, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift!  If the gnolls don't attack now, I may die of boredom.", "grumble", 4099618783, 4191002419, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2997871263, 2912813719, Spawn)
+	else
+	end
+
 end
 
 function respawn(NPC)

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/HarbormasterCrestbreak.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/HarbormasterCrestbreak.lua
+	Script Purpose	: Harbormaster Crestbreak 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock.  You'll never beat this price in the city.  I guarantee it!", "wink", 2816660604, 3830827049, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1394131243, 1936863827, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger?  It must be around here somewhere!", "confused", 1252836690, 4210583240, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 972343456, 3393961158, Spawn)
+	else
+	end
+
+end
+

+ 36 - 0
Lua/SpawnScripts/QeynosHarbor/HarronGriswald.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/HarronGriswald.lua
+	Script Purpose	: Harron Griswald <General Goods>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Ah now Kara, settle down. They were probably just big Iksar...", "", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "If you're looking for the bar, it's upstairs. Be careful of the Coldwind Marauders ... they really enjoy their drink.", "", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+

+ 36 - 0
Lua/SpawnScripts/QeynosHarbor/HeatherAtherton.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/HeatherAtherton.lua
+	Script Purpose	: Heather Atherton <Tailor>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/weaponsmith/human_weaponsmith_service_good_1_hail_gf_37dbcab8.mp3", "Welcome to my humble shop.  We have quite a selection of weapons to choose from.  See for yourself...", "salute", 4255221911, 515435702, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/weaponsmith/human_weaponsmith_service_good_1_hail_gf_46ed66f6.mp3", "Never go into battle without a tried and trusted weapon. Take a look at what we have in stock.", "no", 3298861742, 233264155, Spawn)
+	else
+	end
+
+end
+

+ 11 - 0
Lua/SpawnScripts/QeynosHarbor/Highgold.lua

@@ -12,8 +12,19 @@ end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/optional2/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gf_d7fdb65.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 2772203714, 1169089481, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/optional2/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gf_9e30d7b1.mp3", "I hate the night shift!  If the gnolls don't attack now, I may die of boredom.", "grumble", 1243870883, 2445109433, Spawn)
+	else
+	end
+
 end
 
+
 function respawn(NPC)
 	spawn(NPC)
 	end

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/InnkeeperGalsway.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/InnkeeperGalsway.lua
+	Script Purpose	: Innkeeper Galsway <General Goods>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "What is it you need, traveler? If it's reasonable rates, fine food and ale you desire, you've come to the right inn.", "", 1689589577, 4560189, Spawn)
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/JarekOKelly.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/JarekOKelly.lua
+	Script Purpose	: Jarek O'Kelly <Armorsmith>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/weaponsmith/barbarian_weaponsmith_service_good_1_hail_gm_46ed66f6.mp3", "Never go into battle without a tried and trusted weapon. Take a look at what we have in stock.", "no", 2653334387, 1334351078, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/weaponsmith/barbarian_weaponsmith_service_good_1_hail_gm_37dbcab8.mp3", "Welcome to my humble shop.  We have quite a selection of weapons to choose from.  See for yourself...", "salute", 581085624, 1350707041, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/weaponsmith/barbarian_weaponsmith_service_good_1_hail_gm_1248b278.mp3", "I just got a shipment in from the Far Sea's Trading Company.  I don't just show anybody this stuff so, shhhh!  ", "wink", 4051219591, 539800994, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/JohneMandell.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/JohneMandell.lua
+	Script Purpose	: Johne Mandell 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "Don't let them fool you! They care nothing about us!", "", 1689589577, 4560189, Spawn)
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/KayFoamdancer.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/KayFoamdancer.lua
+	Script Purpose	: Kay Foamdancer 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "My father's out there somewhere! Under those waves! And no one can tell me why!", "", 1689589577, 4560189, Spawn)
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/KeigwynMacinshire.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/KeigwynMacinshire.lua
+	Script Purpose	: Keigwyn Macinshire 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_race_good/ft/eco/good/halfelf_eco_race_good_hail_gm_15163426.mp3", "You talk to strangers?  What's the purpose of that?", "", 1620470786, 1752689340, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_race_good/ft/eco/good/halfelf_eco_race_good_hail_gm_c91da8a3.mp3", "I have nothing to say to you right now.", "shrug", 2888703527, 1699968860, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_race_good/ft/eco/good/halfelf_eco_race_good_highelf_gm_24cca44b.mp3", "You're no better than the rest of us, no matter whose blessing you think you have.", "", 1706562095, 4255036175, Spawn)
+	else
+	end
+
+end
+

+ 42 - 0
Lua/SpawnScripts/QeynosHarbor/Kizmit.lua

@@ -0,0 +1,42 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Kizmit.lua
+	Script Purpose	: Kizmit <Banker>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,5)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/banker/kerran_banker_service_good_1_hail_gf_17a9b8f6.mp3", "Are you interested in qualifying for an equity line of coin on your livestock?", "shrug", 3439094459, 1391151871, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/banker/kerran_banker_service_good_1_aoi_gf_b9b04d38.mp3", "Next person in line please!", "beckon", 2615818139, 75141652, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/banker/kerran_banker_service_good_1_hail_gf_c9bf1d41.mp3", "Welcome to the bank, citizen. How can I assist you?", "bow", 3423859777, 4071373412, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/banker/kerran_banker_service_good_1_hail_gf_ca4ce94.mp3", "Greetings, would you like to open an account or is there something else I can help with?", "hello", 2726817868, 3500816729, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "voiceover/english/optional2/kerran_eco_good_2/ft/service/banker/kerran_banker_service_good_2_hail_gf_1772a0df.mp3", "Has anyone told you about our new retirement savings programs?", "nod", 1009693530, 937887980, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/LitheonMcElhannon.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/LitheonMcElhannon.lua
+	Script Purpose	: Litheon McElhannon <Reforging>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "You do not currently own the Age of Discovery expansion pack!", "no", 1689589577, 4560189, Spawn)
+end
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/LyricistKuehja.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/LyricistKuehja.lua
+	Script Purpose	: Lyricist Kuehja <The Chaos Orchestra>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Within an era not found, but lost. We students of discord were shunned and tossed. Tossed from halls, taverns and boats. Those once considered ilk refuse to honor our chaotic notes.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Shun the chaos and shun the growth. Ignore us and perfect insanity will be ours to boast.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "Gathering lutes and gathering flutes. Pick up your pace we're off to a musical roost.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "", "Long long ago where wordly harmony became a grove. That's where they met and danced in the musical webs we wove.", "", 1689589577, 4560189, Spawn)
+	else
+		PlayFlavor(NPC, "", "Finally, the Chaos Orchestra has reformed to bring you fine people fine song.", "curtsey", 1689589577, 4560189, Spawn)
+	end
+
+end

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/LyricistTrucci.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/LyricistTrucci.lua
+	Script Purpose	: Lyricist Trucci <The Chaos Orchestra>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "Ladies and lords, Ro has frozen over. The Chaos Orchestra has returned to Norrath!", "curtsey", 1689589577, 4560189, Spawn)
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/MadamIstynia.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/MadamIstynia.lua
+	Script Purpose	: Madam Istynia <Alchemist>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/service/scribe/erudite_scribe_service_good_1_hail_gf_5dd748ab.mp3", "Ah, a student of the arcane.  Is there something I can help you find?", "ponder", 392602839, 3080770605, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/service/scribe/erudite_scribe_service_good_1_hail_gf_392a4f4e.mp3", "Be careful, it's best not to read the scrolls.  If you want to know what they are, just ask me.", "nod", 1620130466, 226880250, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/optional4/eco_erudite_female_scribe_1/jl_efsg_hail_gf3_64.mp3", "Blast it! Who keeps taking all of the parchment?  ", "swear", 455803664, 215710264, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/MariusIronflint.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/MariusIronflint.lua
+	Script Purpose	: Marius Ironflint <Ian's Assistant>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "Good day to you citizen.  If you've got any of that armor from ol' Ian here, I'd be happy to offer ya some of the newer stuff.", "", 1689589577, 4560189, Spawn)
+end
+

+ 47 - 0
Lua/SpawnScripts/QeynosHarbor/MaryDillon.lua

@@ -0,0 +1,47 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/MaryDillon.lua
+	Script Purpose	: Mary Dillon 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1053.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_11_1")
+	StartConversation(conversation, NPC, Spawn, "What?")
+	if convo==18 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1053.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_18_1")
+		StartConversation(conversation, NPC, Spawn, "What?")
+	end
+
+	if convo==19 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1053.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_19_1")
+		StartConversation(conversation, NPC, Spawn, "What?")
+	end
+	
+	if convo==20 then
+		PlayFlavor(NPC, "", "Just leave me alone. Please!", "no", 1689589577, 4560189, Spawn)
+	end
+
+end
+

+ 42 - 0
Lua/SpawnScripts/QeynosHarbor/MindaBroadfeet.lua

@@ -0,0 +1,42 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/MindaBroadfeet.lua
+	Script Purpose	: Minda Broadfeet <General Goods>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,5)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/armorsmith/dwarf_armorsmith_service_good_1_aoi_gf_8c4351aa.mp3", "Don't go into battle unprotected!  Qeynos needs her soldiers to return home safely and we see to it that you do!", "scold", 817367192, 1457141576, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/armorsmith/dwarf_armorsmith_service_good_1_hail_gf_db7232a3.mp3", "Well, that suit is looking a mite worn.  Can I interest you in a new suit of fine armor? ", "ponder", 2174036177, 2566350607, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/armorsmith/dwarf_armorsmith_service_good_1_hail_gf_bb02310.mp3", "Coin is no object when gaining protection from your enemies.  What price can be put on your safety? ", "glare", 3714309888, 79727945, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/armorsmith/dwarf_armorsmith_service_good_1_hail_gf_58a92b79.mp3", "You can never be too careful when it comes to protection.  Here, try on one of these.", "agree", 3153864627, 1838620823, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/armorsmith/dwarf_armorsmith_service_good_1_hail_gf_af50709c.mp3", "I have some nice new suits of chain that have stood up very well.  Would you like to see them?", "shrug", 1362514907, 3649230941, Spawn)
+	else
+	end
+
+end
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/NelisGreenpocket.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/NelisGreenpocket.lua
+	Script Purpose	: Nelis Greenpocket <Tailor>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1035878974, 1582137754, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3623244639, 2766324485, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger?  It must be around here somewhere!", "confused", 1122140911, 2707150069, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock.  You'll never beat this price in the city.  I guarantee it!", "wink", 41344948, 2516334772, Spawn)
+	else
+	end
+
+end
+

+ 10 - 0
Lua/SpawnScripts/QeynosHarbor/Oakhall.lua

@@ -12,6 +12,16 @@ end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2997871263, 2912813719, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 1945337199, 2685949436, Spawn)
+	else
+	end
+
 end
 
 function respawn(NPC)

+ 41 - 0
Lua/SpawnScripts/QeynosHarbor/PearlHoneywine.lua

@@ -0,0 +1,41 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/PearlHoneywine.lua
+	Script Purpose	: Pearl Honeywine 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1019.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What's so interesting?", "dlg_25_1")
+		AddConversationOption(conversation, "I don't suppose you're speaking to me.  Good day!")
+	StartConversation(conversation, NPC, Spawn, "I wonder whether they've simply been here all along and we didn't see them?  Or is there some new way these creatures are reaching civilization?  The possibilities are endless and interesting!")
+end
+
+function dlg_25_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I'm not interested in roadkill.", "dlg_25_2")
+	StartConversation(conversation, NPC, Spawn, "My apologies! I was lost in thought for a moment.  The return of the roekilliks has taken me and my colleagues quite by surprise.  They are such an ancient race; this is very exciting information!")
+end
+

+ 1 - 1
Lua/SpawnScripts/QeynosHarbor/Pepper.lua

@@ -16,7 +16,7 @@ end
 
 function respawn(NPC)
 	spawn(NPC)
-end
+	end
 
 function waypoints(NPC)
 	MovementLoopAddLocation(NPC, 687.81, -20.4, -70.68, 2, 0)

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/PeytroIronside.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/PeytroIronside.lua
+	Script Purpose	: Peytro Ironside 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "These beasts that come upon us are only the further wrath of the gods! Repent!", "confused", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "The gods seek to punish us further by bringing beasts to invade our shore!", "chuckle", 1689589577, 4560189, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "Only our faith in the gods can save us from this menace upon the seas!", "confused", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+

+ 49 - 0
Lua/SpawnScripts/QeynosHarbor/PhenDomlinson.lua

@@ -0,0 +1,49 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/PhenDomlinson.lua
+	Script Purpose	: Phen Domlinson <Bowyer>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/merchant_phen_domlinson/qey_harbor/phendominlson000.mp3", "", "", 3656550620, 1100622613, Spawn)
+		AddConversationOption(conversation, "Every week? That's not fresh. No thanks.", "dlg_5_1")
+	StartConversation(conversation, NPC, Spawn, "Fresh supplies every week! Step up and see for yourself.")
+	if convo==10 then
+		PlayFlavor(NPC, "voiceover/english/merchant_phen_domlinson/qey_harbor/phendominlson000.mp3", "", "", 3656550620, 1100622613, Spawn)
+		AddConversationOption(conversation, "Every week? That's not fresh. No thanks.", "dlg_10_1")
+		StartConversation(conversation, NPC, Spawn, "Fresh supplies every week! Step up and see for yourself.")
+	end
+
+	if convo==16 then
+		PlayFlavor(NPC, "voiceover/english/merchant_phen_domlinson/qey_harbor/phendominlson000.mp3", "", "", 3656550620, 1100622613, Spawn)
+		AddConversationOption(conversation, "Every week? That's not fresh. No thanks.", "dlg_16_1")
+		StartConversation(conversation, NPC, Spawn, "Fresh supplies every week! Step up and see for yourself.")
+	end
+
+	if convo==17 then
+		PlayFlavor(NPC, "voiceover/english/merchant_phen_domlinson/qey_harbor/phendominlson000.mp3", "", "", 3656550620, 1100622613, Spawn)
+		AddConversationOption(conversation, "Every week? That's not fresh. No thanks.", "dlg_17_1")
+		StartConversation(conversation, NPC, Spawn, "Fresh supplies every week! Step up and see for yourself.")
+	end
+
+end
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/Porter.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Porter.lua
+	Script Purpose	: Porter <Guard>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 3448203562, 506341016, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ed0d92f8.mp3", "I hate the night shift!  If the gnolls don't attack now, I may die of boredom.", "grumble", 1226814424, 706962620, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 373851625, 467562033, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 1886617373, 1115286759, Spawn)
+	else
+	end
+
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/PortisBonham.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/PortisBonham.lua
+	Script Purpose	: Portis Bonham <General Goods>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock.  You'll never beat this price in the city.  I guarantee it!", "wink", 903813734, 2512856176, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2541554579, 2951095822, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger?  It must be around here somewhere!", "confused", 983188064, 3043413352, Spawn)
+	else
+	end
+
+end
+

+ 37 - 49
Lua/SpawnScripts/QeynosHarbor/Pottsby.lua

@@ -1,50 +1,38 @@
---[[
-	Script Name		:	pepper.lua
-	Script Purpose	:	Waypoint Path for pepper.lua
-	Script Author	:	Auto Generated
-	Script Date		:	04/05/2020 05:54:21 PM
-	Script Notes	:	Locations collected from Live
---]]
-
-function spawn(NPC)
-	waypoints(NPC)
-end
-
-function hailed(NPC, Spawn)
-	FaceTarget(NPC, Spawn)
-end
-
-function respawn(NPC)
-end
-
-function waypoints(NPC)
-	MovementLoopAddLocation(NPC, 687.81, -20.4, -70.68, 2, 0)
-	MovementLoopAddLocation(NPC, 705.35, -21.07, -89.94, 2, 0)
-	MovementLoopAddLocation(NPC, 666.15, -20.27, -131.95, 2, 0)
-	MovementLoopAddLocation(NPC, 712.81, -20.98, -75.04, 2, 0)
-	MovementLoopAddLocation(NPC, 712.26, -21.07, -35.34, 2, 0)
-	MovementLoopAddLocation(NPC, 693.63, -20.64, -18.84, 2, 0)
-	MovementLoopAddLocation(NPC, 735.79, -21.03, -34.52, 2, 0)
-	MovementLoopAddLocation(NPC, 734.5, -21.38, -53.19, 2, 0)
-	MovementLoopAddLocation(NPC, 753.14, -21.56, -54.35, 2, 0)
-	MovementLoopAddLocation(NPC, 765.69, -20.64, 3.88, 2, 0)
-	MovementLoopAddLocation(NPC, 780.03, -21.39, -59.85, 2, 0)
-	MovementLoopAddLocation(NPC, 859.74, -25.36, -64.36, 2, 0)
-	MovementLoopAddLocation(NPC, 889.27, -25.36, -57.52, 2, 0)
-	MovementLoopAddLocation(NPC, 902.09, -25.37, -16.38, 2, 0)
-	MovementLoopAddLocation(NPC, 907.44, -25.52, 27.61, 2, 0)
-	MovementLoopAddLocation(NPC, 872.1, -25.5, 96.62, 2, 0)
-	MovementLoopAddLocation(NPC, 864.04, -25.61, 114.87, 2, 0)
-	MovementLoopAddLocation(NPC, 839.38, -25.5, 98.4, 2, 0)
-	MovementLoopAddLocation(NPC, 838.28, -25.45, 88.18, 2, 0)
-	MovementLoopAddLocation(NPC, 862.95, -25.37, 40.17, 2, 0)
-	MovementLoopAddLocation(NPC, 830.55, -23.31, 47.28, 2, 0)
-	MovementLoopAddLocation(NPC, 809.04, -23.35, 27.67, 2, 0)
-	MovementLoopAddLocation(NPC, 781.68, -23.3, 73.67, 2, 0)
-	MovementLoopAddLocation(NPC, 816.97, -23.31, 85.51, 2, 0)
-	MovementLoopAddLocation(NPC, 806.51, -23.35, 106.62, 2, 0)
-	MovementLoopAddLocation(NPC, 806.77, -22.8, 126.59, 2, 0)
-	MovementLoopAddLocation(NPC, 800.88, -20.98, 146.24, 2, 0)
-end
-
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Pottsby.lua
+	Script Purpose	: Pottsby <City Merchant>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Confound it! Where did I put that ledger?  It must be around here somewhere!", "confused", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Go on, take a look at the stock.  You'll never beat this price in the city.  I guarantee it!", "wink", 1689589577, 4560189, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "Welcome! What can I help you with?", "bow", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
 

+ 64 - 0
Lua/SpawnScripts/QeynosHarbor/QuartermasterLewyn.lua

@@ -0,0 +1,64 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/QuartermasterLewyn.lua
+	Script Purpose	: Quartermaster Lewyn <City Quartermaster>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1049.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I have an armor mold I would like to turn in.", "dlg_15_1")
+		AddConversationOption(conversation, "Nothing.")
+	StartConversation(conversation, NPC, Spawn, "What can I do for you?")
+	if convo==16 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1049.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I have an armor mold I would like to turn in.", "dlg_16_1")
+		AddConversationOption(conversation, "Nothing.")
+		StartConversation(conversation, NPC, Spawn, "What can I do for you?")
+	end
+
+	if convo==21 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1049.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I have an armor mold I would like to turn in.", "dlg_21_1")
+		AddConversationOption(conversation, "Nothing.")
+		StartConversation(conversation, NPC, Spawn, "What can I do for you?")
+	end
+
+end
+
+function dlg_15_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I don't have a mold.", "dlg_15_2")
+	StartConversation(conversation, NPC, Spawn, "What type of mold do you have?")
+end
+
+function dlg_21_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I don't have a mold.", "dlg_21_2")
+	StartConversation(conversation, NPC, Spawn, "What type of mold do you have?")
+end
+

+ 79 - 0
Lua/SpawnScripts/QeynosHarbor/QueenAntoniaBayle.lua

@@ -0,0 +1,79 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/QueenAntoniaBayle.lua
+	Script Purpose	: Queen Antonia Bayle 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+	local playmsg = math.random(1,100)
+	
+	if playmsg <= 25 then
+	playshit(NPC)
+	else
+	end
+end
+
+function playshit(NPC, Spawn)
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_b_e5f9dee6.mp3", "Who performed this miracle?  We did.  All of us, by our own hands, guided by our vision and the blessings of the gods.  Qeynos stands as proof in the power of justice, equality, and compassion.  For, as our founding patriarch, Antonius Bayle, would say: If a city will be great, it must first be good!  And our city indeed owes its greatness to the goodness and benevolent ideals we citizens uphold.", "", 1818828034, 1870559483, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_c_1aa755c8.mp3", "In this Age of Destiny, Qeynos blossoms with abundance in both arts and commerce.  Our children are nourished in body, mind, and spirit.  Scholars, merchants, artisans, soldiers- all of us are welcome here; all of us find ample means and opportunity to share our unique gifts.  Our city is a lamp in the darkness, and a clarion call to awaken Norrath from its long nightmare of discord.  Let us remember that people in other lands look to us for hope and guidance.  We are Norrath's shining example of what civilization really and truly means.   But we mustn't fall into complacency and self-satisfaction.  There is yet much to be done.  There are refugees beyond our gates who do not enjoy the freedoms and rights we take for granted.  They scratch out their meager lives in hunger and ignorance.  Some flee persecution and violence; others are tormented by the merciless ravages of want.  We Qeynosians who live in abundance are called to reach out to these refugees, to open our hearts and hands.", "", 3038020523, 1696768651, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_d_54e171d.mp3", "Yes, I am proud to call myself a Qeynosian.  And I am certain that every one of us here is just as proud, just as grateful, and just as eager to share the light of civilization until it shines in every corner of Norrath.   We must be extra vigilant to protect our way of life from the corruption of Freeport, which threatens us night and day.  In Freeport, they mock the ideals we hold dear.  They would make slaves of each and every one of us if they could.  We have all seen examples of their ruthlessness and cruelty, of their total disregard for righteousness, of their deceptive and treacherous ways.  We know of their unabated greed, and their appetite for territory.  How they snap up lands and goods with no thought for the rights of needs of their victims.", "", 2019122145, 3355586847, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_e_8dd02ef3.mp3", "But Freeport shall not prevail!  We Qeynosians know that the destiny of Norrath is like the sun at dawn, like a great light which begins with a spark and illuminates the land.  Qeynos is that spark!  Qeynos will spread its light of civilization until nothing and no one remains in darkness!  And we are the ones called to carry this light.  And so ... everyone ... I beseech thee all to remember that this is indeed the Age Of Destiny.  And we Qeynosians are its children, and its acolytes ... and its greatest hope!", "", 4080984009, 3907237860, Spawn)
+	
+	elseif choice == 2 then
+	PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_speech_newdawn_a_c02fffe6.mp3", "Good people of Qeynos, I declare this to be a day of festivities. Welcome everyone to our New Dawn Day celebration! The old year has passed; we stand at the threshold of a new year, full of promise and opportunity. May this be a time to reflect upon our past while looking ahead to a glorious future! One may ask, 'Why do we call the start of the new year 'New Dawn Day'?'  I believe it is because Qeynos is like the sun in  early morning. We already shine with an unmatched brilliance, but our full power has yet to come forth into the world. We have only seen a sliver of our city's golden destiny!", "", 3189486571, 2780192347, Spawn)
+	PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_speech_newdawn_b_694279fc.mp3", "And we are all a part of that light, that shining beacon that illuminates Norrath and awakens her from her dark slumber.  As Norrath gently turns on her axis and revolves around the sun, each of us becomes a living light that guides all peoples into the Age of Destiny.  We are like the stars in the night sky.     For Qeynos must lead the way.  The ideals which we have championed are the one true hope for peace and prosperity in this world.  It is up to Qeynos to show all of Norrath what is possible when truth and justice, equality and mercy are enthroned.  I am merely a handmaid to the real rulers: our ideals.  These are what we look to for guidance.", "", 982014123, 829335521, Spawn)
+	PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_speech_newdawn_c_4465cb71.mp3", "And words cannot express the gratitude I feel ... to be entrusted with this august responsibility.  To stand here before you and before all of Qeynos fills me with great pride.  I know that we will seize every opportunity, this new year, to advance our cause and spread liberty throughout the land! We shall not dwell on failures of times past.  Instead we will live for the future.  Each of us will strive for the common good, and for the highest ambitions to which we can aspire!  This is the meaning of New Dawn Day!", "", 3866349527, 2161431192, Spawn)
+	PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_generic_82b8bc23.mp3", "No challenge is too great for the brave and dedicated.", "", 1245844757, 2085854167, Spawn)
+	
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_a_c81e36af.mp3", "Good people of Qeynos, we gather today in honor of our city.  We citizens have great reason to be proud, for Qeynos has proven its worth through times of struggle and adversity.  It has risen from the chaos and darkness of the Age of Cataclysms to become first among all the cities of Norrath.  Qeynos- city of valor and defender of the meek.  These are not empty words; even those far beyond our borders speak of our accomplishments! Everyone, look around you.  The beautiful towers and spires, the gardens, buildings and bustling market places- we live in a paradise without equal.  It is hard to believe there was once a time when Qeynos lay in ruins, its streets mired.  But our city has returned to life with even greater splendor.", "", 724319904, 1189766476, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_denouncement_freeport_3_a_92172058.mp3", "Fellow Qeynosians, gather around and listen closely.  If my voice sounds strained, it is because of the grave and morbid subject of which I speak.  I had prayed that such disturbing words need never be spoken in Qeynos.  But these are times of great danger, and you must be warned. Our enemy, Lucan D'Lere, the tyrant of Freeport, is no ordinary, mortal foe.  He is no mere renegade General who has allowed his personal ambition to usurp his proper loyalties.  What I am about to say will horrify you.", "", 3011381199, 3373600464, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_denouncement_freeport_3_b_f1948507.mp3", "As you know, Lucan has misled his subjects to see him as their savior.  No ... their god.  He has enthroned himself in the gods' place.  He has corrupted the history of Freeport, claiming every victory as his own.  His subjects praise him for the rising and setting of the sun.  They think he alone holds back the remains of the moon!  The truth, however, is too horrible to behold.  Lucan ... Lucan D'Lere ... does not even belong among the living.  His mortal life was forfeit hundreds of years ago.  The monster we see is a corpse, a skeleton with a few shreds of flesh that long for the grave-unnaturally sustained by dark magic.  ", "", 2587904628, 1366269418, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_denouncement_freeport_3_c_6283e942.mp3", "This is why Lucan hides in that floating sarcophagus called the Twilight Citadel.  His battle armor is really a burial shroud.  Any humanity he once possessed has long since passed over into the land of shades.   So be on your guard, but take heart.  We Qeynosians have more courage than the beaten and terrified subjects of Freeport.  We are not afraid of the dead, and will never cower before a sack of bones.  Life will triumph in Qeynos, and the burial grounds of Norrath will one day claim their own.", "", 1432372035, 3833716814, Spawn)
+	else
+	end
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_b_e5f9dee6.mp3", "Who performed this miracle?  We did.  All of us, by our own hands, guided by our vision and the blessings of the gods.  Qeynos stands as proof in the power of justice, equality, and compassion.  For, as our founding patriarch, Antonius Bayle, would say: If a city will be great, it must first be good!  And our city indeed owes its greatness to the goodness and benevolent ideals we citizens uphold.", "", 1818828034, 1870559483, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_c_1aa755c8.mp3", "In this Age of Destiny, Qeynos blossoms with abundance in both arts and commerce.  Our children are nourished in body, mind, and spirit.  Scholars, merchants, artisans, soldiers- all of us are welcome here; all of us find ample means and opportunity to share our unique gifts.  Our city is a lamp in the darkness, and a clarion call to awaken Norrath from its long nightmare of discord.  Let us remember that people in other lands look to us for hope and guidance.  We are Norrath's shining example of what civilization really and truly means.   But we mustn't fall into complacency and self-satisfaction.  There is yet much to be done.  There are refugees beyond our gates who do not enjoy the freedoms and rights we take for granted.  They scratch out their meager lives in hunger and ignorance.  Some flee persecution and violence; others are tormented by the merciless ravages of want.  We Qeynosians who live in abundance are called to reach out to these refugees, to open our hearts and hands.", "", 3038020523, 1696768651, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_d_54e171d.mp3", "Yes, I am proud to call myself a Qeynosian.  And I am certain that every one of us here is just as proud, just as grateful, and just as eager to share the light of civilization until it shines in every corner of Norrath.   We must be extra vigilant to protect our way of life from the corruption of Freeport, which threatens us night and day.  In Freeport, they mock the ideals we hold dear.  They would make slaves of each and every one of us if they could.  We have all seen examples of their ruthlessness and cruelty, of their total disregard for righteousness, of their deceptive and treacherous ways.  We know of their unabated greed, and their appetite for territory.  How they snap up lands and goods with no thought for the rights of needs of their victims.", "", 2019122145, 3355586847, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_e_8dd02ef3.mp3", "But Freeport shall not prevail!  We Qeynosians know that the destiny of Norrath is like the sun at dawn, like a great light which begins with a spark and illuminates the land.  Qeynos is that spark!  Qeynos will spread its light of civilization until nothing and no one remains in darkness!  And we are the ones called to carry this light.  And so ... everyone ... I beseech thee all to remember that this is indeed the Age Of Destiny.  And we Qeynosians are its children, and its acolytes ... and its greatest hope!", "", 4080984009, 3907237860, Spawn)
+	
+	elseif choice == 2 then
+	PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_speech_newdawn_a_c02fffe6.mp3", "Good people of Qeynos, I declare this to be a day of festivities. Welcome everyone to our New Dawn Day celebration! The old year has passed; we stand at the threshold of a new year, full of promise and opportunity. May this be a time to reflect upon our past while looking ahead to a glorious future! One may ask, 'Why do we call the start of the new year 'New Dawn Day'?'  I believe it is because Qeynos is like the sun in  early morning. We already shine with an unmatched brilliance, but our full power has yet to come forth into the world. We have only seen a sliver of our city's golden destiny!", "", 3189486571, 2780192347, Spawn)
+	PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_speech_newdawn_b_694279fc.mp3", "And we are all a part of that light, that shining beacon that illuminates Norrath and awakens her from her dark slumber.  As Norrath gently turns on her axis and revolves around the sun, each of us becomes a living light that guides all peoples into the Age of Destiny.  We are like the stars in the night sky.     For Qeynos must lead the way.  The ideals which we have championed are the one true hope for peace and prosperity in this world.  It is up to Qeynos to show all of Norrath what is possible when truth and justice, equality and mercy are enthroned.  I am merely a handmaid to the real rulers: our ideals.  These are what we look to for guidance.", "", 982014123, 829335521, Spawn)
+	PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_speech_newdawn_c_4465cb71.mp3", "And words cannot express the gratitude I feel ... to be entrusted with this august responsibility.  To stand here before you and before all of Qeynos fills me with great pride.  I know that we will seize every opportunity, this new year, to advance our cause and spread liberty throughout the land! We shall not dwell on failures of times past.  Instead we will live for the future.  Each of us will strive for the common good, and for the highest ambitions to which we can aspire!  This is the meaning of New Dawn Day!", "", 3866349527, 2161431192, Spawn)
+	PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_generic_82b8bc23.mp3", "No challenge is too great for the brave and dedicated.", "", 1245844757, 2085854167, Spawn)
+	
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_a_c81e36af.mp3", "Good people of Qeynos, we gather today in honor of our city.  We citizens have great reason to be proud, for Qeynos has proven its worth through times of struggle and adversity.  It has risen from the chaos and darkness of the Age of Cataclysms to become first among all the cities of Norrath.  Qeynos- city of valor and defender of the meek.  These are not empty words; even those far beyond our borders speak of our accomplishments! Everyone, look around you.  The beautiful towers and spires, the gardens, buildings and bustling market places- we live in a paradise without equal.  It is hard to believe there was once a time when Qeynos lay in ruins, its streets mired.  But our city has returned to life with even greater splendor.", "", 724319904, 1189766476, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_denouncement_freeport_3_a_92172058.mp3", "Fellow Qeynosians, gather around and listen closely.  If my voice sounds strained, it is because of the grave and morbid subject of which I speak.  I had prayed that such disturbing words need never be spoken in Qeynos.  But these are times of great danger, and you must be warned. Our enemy, Lucan D'Lere, the tyrant of Freeport, is no ordinary, mortal foe.  He is no mere renegade General who has allowed his personal ambition to usurp his proper loyalties.  What I am about to say will horrify you.", "", 3011381199, 3373600464, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_denouncement_freeport_3_b_f1948507.mp3", "As you know, Lucan has misled his subjects to see him as their savior.  No ... their god.  He has enthroned himself in the gods' place.  He has corrupted the history of Freeport, claiming every victory as his own.  His subjects praise him for the rising and setting of the sun.  They think he alone holds back the remains of the moon!  The truth, however, is too horrible to behold.  Lucan ... Lucan D'Lere ... does not even belong among the living.  His mortal life was forfeit hundreds of years ago.  The monster we see is a corpse, a skeleton with a few shreds of flesh that long for the grave-unnaturally sustained by dark magic.  ", "", 2587904628, 1366269418, Spawn)
+		PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_denouncement_freeport_3_c_6283e942.mp3", "This is why Lucan hides in that floating sarcophagus called the Twilight Citadel.  His battle armor is really a burial shroud.  Any humanity he once possessed has long since passed over into the land of shades.   So be on your guard, but take heart.  We Qeynosians have more courage than the beaten and terrified subjects of Freeport.  We are not afraid of the dead, and will never cower before a sack of bones.  Life will triumph in Qeynos, and the burial grounds of Norrath will one day claim their own.", "", 1432372035, 3833716814, Spawn)
+	else
+	end
+
+end
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/Rabbleson.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Rabbleson.lua
+	Script Purpose	: Rabbleson <City Merchant>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1527285383, 3910629798, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock.  You'll never beat this price in the city.  I guarantee it!", "wink", 1667555721, 2696093362, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger?  It must be around here somewhere!", "confused", 2588954321, 88153469, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1381598517, 719278997, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/RandalGromoe.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/RandalGromoe.lua
+	Script Purpose	: Randal Gromoe 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "It's been a while since I've felt this carefree.", "", 1689589577, 4560189, Spawn)
+end
+

+ 36 - 0
Lua/SpawnScripts/QeynosHarbor/ReneeAtherton.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/ReneeAtherton.lua
+	Script Purpose	: Renee Atherton <Bartender>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/bartender/halfelf_bartender_service_good_1_hail_gf_ce733912.mp3", "I bet you have some stories, eh?  Adventuring must be an exciting life!", "smile", 1178661573, 1894551598, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/bartender/halfelf_bartender_service_good_1_hail_gf_41d55b0d.mp3", "The best part about this job is all the extra coin I get.", "wink", 3789765642, 1946956397, Spawn)
+	else
+	end
+
+end
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/RobertNewbury.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/RobertNewbury.lua
+	Script Purpose	: Robert Newbury <Banker>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/banker_robert_newbury/qey_harbor/bankerrobertnewbury.mp3", "", "", 1059198737, 1183516549, Spawn)
+		AddConversationOption(conversation, "I'll keep that in mind in the future.", "dlg_26_1")
+	StartConversation(conversation, NPC, Spawn, "I'll take care of your coin and goods if they need safekeeping.")
+end
+
+function dlg_26_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "voiceover/english/banker_robert_newbury/qey_harbor/bankerrobertnewbury.mp3", "", "", 1059198737, 1183516549, Spawn)
+		AddConversationOption(conversation, "I'll keep that in mind in the future.", "dlg_26_2")
+	StartConversation(conversation, NPC, Spawn, "I'll take care of your coin and goods if they need safekeeping.")
+end
+

+ 50 - 0
Lua/SpawnScripts/QeynosHarbor/RosalinaGoodfallow.lua

@@ -0,0 +1,50 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/RosalinaGoodfallow.lua
+	Script Purpose	: Rosalina Goodfallow <Steward of Antonia Bayle>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	local choice = math.random(1,1)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "I often see to our Antonia's business outside of the castle. She trusts me implicitly.", "converse_female01", 1689589577, 4560189, Spawn)
+	else
+	end
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1023.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Yes, when Antonia calls, I answer.", "dlg_0_1")
+		AddConversationOption(conversation, "Hold on for just a few moments...")
+	StartConversation(conversation, NPC, Spawn, "Well then! You must be, Haihaog! Antonia Bayle herself wishes to see you. I don't know why precisely, but it seems very important. And who are you to keep the Antonia waiting!")
+	if convo==1 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1023.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Yes, when Antonia calls, I answer.", "dlg_1_1")
+		AddConversationOption(conversation, "Hold on for just a few moments...")
+		StartConversation(conversation, NPC, Spawn, "Well then! You must be, Haihaog! Antonia Bayle herself wishes to see you. I don't know why precisely, but it seems very important. And who are you to keep the Antonia waiting!")
+	end
+
+end
+
+--[[ raw_conversations
+	PlayFlavor(NPC, "", "I often see to our Antonia's business outside of the castle. She trusts me implicitly.", "converse_female01", 1689589577, 4560189, Spawn)
+--]]
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/Rothun.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Rothun.lua
+	Script Purpose	: Rothun <Guard>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else citizen, except honor!", "scold", 3650321797, 745843450, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2268064933, 2349331472, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift!  If the gnolls don't attack now, I may die of boredom.", "grumble", 174236481, 4250389478, Spawn)
+	else
+	end
+
+end
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/RoyalAccountantFowler.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/RoyalAccountantFowler.lua
+	Script Purpose	: Royal Accountant Fowler <Guild Registrar>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/royal_accountant_fowler/qey_harbor/100_soc_human_guild_registrar_fowler_raid_a9dca99a.mp3", "", "", 788735708, 1422512353, Spawn)
+		AddConversationOption(conversation, "Oh?  Let's see it.", "dlg_14_1")
+	StartConversation(conversation, NPC, Spawn, "Welcome back! I've an urgent message for you from the castle.  You'd better read it immediately!")
+end
+
+function dlg_14_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "voiceover/english/royal_accountant_fowler/qey_harbor/100_soc_human_guild_registrar_fowler_raid_a9dca99a.mp3", "", "", 788735708, 1422512353, Spawn)
+		AddConversationOption(conversation, "Oh?  Let's see it.", "dlg_14_2")
+	StartConversation(conversation, NPC, Spawn, "Welcome back! I've an urgent message for you from the castle.  You'd better read it immediately!")
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/SeanWellfayer.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/SeanWellfayer.lua
+	Script Purpose	: Sean Wellfayer 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "voiceover/english/sean_wellfayer/qey_harbor/100_qst_sean_wellfayer_multhail2_e78a363.mp3", "If fishing doesn't interest you, perhaps bait does!", "", 3207653573, 2859825628, Spawn)
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/ShandaTierbold.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/ShandaTierbold.lua
+	Script Purpose	: Shanda Tierbold 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "Stop right there! No one goes through this door without explicit permission.", "", 1689589577, 4560189, Spawn)
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/SheldonLamport.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/SheldonLamport.lua
+	Script Purpose	: Sheldon Lamport <Jeweler>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/scribe/human_scribe_service_good_1_hail_gm_efd8a52b.mp3", "Ah, a student of the arcane.  Is there something I can help you find?", "agree", 497797009, 42683669, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/scribe/human_scribe_service_good_1_hail_gm_cbc94cb6.mp3", "Blast it! Who keeps taking all of the parchment?  ", "curse", 497173933, 346737792, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/scribe/human_scribe_service_good_1_hail_gm_58ed77b2.mp3", "All right where is my pen?  How am I supposed to scribe anything without my pen?", "peer", 1094726260, 2326091675, Spawn)
+	else
+	end
+
+end
+

+ 36 - 0
Lua/SpawnScripts/QeynosHarbor/ShiharraVeldin.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/ShiharraVeldin.lua
+	Script Purpose	: Shiharra Veldin <Chronomagi Tasker>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "The magic of time is powerful.  To master it takes a lifetime.", "salute", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+

+ 38 - 0
Lua/SpawnScripts/QeynosHarbor/SmithHolgren.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/SmithHolgren.lua
+	Script Purpose	: Smith Holgren <Weaponsmith>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/weaponsmith/barbarian_weaponsmith_service_good_1_hail_gm_1248b278.mp3", "I just got a shipment in from the Far Sea's Trading Company.  I don't just show anybody this stuff so, shhhh!  ", "wink", 4051219591, 539800994, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/weaponsmith/barbarian_weaponsmith_service_good_1_hail_gm_46ed66f6.mp3", "Never go into battle without a tried and trusted weapon. Take a look at what we have in stock.", "no", 2653334387, 1334351078, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/weaponsmith/barbarian_weaponsmith_service_good_1_hail_gm_48594671.mp3", "Is there something you need to have custom made?  I can see if I can get one of my lads to look into it!", "ponder", 563107887, 697554063, Spawn)
+	else
+	end
+
+end
+

+ 37 - 0
Lua/SpawnScripts/QeynosHarbor/SquireMoorford.lua

@@ -0,0 +1,37 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/SquireMoorford.lua
+	Script Purpose	: Squire Moorford <Qeynos Guard>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/squire_moorford/qey_harbor/privatemoorford000.mp3", "", "", 3116776153, 2836450585, Spawn)
+		AddConversationOption(conversation, "Keep up the good work!", "dlg_1_1")
+	StartConversation(conversation, NPC, Spawn, "Hello!  How can I help you? It's my proud duty to help keep this harbor safe!")
+	if convo==12 then
+		PlayFlavor(NPC, "voiceover/english/squire_moorford/qey_harbor/privatemoorford000.mp3", "", "", 3116776153, 2836450585, Spawn)
+		AddConversationOption(conversation, "Keep up the good work!", "dlg_12_1")
+		StartConversation(conversation, NPC, Spawn, "Hello!  How can I help you? It's my proud duty to help keep this harbor safe!")
+	end
+
+end
+

+ 36 - 0
Lua/SpawnScripts/QeynosHarbor/Taburg.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Taburg.lua
+	Script Purpose	: Taburg <Guard>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 1717559969, 1730005307, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift!  If the gnolls don't attack now I may die of boredom.", "grumble", 31199107, 4082603014, Spawn)
+	else
+	end
+
+end
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/TalaMcMorgan.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/TalaMcMorgan.lua
+	Script Purpose	: Tala McMorgan <Shieldsmith>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/armorsmith/barbarian_armorsmith_service_good_1_hail_gf_db7232a3.mp3", "Well, that suit is looking a mite worn.  Can I interest you in a new suit of fine armor? ", "ponder", 2370049606, 3595933310, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/armorsmith/barbarian_armorsmith_service_good_1_hail_gf_bb02310.mp3", "Coin is no object when gaining protection from your enemies.  What price can be put on your safety? ", "glare", 1808847364, 1800754828, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/armorsmith/barbarian_armorsmith_service_good_1_hail_gf_58a92b79.mp3", "You can never be too careful when it comes to protection.  Here, try on one of these.", "agree", 1311124231, 2419539486, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/armorsmith/barbarian_armorsmith_service_good_1_hail_gf_af50709c.mp3", "I have some nice new suits of chain that have stood up very well.  Would you like to see them?", "shrug", 2528208011, 314481755, Spawn)
+	else
+	end
+
+end
+

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/ThomasBodley.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/ThomasBodley.lua
+	Script Purpose	: Thomas Bodley <General Goods>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_1/ft/service/armorsmith/human_armorsmith_service_good_1_hail_gm_bb02310.mp3", "Coin is no object when gaining protection from your enemies.  What price can be put on your safety? ", "glare", 4001145540, 1700499989, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_1/ft/service/armorsmith/human_armorsmith_service_good_1_hail_gm_af50709c.mp3", "I have some nice new suits of chain that have stood up very well.  Would you like to see them?", "shrug", 1083420797, 1187364205, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_1/ft/service/armorsmith/human_armorsmith_service_good_1_hail_gm_58a92b79.mp3", "You can never be too careful when it comes to protection.  Here, try on one of these.", "agree", 1065665881, 1563994341, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_1/ft/service/armorsmith/human_armorsmith_service_good_1_hail_gm_db7232a3.mp3", "Well, that suit is looking a mite worn.  Can I interest you in a new suit of fine armor? ", "ponder", 3836224141, 450395477, Spawn)
+	else
+	end
+
+end
+

+ 66 - 0
Lua/SpawnScripts/QeynosHarbor/UmliGrayfist.lua

@@ -0,0 +1,66 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/UmliGrayfist.lua
+	Script Purpose	: Umli Grayfist <Bartender>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/merchant_umli_grayfist/qey_harbor/umligrayfist.mp3", "", "", 3286861103, 2387698452, Spawn)
+		AddConversationOption(conversation, "I'd say the deal's already been struck, Gretta sent me to fetch her order.", "dlg_0_1")
+		AddConversationOption(conversation, "Thank you but I'm not interested right this second, perhaps some other time.")
+	StartConversation(conversation, NPC, Spawn, "Have I got a bargain for you!  Come now, step up, I don't bite.  Check my goods and see if we can't make a whale of a deal! Ha ha ha ha ...Whale of a deal, get it?")
+	if convo==6 then
+		PlayFlavor(NPC, "voiceover/english/merchant_umli_grayfist/qey_harbor/umligrayfist.mp3", "", "", 3286861103, 2387698452, Spawn)
+		AddConversationOption(conversation, "Thank you but I'm not interested right this second, perhaps some other time.", "dlg_6_1")
+		StartConversation(conversation, NPC, Spawn, "Have I got a bargain for you!  Come now, step up, I don't bite.  Check my goods and see if we can't make a whale of a deal! Ha ha ha ha ...Whale of a deal, get it?")
+	end
+
+	if convo==8 then
+		PlayFlavor(NPC, "voiceover/english/merchant_umli_grayfist/qey_harbor/umligrayfist.mp3", "", "", 3286861103, 2387698452, Spawn)
+		AddConversationOption(conversation, "Thank you but I'm not interested right this second, perhaps some other time.", "dlg_8_1")
+		StartConversation(conversation, NPC, Spawn, "Have I got a bargain for you!  Come now, step up, I don't bite.  Check my goods and see if we can't make a whale of a deal! Ha ha ha ha ...Whale of a deal, get it?")
+	end
+
+	if convo==9 then
+		PlayFlavor(NPC, "voiceover/english/merchant_umli_grayfist/qey_harbor/umligrayfist.mp3", "", "", 3286861103, 2387698452, Spawn)
+		AddConversationOption(conversation, "Thank you but I'm not interested right this second, perhaps some other time.", "dlg_9_1")
+		StartConversation(conversation, NPC, Spawn, "Have I got a bargain for you!  Come now, step up, I don't bite.  Check my goods and see if we can't make a whale of a deal! Ha ha ha ha ...Whale of a deal, get it?")
+	end
+
+	if convo==10 then
+		PlayFlavor(NPC, "voiceover/english/merchant_umli_grayfist/qey_harbor/umligrayfist.mp3", "", "", 3286861103, 2387698452, Spawn)
+		AddConversationOption(conversation, "Thank you but I'm not interested right this second, perhaps some other time.", "dlg_10_1")
+		StartConversation(conversation, NPC, Spawn, "Have I got a bargain for you!  Come now, step up, I don't bite.  Check my goods and see if we can't make a whale of a deal! Ha ha ha ha ...Whale of a deal, get it?")
+	end
+
+end
+
+function dlg_0_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "voiceover/english/merchant_umli_grayfist/qey_harbor/umligrayfist000.mp3", "", "", 4224571781, 125811953, Spawn)
+		AddConversationOption(conversation, "I'll make sure she hears about your plans...  by the way, she says you're uglier than a female troll.  I guess that's how dwarves flirt.", "dlg_0_2")
+		AddConversationOption(conversation, "Ugh! These smell horrible!  If this is the freshest you've got, then I'll be avoiding Irontoes tonight for sure!")
+	StartConversation(conversation, NPC, Spawn, "Oh, Gretta, she's a feisty little lass! Did you see her nose? And those eye brows! Yow! Some day she and I will have some mighty fine lookin' little dwarves, but don't go telling her I said so! I'll just put it on her account. There. And here's her fish.")
+end
+

+ 28 - 0
Lua/SpawnScripts/QeynosHarbor/Velnia.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Velnia.lua
+	Script Purpose	: Velnia <Salty Sailor>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "", "Ah, the lure of the sea.  How can anyone avoid the call to sail the sea's waters, to explore, to be free?", "", 1689589577, 4560189, Spawn)
+end
+

+ 36 - 0
Lua/SpawnScripts/QeynosHarbor/Velwich.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Velwich.lua
+	Script Purpose	: Velwich <Guard>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 4141262779, 4227030045, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2997871263, 2912813719, Spawn)
+	else
+	end
+
+end
+

+ 46 - 0
Lua/SpawnScripts/QeynosHarbor/VernonTinworthy.lua

@@ -0,0 +1,46 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/VernonTinworthy.lua
+	Script Purpose	: Vernon Tinworthy <Bar Patron>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_12_1")
+	StartConversation(conversation, NPC, Spawn, "What do you want?")
+	if convo==20 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_20_1")
+		StartConversation(conversation, NPC, Spawn, "What do you want?")
+	end
+
+end
+
+function dlg_20_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_20_2")
+	StartConversation(conversation, NPC, Spawn, "What do you want?")
+end
+

+ 11 - 0
Lua/SpawnScripts/QeynosHarbor/Warland.lua

@@ -12,8 +12,19 @@ end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 1945337199, 2685949436, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 4141262779, 4227030045, Spawn)
+	else
+	end
+
 end
 
+
 function respawn(NPC)
 	spawn(NPC)
 	end

+ 40 - 0
Lua/SpawnScripts/QeynosHarbor/Zara.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/Zara.lua
+	Script Purpose	: Zara <Alchemist Assistant>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/scribe/human_scribe_service_good_1_hail_gf_58ed77b2.mp3", "All right where is my pen?  How am I supposed to scribe anything without my pen?", "tapfoot", 3780342879, 2618669009, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/scribe/human_scribe_service_good_1_hail_gf_efd8a52b.mp3", "Ah, a student of the arcane.  Is there something I can help you find?", "ponder", 3586357797, 1799040999, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/scribe/human_scribe_service_good_1_hail_gf_cbc94cb6.mp3", "Blast it! Who keeps taking all of the parchment?  ", "swear", 2488907983, 3464102231, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/scribe/human_scribe_service_good_1_hail_gf_392a4f4e.mp3", "Be careful, it's best not to read the scrolls.  If you want to know what they are, just ask me.", "nod", 4010532504, 2886226173, Spawn)
+	else
+	end
+
+end
+

+ 57 - 0
Lua/SpawnScripts/QeynosHarbor/aBarbarianTrader.lua

@@ -0,0 +1,57 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/aBarbarianTrader.lua
+	Script Purpose	: a barbarian trader <Far Seas Trading Company>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+	
+	local convo = math.random(1, 5)
+	
+	if convo == 1 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "But I just thought...", "dlg_36_1")
+		AddConversationOption(conversation, "I wouldn't trust you to scrub my boots, much less fetch me a drink.")
+		StartConversation(conversation, NPC, Spawn, "What are you staring at?  Do I look like a tavern wench to you?  There must be a short plank for you around here somewhere.")
+	elseif convo == 2 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "But I just thought...", "dlg_37_1")
+		AddConversationOption(conversation, "I wouldn't trust you to scrub my boots, much less fetch me a drink.")
+		StartConversation(conversation, NPC, Spawn, "What are you staring at?  Do I look like a tavern wench to you?  There must be a short plank for you around here somewhere.")
+	elseif convo == 3 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "But I just thought...", "dlg_38_1")
+		AddConversationOption(conversation, "I wouldn't trust you to scrub my boots, much less fetch me a drink.")
+		StartConversation(conversation, NPC, Spawn, "What are you staring at?  Do I look like a tavern wench to you?  There must be a short plank for you around here somewhere.")
+	elseif convo == 4 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "But I just thought...", "dlg_39_1")
+		AddConversationOption(conversation, "I wouldn't trust you to scrub my boots, much less fetch me a drink.")
+		StartConversation(conversation, NPC, Spawn, "What are you staring at?  Do I look like a tavern wench to you?  There must be a short plank for you around here somewhere.")
+	else
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "But I just thought...", "dlg_40_1")
+		AddConversationOption(conversation, "I wouldn't trust you to scrub my boots, much less fetch me a drink.")
+		StartConversation(conversation, NPC, Spawn, "What are you staring at?  Do I look like a tavern wench to you?  There must be a short plank for you around here somewhere.")
+	end
+
+end
+

+ 71 - 0
Lua/SpawnScripts/QeynosHarbor/aGigglegibberScout.lua

@@ -0,0 +1,71 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/aGigglegibberScout.lua
+	Script Purpose	: a Gigglegibber scout 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What do you know about the disappearance of Lord Bowsprite?", "dlg_2_1")
+		AddConversationOption(conversation, "Of course you aren't.")
+	StartConversation(conversation, NPC, Spawn, "Hellos, I'm just waiting here. Not doin' nothin' wrong. Nope, not me.")
+end
+
+function dlg_2_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Bowsprite... Not Bowspit.", "dlg_2_2")
+		AddConversationOption(conversation, "On second thought, I'll be going now.")
+	StartConversation(conversation, NPC, Spawn, "Lord who? I's never met no one named Bowspit.")
+end
+
+function dlg_2_2(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Who said he was an elf? Fess up or I'll tell everyone the Gigglegibber gambling game is rigged!", "dlg_2_3")
+		AddConversationOption(conversation, "Yeah, this is going to be like pulling teeth. Nevermind.")
+	StartConversation(conversation, NPC, Spawn, "Oh... Well, um, I's still don't know nothing about that elf.")
+end
+
+function dlg_2_3(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Tell me where it is. You don't want me to ruin your business do you?", "dlg_2_4")
+		AddConversationOption(conversation, "On second thought, I'll be going now.")
+	StartConversation(conversation, NPC, Spawn, "Noes, noes, you can't do that! Fine, I'll tells you everything. We have Bowspit at the super secret hideout, but you can't go there. No way.")
+end
+
+function dlg_2_4(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "You've been helpful, thanks.", "dlg_2_5")
+	StartConversation(conversation, NPC, Spawn, "You gonna gets me in a lot of trouble, you know. I'll tells you, but I don't exactly remember where it is. All I remember is the entrance is at the bottom of the water, under the docks, where the halfies and fairies play. We all haves to take the boat to get there. That's all I'm telling you! Now goes away.")
+end
+

+ 55 - 6
Lua/SpawnScripts/QeynosHarbor/aQeynoscitizen.lua

@@ -1,13 +1,62 @@
 --[[
-    Script Name    : SpawnScripts/QeynosHarbor/aQeynoscitizen.lua
-    Script Author  : Zcoretri
-    Script Date    : 2017.06.02 04:06:39
-    Script Purpose : 
-                   : 
+	Script Name	: SpawnScripts/QeynosHarbor/aQeynoscitizen.lua
+	Script Purpose	: a Qeynos citizen 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
 --]]
 
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+	waypoints(NPC)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
-	local conversation = CreateConversation()
 
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Are they here as spies?  Are they planning an attack?", "ponder", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Have you seen them?  I've heard that ratonga have been spotted in the city!", "agree", 1689589577, 4560189, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "Argh, it's not enough that they filthy up Freeport, now they've come here to spread their disease and muck around our city?  PAH!", "angry", 1689589577, 4560189, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "", "The Council hasn't said anything about the ratonga yet.  I wonder what's going on?", "ponder", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 822.63, -23.36, 108.25, 2, 30)
+	MovementLoopAddLocation(NPC, 818.87, -23.32, 104.58, 2, 0)
+	MovementLoopAddLocation(NPC, 820.26, -23.33, 81.49, 2, 0)
+	MovementLoopAddLocation(NPC, 835.95, -23.5, 52.35, 2, 15)
+	MovementLoopAddLocation(NPC, 836.02, -23.31, 46.13, 2, 0)
+	MovementLoopAddLocation(NPC, 857.63, -25.39, 43.18, 2, 0)
+	MovementLoopAddLocation(NPC, 882.96, -25.45, 48.95, 2, 0)
+	MovementLoopAddLocation(NPC, 895.26, -25.5, 45.79, 2, 0)
+	MovementLoopAddLocation(NPC, 926.1, -25.56, 55.37, 2, 0)
+	MovementLoopAddLocation(NPC, 954.75, -25.56, 66.07, 2, 30)
+	MovementLoopAddLocation(NPC, 926.1, -25.56, 55.37, 2, 0)
+	MovementLoopAddLocation(NPC, 895.26, -25.5, 45.79, 2, 0)
+	MovementLoopAddLocation(NPC, 882.96, -25.45, 48.95, 2, 0)
+	MovementLoopAddLocation(NPC, 857.63, -25.39, 43.18, 2, 0)
+	MovementLoopAddLocation(NPC, 836.02, -23.31, 46.13, 2, 0)
+	MovementLoopAddLocation(NPC, 835.95, -23.5, 52.35, 2, 15)
+	MovementLoopAddLocation(NPC, 820.26, -23.33, 81.49, 2, 0)
+	MovementLoopAddLocation(NPC, 818.87, -23.32, 104.58, 2, 0)
+	MovementLoopAddLocation(NPC, 822.63, -23.36, 108.25, 2, 30)
 end

+ 39 - 0
Lua/SpawnScripts/QeynosHarbor/aQeynoscitizen2.lua

@@ -0,0 +1,39 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/aQeynoscitizen.lua
+	Script Purpose	: a Qeynos citizen 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+	end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Are they here as spies?  Are they planning an attack?", "ponder", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Have you seen them?  I've heard that ratonga have been spotted in the city!", "agree", 1689589577, 4560189, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "Argh, it's not enough that they filthy up Freeport, now they've come here to spread their disease and muck around our city?  PAH!", "angry", 1689589577, 4560189, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "", "The Council hasn't said anything about the ratonga yet.  I wonder what's going on?", "ponder", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end

+ 76 - 0
Lua/SpawnScripts/QeynosHarbor/adrunksailor.lua

@@ -0,0 +1,76 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/adrunksailor.lua
+	Script Purpose	: a drunk sailor 
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+	waypoints(NPC)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,6)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Captain Gullham and his men left port for the Outpost of the Overlord several moons ago. Neither he, nor his ship, the Callisto Prince, has been seen since!", "no", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "It's been a long time since we've seen any refugees from the Outpost of the Overlord. Have they all been rescued?", "confused", 1689589577, 4560189, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "I'm beginning to miss those young adventurers running about town, solving everyone's problems. Good work is hard to find!", "shame", 1689589577, 4560189, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "", "I've heard word of a massive flotilla of ships blocking access to some of the established trade routes! Who do they think they are?! Do the Far Seas Traders have the audacity to think they own the seas?", "shakefist", 1689589577, 4560189, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "", "I don't know what to tell you, mate. If the Traders haven't found your brother by now, I'm afraid he's probably gone to the Hold of Prexus.", "sigh", 1689589577, 4560189, Spawn)
+	elseif choice == 6 then
+		PlayFlavor(NPC, "", "I've heard the Far Seas Trading Company no longer honors the Pact of Tserrin.", "agree", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 926.33, -25.56, 64.28, 2, 0)
+	MovementLoopAddLocation(NPC, 916.7, -25.49, 54.32, 2, 0)
+	MovementLoopAddLocation(NPC, 906.84, -25.25, 48.73, 2, 0)
+	MovementLoopAddLocation(NPC, 911.84, -25.49, 32.88, 2, 0)
+	MovementLoopAddLocation(NPC, 922.02, -25.49, 22.11, 2, 0)
+	MovementLoopAddLocation(NPC, 931.07, -25.4, 15.12, 2, 0)
+	MovementLoopAddLocation(NPC, 933.57, -25.42, 14.33, 2, 0)
+	MovementLoopAddLocation(NPC, 938.88, -25.55, 11.42, 2, 0)
+	MovementLoopAddLocation(NPC, 927.9, -25.43, 16.95, 2, 0)
+	MovementLoopAddLocation(NPC, 931.45, -25.58, 31.72, 2, 0)
+	MovementLoopAddLocation(NPC, 923.78, -25.49, 51.49, 2, 0)
+	MovementLoopAddLocation(NPC, 910.29, -25.33, 88.01, 2, 0)
+	MovementLoopAddLocation(NPC, 928.5, -25.27, 97.46, 2, 0)
+	MovementLoopAddLocation(NPC, 932.35, -25.27, 92.05, 2, 0)
+	MovementLoopAddLocation(NPC, 924.95, -25.27, 88.74, 2, 120)
+	MovementLoopAddLocation(NPC, 932.35, -25.27, 92.05, 2, 0)
+	MovementLoopAddLocation(NPC, 928.5, -25.27, 97.46, 2, 0)
+	MovementLoopAddLocation(NPC, 910.29, -25.33, 88.01, 2, 0)
+	MovementLoopAddLocation(NPC, 923.78, -25.49, 51.49, 2, 0)
+	MovementLoopAddLocation(NPC, 931.45, -25.58, 31.72, 2, 0)
+	MovementLoopAddLocation(NPC, 927.9, -25.43, 16.95, 2, 0)
+	MovementLoopAddLocation(NPC, 938.88, -25.55, 11.42, 2, 0)
+	MovementLoopAddLocation(NPC, 933.57, -25.42, 14.33, 2, 0)
+	MovementLoopAddLocation(NPC, 931.07, -25.4, 15.12, 2, 0)
+	MovementLoopAddLocation(NPC, 922.02, -25.49, 22.11, 2, 0)
+	MovementLoopAddLocation(NPC, 911.84, -25.49, 32.88, 2, 0)
+	MovementLoopAddLocation(NPC, 906.84, -25.25, 48.73, 2, 0)
+	MovementLoopAddLocation(NPC, 916.7, -25.49, 54.32, 2, 0)
+	MovementLoopAddLocation(NPC, 926.33, -25.56, 64.28, 2, 0)
+end

+ 64 - 0
Lua/SpawnScripts/QeynosHarbor/agnomeobserver.lua

@@ -0,0 +1,64 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/agnomeobserver.lua
+	Script Purpose	: a gnome observer <Smuggler's Den>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	local choice = math.random(1,1)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Like I said before, get out there and hold onto those blood-soaked islets.", "", 1689589577, 4560189, Spawn)
+	else
+	end
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1023.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What do you mean?", "dlg_32_1")
+		AddConversationOption(conversation, "You shouldn't use words you can't pronounce.")
+	StartConversation(conversation, NPC, Spawn, "The Far Seas Trading Company won't rest until they've seizified full control of that collection of spiny rock, and neither will the Smugglers.  There's far too much at stake for either side to up'n give up.  And this, mate, is where we come in.")
+	if convo==33 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1023.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What do you mean?", "dlg_33_1")
+		AddConversationOption(conversation, "You shouldn't use words you can't pronounce.")
+		StartConversation(conversation, NPC, Spawn, "The Far Seas Trading Company won't rest until they've seizified full control of that collection of spiny rock, and neither will the Smugglers.  There's far too much at stake for either side to up'n give up.  And this, mate, is where we come in.")
+	end
+
+	if convo==34 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1023.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What do you mean?", "dlg_34_1")
+		AddConversationOption(conversation, "You shouldn't use words you can't pronounce.")
+		StartConversation(conversation, NPC, Spawn, "The Far Seas Trading Company won't rest until they've seizified full control of that collection of spiny rock, and neither will the Smugglers.  There's far too much at stake for either side to up'n give up.  And this, mate, is where we come in.")
+	end
+
+	if convo==35 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1023.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What do you mean?", "dlg_35_1")
+		AddConversationOption(conversation, "You shouldn't use words you can't pronounce.")
+		StartConversation(conversation, NPC, Spawn, "The Far Seas Trading Company won't rest until they've seizified full control of that collection of spiny rock, and neither will the Smugglers.  There's far too much at stake for either side to up'n give up.  And this, mate, is where we come in.")
+	end
+
+end
+
+--[[ raw_conversations
+	PlayFlavor(NPC, "", "Like I said before, get out there and hold onto those blood-soaked islets.", "", 1689589577, 4560189, Spawn)
+--]]
+

+ 88 - 0
Lua/SpawnScripts/QeynosHarbor/agnomeresearcher.lua

@@ -0,0 +1,88 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/agnomeresearcher.lua
+	Script Purpose	: a gnome researcher <Tinmizer's Tinkerers>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1025.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Ahem.", "dlg_12_1")
+		AddConversationOption(conversation, "If I find any small-brained sorts, I'll let you know.  Goodbye. ")
+	StartConversation(conversation, NPC, Spawn, "This research opportunity is amazing.  It appears that traveling all the way out here was a brilliant idea, after all.  And of course it was a good idea, because I am brilliant!  Now if I could only find some small-brained, strong-backed sorts to test the parameters of the Cog of Precision.")
+	if convo==13 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1025.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Ahem.", "dlg_13_1")
+		AddConversationOption(conversation, "If I find any small-brained sorts, I'll let you know.  Goodbye. ")
+		StartConversation(conversation, NPC, Spawn, "This research opportunity is amazing.  It appears that traveling all the way out here was a brilliant idea, after all.  And of course it was a good idea, because I am brilliant!  Now if I could only find some small-brained, strong-backed sorts to test the parameters of the Cog of Precision.")
+	end
+
+	if convo==14 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1025.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Ahem.", "dlg_14_1")
+		AddConversationOption(conversation, "If I find any small-brained sorts, I'll let you know.  Goodbye. ")
+		StartConversation(conversation, NPC, Spawn, "This research opportunity is amazing.  It appears that traveling all the way out here was a brilliant idea, after all.  And of course it was a good idea, because I am brilliant!  Now if I could only find some small-brained, strong-backed sorts to test the parameters of the Cog of Precision.")
+	end
+
+	if convo==15 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1025.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Ahem.", "dlg_15_1")
+		AddConversationOption(conversation, "If I find any small-brained sorts, I'll let you know.  Goodbye. ")
+		StartConversation(conversation, NPC, Spawn, "This research opportunity is amazing.  It appears that traveling all the way out here was a brilliant idea, after all.  And of course it was a good idea, because I am brilliant!  Now if I could only find some small-brained, strong-backed sorts to test the parameters of the Cog of Precision.")
+	end
+
+	if convo==16 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1025.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Ahem.", "dlg_16_1")
+		AddConversationOption(conversation, "If I find any small-brained sorts, I'll let you know.  Goodbye. ")
+		StartConversation(conversation, NPC, Spawn, "This research opportunity is amazing.  It appears that traveling all the way out here was a brilliant idea, after all.  And of course it was a good idea, because I am brilliant!  Now if I could only find some small-brained, strong-backed sorts to test the parameters of the Cog of Precision.")
+	end
+
+	if convo==17 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1040.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Wait, see what?", "dlg_17_1")
+		AddConversationOption(conversation, "I don't have time for this nonsense. ")
+		StartConversation(conversation, NPC, Spawn, "Tell me you saw it!  Tell me I'm not dreaming!  Oh, my grampy's grammy's grampy's aunt Jude would have given up her favorite brass clockwork potato peeler for just a glimpse of it!  And this was during the potato glut of '06, when such a trade would have been ill-advised.")
+	end
+
+	if convo==18 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1040.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Wait, see what?", "dlg_18_1")
+		AddConversationOption(conversation, "I don't have time for this nonsense. ")
+		StartConversation(conversation, NPC, Spawn, "Tell me you saw it!  Tell me I'm not dreaming!  Oh, my grampy's grammy's grampy's aunt Jude would have given up her favorite brass clockwork potato peeler for just a glimpse of it!  And this was during the potato glut of '06, when such a trade would have been ill-advised.")
+	end
+
+	if convo==19 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1040.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Wait, see what?", "dlg_19_1")
+		AddConversationOption(conversation, "I don't have time for this nonsense. ")
+		StartConversation(conversation, NPC, Spawn, "Tell me you saw it!  Tell me I'm not dreaming!  Oh, my grampy's grammy's grampy's aunt Jude would have given up her favorite brass clockwork potato peeler for just a glimpse of it!  And this was during the potato glut of '06, when such a trade would have been ill-advised.")
+	end
+
+	if convo==20 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1040.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Wait, see what?", "dlg_20_1")
+		AddConversationOption(conversation, "I don't have time for this nonsense. ")
+		StartConversation(conversation, NPC, Spawn, "Tell me you saw it!  Tell me I'm not dreaming!  Oh, my grampy's grammy's grampy's aunt Jude would have given up her favorite brass clockwork potato peeler for just a glimpse of it!  And this was during the potato glut of '06, when such a trade would have been ill-advised.")
+	end
+
+end
+

+ 71 - 0
Lua/SpawnScripts/QeynosHarbor/agnomeresearcher_1.lua

@@ -0,0 +1,71 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/agnomeresearcher_1.lua
+	Script Purpose	: a gnome researcher <Meldrath's Machinists>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	local choice = math.random(1,1)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "You're supposed to be demonstrating our superiority in the Gears of Klak'Anon arena, remember?", "", 1689589577, 4560189, Spawn)
+	else
+	end
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1026.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Sounds like you want to teach them a lesson.", "dlg_21_1")
+		AddConversationOption(conversation, "I don't want to get in the middle of this.")
+	StartConversation(conversation, NPC, Spawn, "I find it simply appalling that we have to share the Cog of Precision with Tinmizer's Tinkerers.  Those fools don't know what they've got in their possession.  Granted, they turn up intriguing data every once in awhile, but even my old pappy's lunar-powered sundial was right once a day.")
+	if convo==22 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1026.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Sounds like you want to teach them a lesson.", "dlg_22_1")
+		AddConversationOption(conversation, "I don't want to get in the middle of this.")
+		StartConversation(conversation, NPC, Spawn, "I find it simply appalling that we have to share the Cog of Precision with Tinmizer's Tinkerers.  Those fools don't know what they've got in their possession.  Granted, they turn up intriguing data every once in awhile, but even my old pappy's lunar-powered sundial was right once a day.")
+	end
+
+	if convo==23 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1026.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Sounds like you want to teach them a lesson.", "dlg_23_1")
+		AddConversationOption(conversation, "I don't want to get in the middle of this.")
+		StartConversation(conversation, NPC, Spawn, "I find it simply appalling that we have to share the Cog of Precision with Tinmizer's Tinkerers.  Those fools don't know what they've got in their possession.  Granted, they turn up intriguing data every once in awhile, but even my old pappy's lunar-powered sundial was right once a day.")
+	end
+
+	if convo==24 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1026.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Sounds like you want to teach them a lesson.", "dlg_24_1")
+		AddConversationOption(conversation, "I don't want to get in the middle of this.")
+		StartConversation(conversation, NPC, Spawn, "I find it simply appalling that we have to share the Cog of Precision with Tinmizer's Tinkerers.  Those fools don't know what they've got in their possession.  Granted, they turn up intriguing data every once in awhile, but even my old pappy's lunar-powered sundial was right once a day.")
+	end
+
+	if convo==25 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1026.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Sounds like you want to teach them a lesson.", "dlg_25_1")
+		AddConversationOption(conversation, "I don't want to get in the middle of this.")
+		StartConversation(conversation, NPC, Spawn, "I find it simply appalling that we have to share the Cog of Precision with Tinmizer's Tinkerers.  Those fools don't know what they've got in their possession.  Granted, they turn up intriguing data every once in awhile, but even my old pappy's lunar-powered sundial was right once a day.")
+	end
+
+end
+
+--[[ raw_conversations
+	PlayFlavor(NPC, "", "You're supposed to be demonstrating our superiority in the Gears of Klak'Anon arena, remember?", "", 1689589577, 4560189, Spawn)
+--]]
+

+ 53 - 0
Lua/SpawnScripts/QeynosHarbor/aniksarcommander.lua

@@ -0,0 +1,53 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/aniksarcommander.lua
+	Script Purpose	: an iksar commander <Battlefield of Ganak>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1038.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What do you mean?", "dlg_0_1")
+		AddConversationOption(conversation, "I disagree.  Goodbye.")
+	StartConversation(conversation, NPC, Spawn, "There is no greater honor than to taste victory on the Battlefield of Ganak!")
+	if convo==1 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1038.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What do you mean?", "dlg_1_1")
+		AddConversationOption(conversation, "I disagree.  Goodbye.")
+		StartConversation(conversation, NPC, Spawn, "There is no greater honor than to taste victory on the Battlefield of Ganak!")
+	end
+
+	if convo==2 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1038.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What do you mean?", "dlg_2_1")
+		AddConversationOption(conversation, "I disagree.  Goodbye.")
+		StartConversation(conversation, NPC, Spawn, "There is no greater honor than to taste victory on the Battlefield of Ganak!")
+	end
+
+	if convo==3 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1038.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What do you mean?", "dlg_3_1")
+		AddConversationOption(conversation, "I disagree.  Goodbye.")
+		StartConversation(conversation, NPC, Spawn, "There is no greater honor than to taste victory on the Battlefield of Ganak!")
+	end
+
+end
+

+ 64 - 0
Lua/SpawnScripts/QeynosHarbor/aniksarobserver.lua

@@ -0,0 +1,64 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/aniksarobserver.lua
+	Script Purpose	: an iksar observer <Battlefield of Ganak>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	local choice = math.random(1,1)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Make your way to the Battlefield of Ganak, and show the enemy no mercy!", "", 1689589577, 4560189, Spawn)
+	else
+	end
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1041.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Tell me more.", "dlg_8_1")
+		AddConversationOption(conversation, "I do not have time for games either.  Good day.")
+	StartConversation(conversation, NPC, Spawn, "I have no time for games.  But... perhaps you do, if you catch my meaning.")
+	if convo==9 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1041.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Tell me more.", "dlg_9_1")
+		AddConversationOption(conversation, "I do not have time for games either.  Good day.")
+		StartConversation(conversation, NPC, Spawn, "I have no time for games.  But... perhaps you do, if you catch my meaning.")
+	end
+
+	if convo==10 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1041.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Tell me more.", "dlg_10_1")
+		AddConversationOption(conversation, "I do not have time for games either.  Good day.")
+		StartConversation(conversation, NPC, Spawn, "I have no time for games.  But... perhaps you do, if you catch my meaning.")
+	end
+
+	if convo==11 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1041.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Tell me more.", "dlg_11_1")
+		AddConversationOption(conversation, "I do not have time for games either.  Good day.")
+		StartConversation(conversation, NPC, Spawn, "I have no time for games.  But... perhaps you do, if you catch my meaning.")
+	end
+
+end
+
+--[[ raw_conversations
+	PlayFlavor(NPC, "", "Make your way to the Battlefield of Ganak, and show the enemy no mercy!", "", 1689589577, 4560189, Spawn)
+--]]
+

+ 64 - 0
Lua/SpawnScripts/QeynosHarbor/aniksarwarrior.lua

@@ -0,0 +1,64 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/aniksarwarrior.lua
+	Script Purpose	: an iksar warrior <Battlefield of Ganak>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	local choice = math.random(1,1)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "The sooner you annihilate the opposition on the Battlefield of Ganak, the sooner you will be rewarded.", "", 1689589577, 4560189, Spawn)
+	else
+	end
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1038.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "To crush your enemies and see them driven before you.", "dlg_4_1")
+		AddConversationOption(conversation, "The open steppe, fleet horse, and the wind in your hair.")
+	StartConversation(conversation, NPC, Spawn, "Aha, we won again!  This is good, but what is best in life?")
+	if convo==5 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1038.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "To crush your enemies and see them driven before you.", "dlg_5_1")
+		AddConversationOption(conversation, "The open steppe, fleet horse, and the wind in your hair.")
+		StartConversation(conversation, NPC, Spawn, "Aha, we won again!  This is good, but what is best in life?")
+	end
+
+	if convo==6 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1038.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "To crush your enemies and see them driven before you.", "dlg_6_1")
+		AddConversationOption(conversation, "The open steppe, fleet horse, and the wind in your hair.")
+		StartConversation(conversation, NPC, Spawn, "Aha, we won again!  This is good, but what is best in life?")
+	end
+
+	if convo==7 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1038.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "To crush your enemies and see them driven before you.", "dlg_7_1")
+		AddConversationOption(conversation, "The open steppe, fleet horse, and the wind in your hair.")
+		StartConversation(conversation, NPC, Spawn, "Aha, we won again!  This is good, but what is best in life?")
+	end
+
+end
+
+--[[ raw_conversations
+	PlayFlavor(NPC, "", "The sooner you annihilate the opposition on the Battlefield of Ganak, the sooner you will be rewarded.", "", 1689589577, 4560189, Spawn)
+--]]
+

+ 39 - 0
Lua/SpawnScripts/QeynosHarbor/apiratecaptain.lua

@@ -0,0 +1,39 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/apiratecaptain.lua
+	Script Purpose	: a pirate captain <Pirates of Gunthak>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Booming, you say?", "dlg_27_1")
+		AddConversationOption(conversation, "This story makes me seasick.")
+	StartConversation(conversation, NPC, Spawn, "It's a right pleasure to be returnin' to me favorite port, especially after a harrowin' journey, the likes of which are enough to make even the saltiest seadog weep.  I endured rough seas, rough mates, and a tragic dearth of grog.  But ignore my complainin'.  The fact of the matter is that business is booming!")
+	if convo==28 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Booming, you say?", "dlg_28_1")
+		AddConversationOption(conversation, "This story makes me seasick.")
+		StartConversation(conversation, NPC, Spawn, "It's a right pleasure to be returnin' to me favorite port, especially after a harrowin' journey, the likes of which are enough to make even the saltiest seadog weep.  I endured rough seas, rough mates, and a tragic dearth of grog.  But ignore my complainin'.  The fact of the matter is that business is booming!")
+	end
+
+end
+

+ 46 - 0
Lua/SpawnScripts/QeynosHarbor/apiratefirstmate.lua

@@ -0,0 +1,46 @@
+--[[
+	Script Name	: SpawnScripts/QeynosHarbor/apiratefirstmate.lua
+	Script Purpose	: a pirate first mate <Pirates of Gunthak>
+	Script Author	: Cynnar
+	Script Date	: 2020.04.12
+	Script Notes	: Auto-Generated Conversation from PacketParser Data
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1060.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Can I help?", "dlg_29_1")
+		AddConversationOption(conversation, "I don't like the cut of your jib. ")
+	StartConversation(conversation, NPC, Spawn, "Avast, what in the name of the bosun's black beard are you doing?  How are we going to skewer them out there if you're wasting time here?  The standoff in the Smuggler's Den isn't going to resolve itself.")
+	if convo==30 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Can I help?", "dlg_30_1")
+		AddConversationOption(conversation, "I don't like the cut of your jib. ")
+		StartConversation(conversation, NPC, Spawn, "Avast, what in the name of the bosun's black beard are you doing?  How are we going to skewer them out there if you're wasting time here?  The standoff in the Smuggler's Den isn't going to resolve itself.")
+	end
+
+	if convo==31 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1060.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Can I help?", "dlg_31_1")
+		AddConversationOption(conversation, "I don't like the cut of your jib. ")
+		StartConversation(conversation, NPC, Spawn, "Avast, what in the name of the bosun's black beard are you doing?  How are we going to skewer them out there if you're wasting time here?  The standoff in the Smuggler's Den isn't going to resolve itself.")
+	end
+
+end
+

+ 49 - 1
Lua/SpawnScripts/QeynosHarbor/boulden.lua

@@ -8,10 +8,46 @@
 
 function spawn(NPC)
 	waypoints(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
 end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "We can't take any chances that the Rallosian Empire will rebuild itself.  Who will heed my call!?", "", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Now is the time we must band together and find what's left of the Feerrott!", "", 1689589577, 4560189, Spawn)
+	else
+	end
+
+		PlayFlavor(NPC, "voiceover/english/boulden_smitestone/boat_06p_feerrott/blackwater/boulden_smitestone_harbor001.mp3", "", "", 912083139, 1947162307, Spawn)
+		AddConversationOption(conversation, "I just might do that.", "dlg_0_1")
+	StartConversation(conversation, NPC, Spawn, "I'm sorry, but you look a bit green for something as momentous as this.  Come and talk to me after you've sunk your teeth into some real adventure.")
+	if convo==2 then
+		PlayFlavor(NPC, "voiceover/english/boulden_smitestone/boat_06p_feerrott/blackwater/boulden_smitestone_harbor001.mp3", "", "", 912083139, 1947162307, Spawn)
+		AddConversationOption(conversation, "I just might do that.", "dlg_2_1")
+		StartConversation(conversation, NPC, Spawn, "I'm sorry, but you look a bit green for something as momentous as this.  Come and talk to me after you've sunk your teeth into some real adventure.")
+	end
+
+	if convo==15 then
+		PlayFlavor(NPC, "voiceover/english/boulden_smitestone/boat_06p_feerrott/blackwater/boulden_smitestone_harbor001.mp3", "", "", 912083139, 1947162307, Spawn)
+		AddConversationOption(conversation, "I just might do that.", "dlg_15_1")
+		StartConversation(conversation, NPC, Spawn, "I'm sorry, but you look a bit green for something as momentous as this.  Come and talk to me after you've sunk your teeth into some real adventure.")
+	end
+
+end
+
+function dlg_0_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "voiceover/english/boulden_smitestone/boat_06p_feerrott/blackwater/boulden_smitestone_harbor001.mp3", "", "", 912083139, 1947162307, Spawn)
+		AddConversationOption(conversation, "I just might do that.", "dlg_0_2")
+	StartConversation(conversation, NPC, Spawn, "I'm sorry, but you look a bit green for something as momentous as this.  Come and talk to me after you've sunk your teeth into some real adventure.")
 end
 
 function respawn(NPC)
@@ -23,4 +59,16 @@ function waypoints(NPC)
 	MovementLoopAddLocation(NPC, 932.52, -25.51, 24.28, 2, 60)
 end
 
-
+function InRange(NPC, Spawn)
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "We can't take any chances that the Rallosian Empire will rebuild itself.  Who will heed my call!?", "", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Now is the time we must band together and find what's left of the Feerrott!", "", 1689589577, 4560189, Spawn)
+	else
+	end
+end
+
+function LeaveRange(NPC, Spawn)
+end

+ 3 - 0
Lua/SpawnScripts/QeynosHarbor/hilldon.lua

@@ -12,8 +12,11 @@ end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+
+	PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift!  If the gnolls don't attack now, I may die of boredom.", "grumble", 4099618783, 4191002419, Spawn)
 end
 
+
 function respawn(NPC)
 	spawn(NPC)
 end

+ 27 - 0
Lua/SpawnScripts/QeynosHarbor/nathan.lua

@@ -7,6 +7,7 @@
 --]]
 
 function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
 	waypoints(NPC)
 end
 
@@ -14,6 +15,32 @@ function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
 end
 
+function InRange(NPC, Spawn)
+		local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_annoyingkid/ft/eco/good/human_eco_good_annoyingkid_cat_gm_fdc32a9.mp3", "Come back here kitty!", "wave", 204283170, 334524744, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_evil_badkid/ft/eco/evil/human_eco_evil_badkid_pig_gm_9fa4475d.mp3", "Run ya swine. Run!", "wave", 1654188343, 2070658176, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_annoyingkid/ft/eco/good/human_eco_good_annoyingkid_hail_gm_dc9519d6.mp3", "I want to join the Qeynos Guard when I grow up!", "salute", 3878579501, 1793000405, Spawn)
+	else
+		local choice = math.random(1,2)
+
+		if choice == 1 then
+			PlayFlavor(NPC, "voiceover/english/human_eco_good_annoyingkid/ft/eco/good/human_eco_good_annoyingkid_hail_gm_5674cc18.mp3", "Have you seen a Gnoll before?", "", 3064755312, 374536170, Spawn)
+		elseif choice == 2 then
+			PlayFlavor(NPC, "voiceover/english/human_eco_good_annoyingkid/ft/eco/good/human_eco_good_annoyingkid_hail_gm_110eef44.mp3", "Have you been inside the castle? I want to go there someday!", "smile", 2372987392, 3554768792, Spawn)
+		else
+		end
+	end
+	end
+
+function LeaveRange(NPC, Spawn)
+end
+
+
+
 function respawn(NPC)
 	spawn(NPC)
 end

+ 100 - 24
Lua/SpawnScripts/QeynosHarbor/tabina.lua

@@ -12,36 +12,112 @@ end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+	
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_fighter_gf_544e4a58.mp3", "Epic battles await your future, but the strength of your arm shall tame them all!", "", 2750782728, 2274979632, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_barmaid_gf_23d3c5ab.mp3", "You seek a life to make yourself happy than trying to please others.", "", 2950244318, 54283461, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_mage_gf_f18445ae.mp3", "Clearly your intellect is your best asset. The world shall marvel at the wonders you control.", "", 2143349270, 291509869, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_seer/ft/eco/good/human_eco_good_seer_guard_gf_8cbf41a3.mp3", "A profound sense of loyalty to your duty is your greatest strength.", "", 1355126191, 913914779, Spawn)
+	else
+	end
+
 end
 
 function respawn(NPC)
 	spawn(NPC)
 	end
 
-function waypoints(NPC)
-	MovementLoopAddLocation(NPC, 839.82, -25.47, -0.55, 2, 45)
-	MovementLoopAddLocation(NPC, 848.38, -25.46, 13.55, 2, 0)
-	MovementLoopAddLocation(NPC, 858.11, -25.47, 22.81, 2, 0)
-	MovementLoopAddLocation(NPC, 862.36, -25.51, 34.89, 2, 0)
-	MovementLoopAddLocation(NPC, 881.65, -25.43, 35, 2, 0)
-	MovementLoopAddLocation(NPC, 893.92, -25.48, 29.49, 2, 0)
-	MovementLoopAddLocation(NPC, 900.82, -25.43, 6.34, 2, 0)
-	MovementLoopAddLocation(NPC, 899.15, -23.46, -35.74, 2, 0)
-	MovementLoopAddLocation(NPC, 892.55, -25.38, -58.9, 2, 0)
-	MovementLoopAddLocation(NPC, 812.24, -20.4, -59.15, 2, 0)
-	MovementLoopAddLocation(NPC, 792.62, -21.09, -57.06, 2, 0)
-	MovementLoopAddLocation(NPC, 775.75, -20.64, -24.43, 2, 60)
-	MovementLoopAddLocation(NPC, 792.62, -21.09, -57.06, 2, 0)
-	MovementLoopAddLocation(NPC, 812.24, -20.4, -59.15, 2, 0)
-	MovementLoopAddLocation(NPC, 892.55, -25.38, -58.9, 2, 0)
-	MovementLoopAddLocation(NPC, 899.15, -23.46, -35.74, 2, 0)
-	MovementLoopAddLocation(NPC, 900.82, -25.43, 6.34, 2, 0)
-	MovementLoopAddLocation(NPC, 893.92, -25.48, 29.49, 2, 0)
-	MovementLoopAddLocation(NPC, 881.65, -25.43, 35, 2, 0)
-	MovementLoopAddLocation(NPC, 862.36, -25.51, 34.89, 2, 0)
-	MovementLoopAddLocation(NPC, 858.11, -25.47, 22.81, 2, 0)
-	MovementLoopAddLocation(NPC, 848.38, -25.46, 13.55, 2, 0)
-	MovementLoopAddLocation(NPC, 839.82, -25.47, -0.55, 2, 45)
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 797.49, -23.26, 98.44, 2, 30)
+	MovementLoopAddLocation(NPC, 798.15, -23.26, 107.18, 2, 20)
+	MovementLoopAddLocation(NPC, 805.71, -23.32, 107.4, 2, 0)
+	MovementLoopAddLocation(NPC, 807.27, -23.33, 99.33, 2, 0)
+	MovementLoopAddLocation(NPC, 819.55, -23.34, 64.6, 2, 0)
+	MovementLoopAddLocation(NPC, 814.05, -23.27, 61.7, 2, 0)
+	MovementLoopAddLocation(NPC, 809.61, -23.27, 62.88, 2, 0)
+	MovementLoopAddLocation(NPC, 808.99, -23.27, 63.88, 2, 0)
+	MovementLoopAddLocation(NPC, 809.29, -23.24, 66.71, 2, 0)
+	MovementLoopAddLocation(NPC, 806.88, -23.27, 74, 2, 0)
+	MovementLoopAddLocation(NPC, 798.86, -20.27, 69.6, 2, 0)
+	MovementLoopAddLocation(NPC, 803.77, -17.27, 60.15, 2, 0)
+	MovementLoopAddLocation(NPC, 809.55, -17.27, 51.81, 2, 0)
+	MovementLoopAddLocation(NPC, 803.01, -17.27, 62.37, 2, 0)
+	MovementLoopAddLocation(NPC, 798.64, -20.27, 68.82, 2, 0)
+	MovementLoopAddLocation(NPC, 799.61, -20.27, 69.98, 2, 0)
+	MovementLoopAddLocation(NPC, 806.66, -23.27, 73.81, 2, 0)
+	MovementLoopAddLocation(NPC, 809.86, -23.24, 67.32, 2, 0)
+	MovementLoopAddLocation(NPC, 813.33, -23.27, 65.58, 2, 0)
+	MovementLoopAddLocation(NPC, 815.09, -23.27, 62.05, 2, 0)
+	MovementLoopAddLocation(NPC, 820.09, -23.33, 64.4, 2, 0)
+	MovementLoopAddLocation(NPC, 831.65, -23.33, 43.01, 2, 0)
+	MovementLoopAddLocation(NPC, 835.95, -23.31, 41.23, 2, 0)
+	MovementLoopAddLocation(NPC, 856.03, -25.25, 38.54, 2, 0)
+	MovementLoopAddLocation(NPC, 860.98, -25.43, 37.91, 2, 0)
+	MovementLoopAddLocation(NPC, 861.98, -25.43, 24.43, 2, 0)
+	MovementLoopAddLocation(NPC, 848.36, -25.47, 14.77, 2, 0)
+	MovementLoopAddLocation(NPC, 832.3, -25.43, -11.42, 2, 0)
+	MovementLoopAddLocation(NPC, 835.61, -25.43, -23.7, 2, 0)
+	MovementLoopAddLocation(NPC, 867.36, -25.46, -33.22, 2, 0)
+	MovementLoopAddLocation(NPC, 875.66, -25.47, -32.07, 2, 0)
+	MovementLoopAddLocation(NPC, 882.76, -25.46, -29.24, 2, 0)
+	MovementLoopAddLocation(NPC, 897.46, -25.46, -19.43, 2, 0)
+	MovementLoopAddLocation(NPC, 889.44, -25.35, -46.95, 2, 0)
+	MovementLoopAddLocation(NPC, 882.31, -25.45, -54.72, 2, 0)
+	MovementLoopAddLocation(NPC, 877.78, -25.49, -56.75, 2, 0)
+	MovementLoopAddLocation(NPC, 874.21, -25.46, -58.26, 2, 0)
+	MovementLoopAddLocation(NPC, 841.61, -25.46, -58.23, 2, 0)
+	MovementLoopAddLocation(NPC, 812.05, -20.4, -58.23, 2, 0)
+	MovementLoopAddLocation(NPC, 805.57, -20.4, -58.35, 2, 0)
+	MovementLoopAddLocation(NPC, 791.84, -21.11, -57.67, 2, 0)
+	MovementLoopAddLocation(NPC, 775.18, -20.64, -24.61, 2, 30)
+	MovementLoopAddLocation(NPC, 791.84, -21.11, -57.67, 2, 0)
+	MovementLoopAddLocation(NPC, 805.57, -20.4, -58.35, 2, 0)
+	MovementLoopAddLocation(NPC, 812.05, -20.4, -58.23, 2, 0)
+	MovementLoopAddLocation(NPC, 841.61, -25.46, -58.23, 2, 0)
+	MovementLoopAddLocation(NPC, 874.21, -25.46, -58.26, 2, 0)
+	MovementLoopAddLocation(NPC, 877.78, -25.49, -56.75, 2, 0)
+	MovementLoopAddLocation(NPC, 882.31, -25.45, -54.72, 2, 0)
+	MovementLoopAddLocation(NPC, 889.44, -25.35, -46.95, 2, 0)
+	MovementLoopAddLocation(NPC, 897.46, -25.46, -19.43, 2, 0)
+	MovementLoopAddLocation(NPC, 882.76, -25.46, -29.24, 2, 0)
+	MovementLoopAddLocation(NPC, 875.66, -25.47, -32.07, 2, 0)
+	MovementLoopAddLocation(NPC, 867.36, -25.46, -33.22, 2, 0)
+	MovementLoopAddLocation(NPC, 835.61, -25.43, -23.7, 2, 0)
+	MovementLoopAddLocation(NPC, 832.3, -25.43, -11.42, 2, 0)
+	MovementLoopAddLocation(NPC, 848.36, -25.47, 14.77, 2, 0)
+	MovementLoopAddLocation(NPC, 861.98, -25.43, 24.43, 2, 0)
+	MovementLoopAddLocation(NPC, 860.98, -25.43, 37.91, 2, 0)
+	MovementLoopAddLocation(NPC, 856.03, -25.25, 38.54, 2, 0)
+	MovementLoopAddLocation(NPC, 835.95, -23.31, 41.23, 2, 0)
+	MovementLoopAddLocation(NPC, 831.65, -23.33, 43.01, 2, 0)
+	MovementLoopAddLocation(NPC, 820.09, -23.33, 64.4, 2, 0)
+	MovementLoopAddLocation(NPC, 815.09, -23.27, 62.05, 2, 0)
+	MovementLoopAddLocation(NPC, 813.33, -23.27, 65.58, 2, 0)
+	MovementLoopAddLocation(NPC, 809.86, -23.24, 67.32, 2, 0)
+	MovementLoopAddLocation(NPC, 806.66, -23.27, 73.81, 2, 0)
+	MovementLoopAddLocation(NPC, 799.61, -20.27, 69.98, 2, 0)
+	MovementLoopAddLocation(NPC, 798.64, -20.27, 68.82, 2, 0)
+	MovementLoopAddLocation(NPC, 803.01, -17.27, 62.37, 2, 0)
+	MovementLoopAddLocation(NPC, 809.55, -17.27, 51.81, 2, 0)
+	MovementLoopAddLocation(NPC, 803.77, -17.27, 60.15, 2, 0)
+	MovementLoopAddLocation(NPC, 798.86, -20.27, 69.6, 2, 0)
+	MovementLoopAddLocation(NPC, 806.88, -23.27, 74, 2, 0)
+	MovementLoopAddLocation(NPC, 809.29, -23.24, 66.71, 2, 0)
+	MovementLoopAddLocation(NPC, 808.99, -23.27, 63.88, 2, 0)
+	MovementLoopAddLocation(NPC, 809.61, -23.27, 62.88, 2, 0)
+	MovementLoopAddLocation(NPC, 814.05, -23.27, 61.7, 2, 0)
+	MovementLoopAddLocation(NPC, 819.55, -23.34, 64.6, 2, 0)
+	MovementLoopAddLocation(NPC, 807.27, -23.33, 99.33, 2, 0)
+	MovementLoopAddLocation(NPC, 805.71, -23.32, 107.4, 2, 0)
+	MovementLoopAddLocation(NPC, 798.15, -23.26, 107.18, 2, 20)
+	MovementLoopAddLocation(NPC, 797.49, -23.26, 98.44, 2, 30)
 end
 
+
+
 

+ 14 - 0
Lua/SpawnScripts/QeynosHarbor/wyrmdon.lua

@@ -12,6 +12,20 @@ end
 
 function hailed(NPC, Spawn)
 	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,4)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 4141262779, 4227030045, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 1945337199, 2685949436, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2997871263, 2912813719, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift!  If the gnolls don't attack now, I may die of boredom.", "grumble", 4099618783, 4191002419, Spawn)
+	else
+	end
+
 end
 
 function respawn(NPC)

+ 66 - 0
Lua/SpawnScripts/QeynosNorth/campos.lua

@@ -0,0 +1,66 @@
+--[[
+	Script Name		:	campos.lua
+	Script Purpose	:	Waypoint Path for campos.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 09:43:22 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 309.84, -21.61, 23.07, 2, 0)
+	MovementLoopAddLocation(NPC, 321.33, -21.92, 35.4, 2, 0)
+	MovementLoopAddLocation(NPC, 347.79, -21.26, 61.5, 2, 0)
+	MovementLoopAddLocation(NPC, 354.26, -20.8, 88.65, 2, 0)
+	MovementLoopAddLocation(NPC, 376.97, -20.5, 119.03, 2, 0)
+	MovementLoopAddLocation(NPC, 371.99, -20.58, 125.21, 2, 0)
+	MovementLoopAddLocation(NPC, 368.34, -20.88, 129.15, 2, 0)
+	MovementLoopAddLocation(NPC, 364.46, -20.97, 130.68, 2, 0)
+	MovementLoopAddLocation(NPC, 360.94, -20.97, 130.21, 2, 0)
+	MovementLoopAddLocation(NPC, 345.35, -20.7, 125.9, 2, 0)
+	MovementLoopAddLocation(NPC, 343.86, -20.67, 124.21, 2, 0)
+	MovementLoopAddLocation(NPC, 343.15, -20.65, 122.13, 2, 0)
+	MovementLoopAddLocation(NPC, 342.78, -20.6, 119.7, 2, 0)
+	MovementLoopAddLocation(NPC, 342.77, -20.55, 116.88, 2, 0)
+	MovementLoopAddLocation(NPC, 343.9, -20.41, 109.84, 2, 0)
+	MovementLoopAddLocation(NPC, 347.82, -21.39, 73.93, 2, 0)
+	MovementLoopAddLocation(NPC, 344, -21.64, 64.16, 2, 0)
+	MovementLoopAddLocation(NPC, 337.2, -21.46, 52.68, 2, 0)
+	MovementLoopAddLocation(NPC, 309.62, -21.6, 23.26, 2, 0)
+	MovementLoopAddLocation(NPC, 295.75, -21.33, 4.62, 2, 0)
+	MovementLoopAddLocation(NPC, 267.93, -21.53, -16.49, 2, 0)
+	MovementLoopAddLocation(NPC, 221.3, -21.86, -19.01, 2, 0)
+	MovementLoopAddLocation(NPC, 267.93, -21.53, -16.49, 2, 0)
+	MovementLoopAddLocation(NPC, 295.75, -21.33, 4.62, 2, 0)
+	MovementLoopAddLocation(NPC, 309.62, -21.6, 23.26, 2, 0)
+	MovementLoopAddLocation(NPC, 337.2, -21.46, 52.68, 2, 0)
+	MovementLoopAddLocation(NPC, 344, -21.64, 64.16, 2, 0)
+	MovementLoopAddLocation(NPC, 347.82, -21.39, 73.93, 2, 0)
+	MovementLoopAddLocation(NPC, 343.9, -20.41, 109.84, 2, 0)
+	MovementLoopAddLocation(NPC, 342.77, -20.55, 116.88, 2, 0)
+	MovementLoopAddLocation(NPC, 342.78, -20.6, 119.7, 2, 0)
+	MovementLoopAddLocation(NPC, 343.15, -20.65, 122.13, 2, 0)
+	MovementLoopAddLocation(NPC, 343.86, -20.67, 124.21, 2, 0)
+	MovementLoopAddLocation(NPC, 345.35, -20.7, 125.9, 2, 0)
+	MovementLoopAddLocation(NPC, 360.94, -20.97, 130.21, 2, 0)
+	MovementLoopAddLocation(NPC, 364.46, -20.97, 130.68, 2, 0)
+	MovementLoopAddLocation(NPC, 368.34, -20.88, 129.15, 2, 0)
+	MovementLoopAddLocation(NPC, 371.99, -20.58, 125.21, 2, 0)
+	MovementLoopAddLocation(NPC, 376.97, -20.5, 119.03, 2, 0)
+	MovementLoopAddLocation(NPC, 354.26, -20.8, 88.65, 2, 0)
+	MovementLoopAddLocation(NPC, 347.79, -21.26, 61.5, 2, 0)
+	MovementLoopAddLocation(NPC, 321.33, -21.92, 35.4, 2, 0)
+	MovementLoopAddLocation(NPC, 309.84, -21.61, 23.07, 2, 0)
+end
+
+

+ 76 - 0
Lua/SpawnScripts/QeynosNorth/jaszmine.lua

@@ -0,0 +1,76 @@
+--[[
+	Script Name		:	jaszmine.lua
+	Script Purpose	:	Waypoint Path for jaszmine.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/12/2020 12:18:02 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 299.87, -13.79, 118.93, 2, 15)
+	MovementLoopAddLocation(NPC, 289.48, -12.89, 95.9, 2, 5)
+	MovementLoopAddLocation(NPC, 282.87, -13.12, 82.6, 2, 0)
+	MovementLoopAddLocation(NPC, 268.17, -15.63, 66.99, 2, 0)
+	MovementLoopAddLocation(NPC, 256.02, -18.56, 54.27, 2, 0)
+	MovementLoopAddLocation(NPC, 254.21, -19.58, 39.57, 2, 0)
+	MovementLoopAddLocation(NPC, 254.61, -21.25, -14.06, 2, 0)
+	MovementLoopAddLocation(NPC, 265.01, -21.41, -15.09, 2, 0)
+	MovementLoopAddLocation(NPC, 271.77, -21.24, -4.51, 2, 0)
+	MovementLoopAddLocation(NPC, 299.08, -21.24, 4.26, 2, 0)
+	MovementLoopAddLocation(NPC, 316.3, -20.97, -18.62, 2, 0)
+	MovementLoopAddLocation(NPC, 318.67, -21.18, -22.28, 2, 0)
+	MovementLoopAddLocation(NPC, 302.65, -21.29, -44.12, 2, 0)
+	MovementLoopAddLocation(NPC, 264.46, -20.98, -35.54, 2, 0)
+	MovementLoopAddLocation(NPC, 261.99, -20.94, -45.33, 2, 0)
+	MovementLoopAddLocation(NPC, 261.01, -20.98, -51.08, 2, 0)
+	MovementLoopAddLocation(NPC, 269.13, -18.6, -93.49, 2, 0)
+	MovementLoopAddLocation(NPC, 293.26, -18.94, -109.13, 2, 0)
+	MovementLoopAddLocation(NPC, 293.2, -18.98, -122.05, 2, 0)
+	MovementLoopAddLocation(NPC, 283.85, -18.75, -140.97, 2, 0)
+	MovementLoopAddLocation(NPC, 292.16, -19.86, -155.63, 2, 0)
+	MovementLoopAddLocation(NPC, 322.61, -22.43, -188.18, 2, 0)
+	MovementLoopAddLocation(NPC, 335.18, -18.33, -232.84, 2, 0)
+	MovementLoopAddLocation(NPC, 378.28, -17.58, -270.92, 2, 0)
+	MovementLoopAddLocation(NPC, 421.57, -19.89, -268.02, 2, 0)
+	MovementLoopAddLocation(NPC, 436.44, -20.72, -282.29, 2, 0)
+	MovementLoopAddLocation(NPC, 451.57, -20.23, -307.34, 2, 0)
+	MovementLoopAddLocation(NPC, 436.44, -20.72, -282.29, 2, 0)
+	MovementLoopAddLocation(NPC, 421.57, -19.89, -268.02, 2, 0)
+	MovementLoopAddLocation(NPC, 378.28, -17.58, -270.92, 2, 0)
+	MovementLoopAddLocation(NPC, 335.18, -18.33, -232.84, 2, 0)
+	MovementLoopAddLocation(NPC, 322.61, -22.43, -188.18, 2, 0)
+	MovementLoopAddLocation(NPC, 292.16, -19.86, -155.63, 2, 0)
+	MovementLoopAddLocation(NPC, 283.85, -18.75, -140.97, 2, 0)
+	MovementLoopAddLocation(NPC, 293.2, -18.98, -122.05, 2, 0)
+	MovementLoopAddLocation(NPC, 293.26, -18.94, -109.13, 2, 0)
+	MovementLoopAddLocation(NPC, 269.13, -18.6, -93.49, 2, 0)
+	MovementLoopAddLocation(NPC, 261.01, -20.98, -51.08, 2, 0)
+	MovementLoopAddLocation(NPC, 261.99, -20.94, -45.33, 2, 0)
+	MovementLoopAddLocation(NPC, 264.46, -20.98, -35.54, 2, 0)
+	MovementLoopAddLocation(NPC, 302.65, -21.29, -44.12, 2, 0)
+	MovementLoopAddLocation(NPC, 318.67, -21.18, -22.28, 2, 0)
+	MovementLoopAddLocation(NPC, 316.3, -20.97, -18.62, 2, 0)
+	MovementLoopAddLocation(NPC, 299.08, -21.24, 4.26, 2, 0)
+	MovementLoopAddLocation(NPC, 271.77, -21.24, -4.51, 2, 0)
+	MovementLoopAddLocation(NPC, 265.01, -21.41, -15.09, 2, 0)
+	MovementLoopAddLocation(NPC, 254.61, -21.25, -14.06, 2, 0)
+	MovementLoopAddLocation(NPC, 254.21, -19.58, 39.57, 2, 0)
+	MovementLoopAddLocation(NPC, 256.02, -18.56, 54.27, 2, 0)
+	MovementLoopAddLocation(NPC, 268.17, -15.63, 66.99, 2, 0)
+	MovementLoopAddLocation(NPC, 282.87, -13.12, 82.6, 2, 0)
+	MovementLoopAddLocation(NPC, 289.48, -12.89, 95.9, 2, 0)
+	MovementLoopAddLocation(NPC, 299.87, -13.79, 118.93, 2, 0)
+end
+
+

+ 142 - 0
Lua/SpawnScripts/QeynosNorth/jublx.lua

@@ -0,0 +1,142 @@
+--[[
+	Script Name		:	jublx.lua
+	Script Purpose	:	Waypoint Path for jublx.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/12/2020 11:38:44 AM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 286.4, -13.55, 105.7, 2, 0)
+	MovementLoopAddLocation(NPC, 292.16, -14.29, 123.27, 2, 0)
+	MovementLoopAddLocation(NPC, 298.35, -15.83, 140.65, 2, 0)
+	MovementLoopAddLocation(NPC, 303.77, -17.3, 151.95, 2, 0)
+	MovementLoopAddLocation(NPC, 310.71, -17.88, 160.56, 2, 0)
+	MovementLoopAddLocation(NPC, 318.74, -18.03, 166.1, 2, 0)
+	MovementLoopAddLocation(NPC, 327.06, -18.47, 168.7, 2, 0)
+	MovementLoopAddLocation(NPC, 335.15, -19.06, 168.68, 2, 0)
+	MovementLoopAddLocation(NPC, 344.47, -19.84, 166.36, 2, 0)
+	MovementLoopAddLocation(NPC, 356.92, -19.97, 160.68, 2, 0)
+	MovementLoopAddLocation(NPC, 361.68, -19.96, 157.7, 2, 0)
+	MovementLoopAddLocation(NPC, 370.84, -20.29, 151.37, 2, 0)
+	MovementLoopAddLocation(NPC, 374.83, -20.5, 146.9, 2, 0)
+	MovementLoopAddLocation(NPC, 381.24, -20.85, 136.07, 2, 0)
+	MovementLoopAddLocation(NPC, 384.81, -21.1, 130.03, 2, 0)
+	MovementLoopAddLocation(NPC, 386.24, -21.1, 124.56, 2, 0)
+	MovementLoopAddLocation(NPC, 383.62, -20.94, 121.29, 2, 0)
+	MovementLoopAddLocation(NPC, 365.92, -20.37, 95.75, 2, 0)
+	MovementLoopAddLocation(NPC, 342.66, -21.55, 60.83, 2, 0)
+	MovementLoopAddLocation(NPC, 305.82, -21.24, 3.75, 2, 0)
+	MovementLoopAddLocation(NPC, 274.6, -21.37, -7.53, 2, 0)
+	MovementLoopAddLocation(NPC, 272.57, -21.53, -13.41, 2, 0)
+	MovementLoopAddLocation(NPC, 272.11, -21.57, -18.25, 2, 0)
+	MovementLoopAddLocation(NPC, 272.12, -21.57, -22.75, 2, 0)
+	MovementLoopAddLocation(NPC, 273.68, -21.47, -25.86, 2, 0)
+	MovementLoopAddLocation(NPC, 275.73, -21.38, -28.81, 2, 0)
+	MovementLoopAddLocation(NPC, 279.67, -21.15, -33.24, 2, 0)
+	MovementLoopAddLocation(NPC, 281.99, -21.01, -35.34, 2, 0)
+	MovementLoopAddLocation(NPC, 284.75, -20.98, -37.23, 2, 0)
+	MovementLoopAddLocation(NPC, 296.84, -21.12, -44.18, 2, 0)
+	MovementLoopAddLocation(NPC, 315.43, -23.23, -107.29, 2, 0)
+	MovementLoopAddLocation(NPC, 347.55, -24.89, -168.44, 2, 0)
+	MovementLoopAddLocation(NPC, 378.16, -24.5, -192.47, 2, 0)
+	MovementLoopAddLocation(NPC, 397.03, -23.17, -209.58, 2, 0)
+	MovementLoopAddLocation(NPC, 434.22, -21.36, -247.73, 2, 0)
+	MovementLoopAddLocation(NPC, 435.46, -20.97, -256.52, 2, 0)
+	MovementLoopAddLocation(NPC, 434.29, -20.88, -277.02, 2, 0)
+	MovementLoopAddLocation(NPC, 444.42, -20.39, -296.18, 2, 0)
+	MovementLoopAddLocation(NPC, 444.93, -20.36, -302.47, 2, 0)
+	MovementLoopAddLocation(NPC, 444.95, -20.35, -315.78, 2, 0)
+	MovementLoopAddLocation(NPC, 445.37, -20.33, -320.52, 2, 0)
+	MovementLoopAddLocation(NPC, 446.22, -20.33, -323.73, 2, 0)
+	MovementLoopAddLocation(NPC, 448.24, -20.33, -325.99, 2, 0)
+	MovementLoopAddLocation(NPC, 451.24, -20.36, -327.45, 2, 0)
+	MovementLoopAddLocation(NPC, 454.51, -20.4, -327.75, 2, 0)
+	MovementLoopAddLocation(NPC, 457.58, -20.44, -326.85, 2, 0)
+	MovementLoopAddLocation(NPC, 461.3, -20.5, -325.18, 2, 0)
+	MovementLoopAddLocation(NPC, 464.08, -20.46, -323.34, 2, 0)
+	MovementLoopAddLocation(NPC, 466.47, -20.42, -320.82, 2, 0)
+	MovementLoopAddLocation(NPC, 467.45, -20.38, -317.44, 2, 0)
+	MovementLoopAddLocation(NPC, 467.4, -20.29, -313.42, 2, 0)
+	MovementLoopAddLocation(NPC, 465.8, -20.2, -309.92, 2, 0)
+	MovementLoopAddLocation(NPC, 463.81, -20.16, -307.38, 2, 0)
+	MovementLoopAddLocation(NPC, 461.27, -20.16, -305.51, 2, 0)
+	MovementLoopAddLocation(NPC, 458.2, -20.17, -304.25, 2, 0)
+	MovementLoopAddLocation(NPC, 455.03, -20.19, -303.64, 2, 0)
+	MovementLoopAddLocation(NPC, 451.84, -20.2, -304.95, 2, 0)
+	MovementLoopAddLocation(NPC, 448.89, -20.29, -307.51, 2, 0)
+	MovementLoopAddLocation(NPC, 446.92, -20.34, -310.4, 2, 0)
+	MovementLoopAddLocation(NPC, 445.64, -20.35, -315.4, 2, 0)
+	MovementLoopAddLocation(NPC, 446.92, -20.34, -310.4, 2, 0)
+	MovementLoopAddLocation(NPC, 448.89, -20.29, -307.51, 2, 0)
+	MovementLoopAddLocation(NPC, 451.84, -20.2, -304.95, 2, 0)
+	MovementLoopAddLocation(NPC, 455.03, -20.19, -303.64, 2, 0)
+	MovementLoopAddLocation(NPC, 458.2, -20.17, -304.25, 2, 0)
+	MovementLoopAddLocation(NPC, 461.27, -20.16, -305.51, 2, 0)
+	MovementLoopAddLocation(NPC, 463.81, -20.16, -307.38, 2, 0)
+	MovementLoopAddLocation(NPC, 465.8, -20.2, -309.92, 2, 0)
+	MovementLoopAddLocation(NPC, 467.4, -20.29, -313.42, 2, 0)
+	MovementLoopAddLocation(NPC, 467.45, -20.38, -317.44, 2, 0)
+	MovementLoopAddLocation(NPC, 466.47, -20.42, -320.82, 2, 0)
+	MovementLoopAddLocation(NPC, 464.08, -20.46, -323.34, 2, 0)
+	MovementLoopAddLocation(NPC, 461.3, -20.5, -325.18, 2, 0)
+	MovementLoopAddLocation(NPC, 457.58, -20.44, -326.85, 2, 0)
+	MovementLoopAddLocation(NPC, 454.51, -20.4, -327.75, 2, 0)
+	MovementLoopAddLocation(NPC, 451.24, -20.36, -327.45, 2, 0)
+	MovementLoopAddLocation(NPC, 448.24, -20.33, -325.99, 2, 0)
+	MovementLoopAddLocation(NPC, 446.22, -20.33, -323.73, 2, 0)
+	MovementLoopAddLocation(NPC, 445.37, -20.33, -320.52, 2, 0)
+	MovementLoopAddLocation(NPC, 444.95, -20.35, -315.78, 2, 0)
+	MovementLoopAddLocation(NPC, 444.93, -20.36, -302.47, 2, 0)
+	MovementLoopAddLocation(NPC, 444.42, -20.39, -296.18, 2, 0)
+	MovementLoopAddLocation(NPC, 434.29, -20.88, -277.02, 2, 0)
+	MovementLoopAddLocation(NPC, 435.46, -20.97, -256.52, 2, 0)
+	MovementLoopAddLocation(NPC, 434.22, -21.36, -247.73, 2, 0)
+	MovementLoopAddLocation(NPC, 397.03, -23.17, -209.58, 2, 0)
+	MovementLoopAddLocation(NPC, 378.16, -24.5, -192.47, 2, 0)
+	MovementLoopAddLocation(NPC, 347.55, -24.89, -168.44, 2, 0)
+	MovementLoopAddLocation(NPC, 315.43, -23.23, -107.29, 2, 0)
+	MovementLoopAddLocation(NPC, 296.84, -21.12, -44.18, 2, 0)
+	MovementLoopAddLocation(NPC, 284.75, -20.98, -37.23, 2, 0)
+	MovementLoopAddLocation(NPC, 281.99, -21.01, -35.34, 2, 0)
+	MovementLoopAddLocation(NPC, 279.67, -21.15, -33.24, 2, 0)
+	MovementLoopAddLocation(NPC, 275.73, -21.38, -28.81, 2, 0)
+	MovementLoopAddLocation(NPC, 273.68, -21.47, -25.86, 2, 0)
+	MovementLoopAddLocation(NPC, 272.12, -21.57, -22.75, 2, 0)
+	MovementLoopAddLocation(NPC, 272.11, -21.57, -18.25, 2, 0)
+	MovementLoopAddLocation(NPC, 272.57, -21.53, -13.41, 2, 0)
+	MovementLoopAddLocation(NPC, 274.6, -21.37, -7.53, 2, 0)
+	MovementLoopAddLocation(NPC, 305.82, -21.24, 3.75, 2, 0)
+	MovementLoopAddLocation(NPC, 342.66, -21.55, 60.83, 2, 0)
+	MovementLoopAddLocation(NPC, 365.92, -20.37, 95.75, 2, 0)
+	MovementLoopAddLocation(NPC, 383.62, -20.94, 121.29, 2, 0)
+	MovementLoopAddLocation(NPC, 386.24, -21.1, 124.56, 2, 0)
+	MovementLoopAddLocation(NPC, 384.81, -21.1, 130.03, 2, 0)
+	MovementLoopAddLocation(NPC, 381.24, -20.85, 136.07, 2, 0)
+	MovementLoopAddLocation(NPC, 374.83, -20.5, 146.9, 2, 0)
+	MovementLoopAddLocation(NPC, 370.84, -20.29, 151.37, 2, 0)
+	MovementLoopAddLocation(NPC, 361.68, -19.96, 157.7, 2, 0)
+	MovementLoopAddLocation(NPC, 356.92, -19.97, 160.68, 2, 0)
+	MovementLoopAddLocation(NPC, 344.47, -19.84, 166.36, 2, 0)
+	MovementLoopAddLocation(NPC, 335.15, -19.06, 168.68, 2, 0)
+	MovementLoopAddLocation(NPC, 327.06, -18.47, 168.7, 2, 0)
+	MovementLoopAddLocation(NPC, 318.74, -18.03, 166.1, 2, 0)
+	MovementLoopAddLocation(NPC, 310.71, -17.88, 160.56, 2, 0)
+	MovementLoopAddLocation(NPC, 303.77, -17.3, 151.95, 2, 0)
+	MovementLoopAddLocation(NPC, 298.35, -15.83, 140.65, 2, 0)
+	MovementLoopAddLocation(NPC, 292.16, -14.29, 123.27, 2, 0)
+	MovementLoopAddLocation(NPC, 286.4, -13.55, 105.7, 2, 0)
+end
+
+

+ 86 - 0
Lua/SpawnScripts/QeynosNorth/landro.lua

@@ -0,0 +1,86 @@
+--[[
+	Script Name		:	landro.lua
+	Script Purpose	:	Waypoint Path for landro.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/12/2020 12:05:55 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 463.48, -19.76, -346.26, 2, 0)
+	MovementLoopAddLocation(NPC, 447.3, -20.33, -321.65, 2, 0)
+	MovementLoopAddLocation(NPC, 432.43, -20.81, -271.1, 2, 0)
+	MovementLoopAddLocation(NPC, 446.16, -20.63, -254.5, 2, 0)
+	MovementLoopAddLocation(NPC, 441.37, -19.53, -204.77, 2, 0)
+	MovementLoopAddLocation(NPC, 438.23, -17.1, -177.77, 2, 0)
+	MovementLoopAddLocation(NPC, 425.36, -17.67, -155.68, 2, 0)
+	MovementLoopAddLocation(NPC, 404.25, -23.69, -121.33, 2, 0)
+	MovementLoopAddLocation(NPC, 394.91, -15.93, -91.15, 2, 0)
+	MovementLoopAddLocation(NPC, 394.05, -15.73, -59.67, 2, 0)
+	MovementLoopAddLocation(NPC, 388.43, -17.98, -22.83, 2, 0)
+	MovementLoopAddLocation(NPC, 323.06, -21.43, -16.85, 2, 0)
+	MovementLoopAddLocation(NPC, 300.13, -21.13, -48.51, 2, 0)
+	MovementLoopAddLocation(NPC, 273.89, -21.12, -33.85, 2, 0)
+	MovementLoopAddLocation(NPC, 276.56, -21.31, -2.55, 2, 0)
+	MovementLoopAddLocation(NPC, 299.65, -21.34, 7.74, 2, 0)
+	MovementLoopAddLocation(NPC, 312.69, -21.5, 24.28, 2, 0)
+	MovementLoopAddLocation(NPC, 340.38, -21.2, 48.51, 2, 0)
+	MovementLoopAddLocation(NPC, 357.57, -20.79, 87.39, 2, 0)
+	MovementLoopAddLocation(NPC, 388.1, -21.22, 128.1, 2, 0)
+	MovementLoopAddLocation(NPC, 374.22, -20.45, 147.95, 2, 0)
+	MovementLoopAddLocation(NPC, 349.74, -20.06, 165.65, 2, 0)
+	MovementLoopAddLocation(NPC, 340.66, -19.4, 169, 2, 0)
+	MovementLoopAddLocation(NPC, 330.05, -18.62, 170.45, 2, 0)
+	MovementLoopAddLocation(NPC, 322.42, -18.17, 169.6, 2, 0)
+	MovementLoopAddLocation(NPC, 317.43, -17.97, 167.7, 2, 0)
+	MovementLoopAddLocation(NPC, 310.82, -17.85, 163.01, 2, 0)
+	MovementLoopAddLocation(NPC, 304.93, -17.75, 156.6, 2, 0)
+	MovementLoopAddLocation(NPC, 301.88, -17, 149.87, 2, 0)
+	MovementLoopAddLocation(NPC, 299.06, -15.83, 140.5, 2, 0)
+	MovementLoopAddLocation(NPC, 297.14, -14.91, 131.87, 2, 0)
+	MovementLoopAddLocation(NPC, 287.74, -13.48, 106.96, 2, 0)
+	MovementLoopAddLocation(NPC, 297.14, -14.91, 131.87, 2, 0)
+	MovementLoopAddLocation(NPC, 299.06, -15.83, 140.5, 2, 0)
+	MovementLoopAddLocation(NPC, 301.88, -17, 149.87, 2, 0)
+	MovementLoopAddLocation(NPC, 304.93, -17.75, 156.6, 2, 0)
+	MovementLoopAddLocation(NPC, 310.82, -17.85, 163.01, 2, 0)
+	MovementLoopAddLocation(NPC, 317.43, -17.97, 167.7, 2, 0)
+	MovementLoopAddLocation(NPC, 322.42, -18.17, 169.6, 2, 0)
+	MovementLoopAddLocation(NPC, 330.05, -18.62, 170.45, 2, 0)
+	MovementLoopAddLocation(NPC, 340.66, -19.4, 169, 2, 0)
+	MovementLoopAddLocation(NPC, 349.74, -20.06, 165.65, 2, 0)
+	MovementLoopAddLocation(NPC, 374.22, -20.45, 147.95, 2, 0)
+	MovementLoopAddLocation(NPC, 388.1, -21.22, 128.1, 2, 0)
+	MovementLoopAddLocation(NPC, 357.57, -20.79, 87.39, 2, 0)
+	MovementLoopAddLocation(NPC, 340.38, -21.2, 48.51, 2, 0)
+	MovementLoopAddLocation(NPC, 312.69, -21.5, 24.28, 2, 0)
+	MovementLoopAddLocation(NPC, 299.65, -21.34, 7.74, 2, 0)
+	MovementLoopAddLocation(NPC, 276.56, -21.31, -2.55, 2, 0)
+	MovementLoopAddLocation(NPC, 273.89, -21.12, -33.85, 2, 0)
+	MovementLoopAddLocation(NPC, 300.13, -21.13, -48.51, 2, 0)
+	MovementLoopAddLocation(NPC, 323.06, -21.43, -16.85, 2, 0)
+	MovementLoopAddLocation(NPC, 388.43, -17.98, -22.83, 2, 0)
+	MovementLoopAddLocation(NPC, 394.05, -15.73, -59.67, 2, 0)
+	MovementLoopAddLocation(NPC, 394.91, -15.93, -91.15, 2, 0)
+	MovementLoopAddLocation(NPC, 404.25, -23.69, -121.33, 2, 0)
+	MovementLoopAddLocation(NPC, 425.36, -17.67, -155.68, 2, 0)
+	MovementLoopAddLocation(NPC, 438.23, -17.1, -177.77, 2, 0)
+	MovementLoopAddLocation(NPC, 441.37, -19.53, -204.77, 2, 0)
+	MovementLoopAddLocation(NPC, 446.16, -20.63, -254.5, 2, 0)
+	MovementLoopAddLocation(NPC, 432.43, -20.81, -271.1, 2, 0)
+	MovementLoopAddLocation(NPC, 447.3, -20.33, -321.65, 2, 0)
+	MovementLoopAddLocation(NPC, 463.48, -19.76, -346.26, 2, 0)
+end
+
+

+ 62 - 0
Lua/SpawnScripts/QeynosNorth/lovato.lua

@@ -0,0 +1,62 @@
+--[[
+	Script Name		:	lovato.lua
+	Script Purpose	:	Waypoint Path for lovato.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 09:59:23 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 416.76, -19.18, -272.59, 2, 0)
+	MovementLoopAddLocation(NPC, 397.39, -17.69, -271.71, 2, 0)
+	MovementLoopAddLocation(NPC, 386.62, -17.48, -271.02, 2, 0)
+	MovementLoopAddLocation(NPC, 380.75, -17.59, -270.53, 2, 0)
+	MovementLoopAddLocation(NPC, 335.97, -18.48, -229.93, 2, 0)
+	MovementLoopAddLocation(NPC, 322.21, -22.43, -187.91, 2, 0)
+	MovementLoopAddLocation(NPC, 300.86, -22.74, -165.58, 2, 0)
+	MovementLoopAddLocation(NPC, 286.91, -18.84, -146.59, 2, 0)
+	MovementLoopAddLocation(NPC, 285.04, -18.75, -138.03, 2, 0)
+	MovementLoopAddLocation(NPC, 294.8, -19.05, -123.14, 2, 0)
+	MovementLoopAddLocation(NPC, 292.38, -18.93, -111.75, 2, 0)
+	MovementLoopAddLocation(NPC, 270.69, -18.62, -95.31, 2, 0)
+	MovementLoopAddLocation(NPC, 266.85, -18.71, -89.95, 2, 0)
+	MovementLoopAddLocation(NPC, 260.01, -20.43, -56.98, 2, 0)
+	MovementLoopAddLocation(NPC, 262.42, -21.01, -30.97, 2, 0)
+	MovementLoopAddLocation(NPC, 274.17, -21.18, -33.17, 2, 0)
+	MovementLoopAddLocation(NPC, 283.95, -20.98, -36.93, 2, 0)
+	MovementLoopAddLocation(NPC, 305.16, -21.39, -42.51, 2, 0)
+	MovementLoopAddLocation(NPC, 311.5, -21.4, -37.18, 2, 0)
+	MovementLoopAddLocation(NPC, 322.24, -21.45, -24.11, 2, 0)
+	MovementLoopAddLocation(NPC, 311.5, -21.4, -37.18, 2, 0)
+	MovementLoopAddLocation(NPC, 305.16, -21.39, -42.51, 2, 0)
+	MovementLoopAddLocation(NPC, 283.95, -20.98, -36.93, 2, 0)
+	MovementLoopAddLocation(NPC, 274.17, -21.18, -33.17, 2, 0)
+	MovementLoopAddLocation(NPC, 262.42, -21.01, -30.97, 2, 0)
+	MovementLoopAddLocation(NPC, 260.01, -20.43, -56.98, 2, 0)
+	MovementLoopAddLocation(NPC, 266.85, -18.71, -89.95, 2, 0)
+	MovementLoopAddLocation(NPC, 270.69, -18.62, -95.31, 2, 0)
+	MovementLoopAddLocation(NPC, 292.38, -18.93, -111.75, 2, 0)
+	MovementLoopAddLocation(NPC, 294.8, -19.05, -123.14, 2, 0)
+	MovementLoopAddLocation(NPC, 285.04, -18.75, -138.03, 2, 0)
+	MovementLoopAddLocation(NPC, 286.91, -18.84, -146.59, 2, 0)
+	MovementLoopAddLocation(NPC, 300.86, -22.74, -165.58, 2, 0)
+	MovementLoopAddLocation(NPC, 322.21, -22.43, -187.91, 2, 0)
+	MovementLoopAddLocation(NPC, 335.97, -18.48, -229.93, 2, 0)
+	MovementLoopAddLocation(NPC, 380.75, -17.59, -270.53, 2, 0)
+	MovementLoopAddLocation(NPC, 386.62, -17.48, -271.02, 2, 0)
+	MovementLoopAddLocation(NPC, 397.39, -17.69, -271.71, 2, 0)
+	MovementLoopAddLocation(NPC, 416.76, -19.18, -272.59, 2, 0)
+end
+
+

+ 88 - 0
Lua/SpawnScripts/QeynosNorth/mcduffie.lua

@@ -0,0 +1,88 @@
+--[[
+	Script Name		:	mcduffie.lua
+	Script Purpose	:	Waypoint Path for mcduffie.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 09:50:04 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 253.33, -20.62, -2.19, 2, 0)
+	MovementLoopAddLocation(NPC, 250.77, -19.51, 39.19, 2, 0)
+	MovementLoopAddLocation(NPC, 260.85, -17.76, 57.91, 2, 0)
+	MovementLoopAddLocation(NPC, 287.28, -12.76, 81.92, 2, 0)
+	MovementLoopAddLocation(NPC, 289.58, -13.18, 103.87, 2, 0)
+	MovementLoopAddLocation(NPC, 293.33, -14.07, 120.93, 2, 0)
+	MovementLoopAddLocation(NPC, 300.81, -16.32, 144.09, 2, 0)
+	MovementLoopAddLocation(NPC, 309.1, -17.86, 157.64, 2, 0)
+	MovementLoopAddLocation(NPC, 318.85, -18.07, 165.16, 2, 0)
+	MovementLoopAddLocation(NPC, 331.02, -18.8, 168.64, 2, 0)
+	MovementLoopAddLocation(NPC, 341.48, -19.59, 167.2, 2, 0)
+	MovementLoopAddLocation(NPC, 352.36, -20.04, 163.58, 2, 0)
+	MovementLoopAddLocation(NPC, 363.03, -19.99, 156.96, 2, 0)
+	MovementLoopAddLocation(NPC, 372.58, -20.51, 147.33, 2, 0)
+	MovementLoopAddLocation(NPC, 379.31, -20.72, 135.98, 2, 0)
+	MovementLoopAddLocation(NPC, 391.28, -19.75, 110.36, 2, 0)
+	MovementLoopAddLocation(NPC, 407.96, -14.17, 74.33, 2, 0)
+	MovementLoopAddLocation(NPC, 410.51, -13.91, 67.96, 2, 0)
+	MovementLoopAddLocation(NPC, 411.36, -13.81, 60.04, 2, 0)
+	MovementLoopAddLocation(NPC, 400.94, -14.26, 37.6, 2, 0)
+	MovementLoopAddLocation(NPC, 397.27, -15.01, 23.14, 2, 0)
+	MovementLoopAddLocation(NPC, 392.54, -17.07, -6.66, 2, 0)
+	MovementLoopAddLocation(NPC, 392.07, -17.5, -15.97, 2, 0)
+	MovementLoopAddLocation(NPC, 385.24, -18.51, -16.73, 2, 0)
+	MovementLoopAddLocation(NPC, 377.06, -19.49, -17.35, 2, 0)
+	MovementLoopAddLocation(NPC, 367.33, -20.53, -17.55, 2, 0)
+	MovementLoopAddLocation(NPC, 354.98, -21.49, -14.98, 2, 0)
+	MovementLoopAddLocation(NPC, 357.11, -20.73, -3.39, 2, 0)
+	MovementLoopAddLocation(NPC, 369.75, -20.82, 15.07, 2, 0)
+	MovementLoopAddLocation(NPC, 376.81, -20.78, 24.26, 2, 0)
+	MovementLoopAddLocation(NPC, 365.74, -20.84, 13.26, 2, 0)
+	MovementLoopAddLocation(NPC, 355.24, -20.93, 2.89, 2, 0)
+	MovementLoopAddLocation(NPC, 330.75, -21.5, -18.34, 2, 0)
+	MovementLoopAddLocation(NPC, 355.24, -20.93, 2.89, 2, 0)
+	MovementLoopAddLocation(NPC, 365.74, -20.84, 13.26, 2, 0)
+	MovementLoopAddLocation(NPC, 376.81, -20.78, 24.26, 2, 0)
+	MovementLoopAddLocation(NPC, 369.75, -20.82, 15.07, 2, 0)
+	MovementLoopAddLocation(NPC, 357.11, -20.73, -3.39, 2, 0)
+	MovementLoopAddLocation(NPC, 354.98, -21.49, -14.98, 2, 0)
+	MovementLoopAddLocation(NPC, 367.33, -20.53, -17.55, 2, 0)
+	MovementLoopAddLocation(NPC, 377.06, -19.49, -17.35, 2, 0)
+	MovementLoopAddLocation(NPC, 385.24, -18.51, -16.73, 2, 0)
+	MovementLoopAddLocation(NPC, 392.07, -17.5, -15.97, 2, 0)
+	MovementLoopAddLocation(NPC, 392.54, -17.07, -6.66, 2, 0)
+	MovementLoopAddLocation(NPC, 397.27, -15.01, 23.14, 2, 0)
+	MovementLoopAddLocation(NPC, 400.94, -14.26, 37.6, 2, 0)
+	MovementLoopAddLocation(NPC, 411.36, -13.81, 60.04, 2, 0)
+	MovementLoopAddLocation(NPC, 410.51, -13.91, 67.96, 2, 0)
+	MovementLoopAddLocation(NPC, 407.96, -14.17, 74.33, 2, 0)
+	MovementLoopAddLocation(NPC, 391.28, -19.75, 110.36, 2, 0)
+	MovementLoopAddLocation(NPC, 379.31, -20.72, 135.98, 2, 0)
+	MovementLoopAddLocation(NPC, 372.58, -20.51, 147.33, 2, 0)
+	MovementLoopAddLocation(NPC, 363.03, -19.99, 156.96, 2, 0)
+	MovementLoopAddLocation(NPC, 352.36, -20.04, 163.58, 2, 0)
+	MovementLoopAddLocation(NPC, 341.48, -19.59, 167.2, 2, 0)
+	MovementLoopAddLocation(NPC, 331.02, -18.8, 168.64, 2, 0)
+	MovementLoopAddLocation(NPC, 318.85, -18.07, 165.16, 2, 0)
+	MovementLoopAddLocation(NPC, 309.1, -17.86, 157.64, 2, 0)
+	MovementLoopAddLocation(NPC, 300.81, -16.32, 144.09, 2, 0)
+	MovementLoopAddLocation(NPC, 293.33, -14.07, 120.93, 2, 0)
+	MovementLoopAddLocation(NPC, 289.58, -13.18, 103.87, 2, 0)
+	MovementLoopAddLocation(NPC, 287.28, -12.76, 81.92, 2, 0)
+	MovementLoopAddLocation(NPC, 260.85, -17.76, 57.91, 2, 0)
+	MovementLoopAddLocation(NPC, 250.77, -19.51, 39.19, 2, 0)
+	MovementLoopAddLocation(NPC, 253.33, -20.62, -2.19, 2, 0)
+end
+
+

Some files were not shown because too many files changed in this diff