ソースを参照

Quest updates from LUA ->Server directory

Image 4 年 前
コミット
bf4bf5ec4d
100 ファイル変更4768 行追加1 行削除
  1. 28 0
      server/SpawnScripts/Qeynos/AestheticWinchester.lua
  2. 28 0
      server/SpawnScripts/Qeynos/AllyshaLanne.lua
  3. 31 0
      server/SpawnScripts/Qeynos/AmrenTalbot.lua
  4. 28 0
      server/SpawnScripts/Qeynos/AngiePatterson.lua
  5. 31 0
      server/SpawnScripts/Qeynos/AristideCalais.lua
  6. 28 0
      server/SpawnScripts/Qeynos/AshturLawton.lua
  7. 38 0
      server/SpawnScripts/Qeynos/AstryniaBurnwynd.lua
  8. 36 0
      server/SpawnScripts/Qeynos/AtiyahKaddor.lua
  9. 28 0
      server/SpawnScripts/Qeynos/AugurPrichardFizzburn.lua
  10. 36 0
      server/SpawnScripts/Qeynos/AzimaKaddor.lua
  11. 28 0
      server/SpawnScripts/Qeynos/Barr.lua
  12. 30 0
      server/SpawnScripts/Qeynos/BellengeretheThree.lua
  13. 28 0
      server/SpawnScripts/Qeynos/Casey.lua
  14. 40 0
      server/SpawnScripts/Qeynos/Celes.lua
  15. 28 0
      server/SpawnScripts/Qeynos/ChroniclerSteelwill.lua
  16. 38 0
      server/SpawnScripts/Qeynos/ClaryaBlake.lua
  17. 28 0
      server/SpawnScripts/Qeynos/CorrynMenai.lua
  18. 36 0
      server/SpawnScripts/Qeynos/DonovanHerald.lua
  19. 28 0
      server/SpawnScripts/Qeynos/DrappiOakheart.lua
  20. 28 0
      server/SpawnScripts/Qeynos/DuryoValstath.lua
  21. 31 0
      server/SpawnScripts/Qeynos/ElspethAstley.lua
  22. 36 0
      server/SpawnScripts/Qeynos/EoradalanuOtuden.lua
  23. 36 0
      server/SpawnScripts/Qeynos/Eraanus.lua
  24. 28 0
      server/SpawnScripts/Qeynos/ExaltedMilanthroo.lua
  25. 31 0
      server/SpawnScripts/Qeynos/FelionShadoweater.lua
  26. 28 0
      server/SpawnScripts/Qeynos/FredrickLosce.lua
  27. 36 0
      server/SpawnScripts/Qeynos/Gauldry.lua
  28. 28 0
      server/SpawnScripts/Qeynos/Gavinfell.lua
  29. 36 0
      server/SpawnScripts/Qeynos/GreldaneIrongut.lua
  30. 28 0
      server/SpawnScripts/Qeynos/Hegrenn.lua
  31. 37 0
      server/SpawnScripts/Qeynos/IndisSurion.lua
  32. 36 0
      server/SpawnScripts/Qeynos/JasonWalton.lua
  33. 36 0
      server/SpawnScripts/Qeynos/Jowling.lua
  34. 38 0
      server/SpawnScripts/Qeynos/KatlynPaisley.lua
  35. 40 0
      server/SpawnScripts/Qeynos/KaybenEatny.lua
  36. 28 0
      server/SpawnScripts/Qeynos/Khalilmun.lua
  37. 28 0
      server/SpawnScripts/Qeynos/Krelal.lua
  38. 37 0
      server/SpawnScripts/Qeynos/LeonaWard.lua
  39. 28 0
      server/SpawnScripts/Qeynos/LibrarianDalmas.lua
  40. 37 0
      server/SpawnScripts/Qeynos/LibrarianDungil.lua
  41. 38 0
      server/SpawnScripts/Qeynos/Maile.lua
  42. 28 0
      server/SpawnScripts/Qeynos/MelinnaeWelxen.lua
  43. 28 0
      server/SpawnScripts/Qeynos/Mott.lua
  44. 38 0
      server/SpawnScripts/Qeynos/Popelia.lua
  45. 50 0
      server/SpawnScripts/Qeynos/PupilAdeptWazzlefop.lua
  46. 93 0
      server/SpawnScripts/Qeynos/QueenAntoniaBayle.lua
  47. 31 0
      server/SpawnScripts/Qeynos/RuneShimmerstar.lua
  48. 30 0
      server/SpawnScripts/Qeynos/SelwynOakheart.lua
  49. 36 0
      server/SpawnScripts/Qeynos/Shinolio.lua
  50. 31 0
      server/SpawnScripts/Qeynos/SquireRionRolana.lua
  51. 38 0
      server/SpawnScripts/Qeynos/StableHandMarcellunIver.lua
  52. 36 0
      server/SpawnScripts/Qeynos/StableHandStonebear.lua
  53. 44 0
      server/SpawnScripts/Qeynos/SteveEchar.lua
  54. 43 0
      server/SpawnScripts/Qeynos/TabbyCopperpot.lua
  55. 31 0
      server/SpawnScripts/Qeynos/TelamoninioonOrinsidian.lua
  56. 28 0
      server/SpawnScripts/Qeynos/TibbyCopperpot.lua
  57. 37 0
      server/SpawnScripts/Qeynos/TillianaSteamsieve.lua
  58. 43 0
      server/SpawnScripts/Qeynos/TrevorMinturn.lua
  59. 43 0
      server/SpawnScripts/Qeynos/TristanGalliway.lua
  60. 38 0
      server/SpawnScripts/Qeynos/Urach.lua
  61. 31 0
      server/SpawnScripts/Qeynos/Vishra.lua
  62. 48 0
      server/SpawnScripts/Qeynos/WyniaVethe.lua
  63. 49 0
      server/SpawnScripts/Qeynos/cahptor.lua
  64. 53 0
      server/SpawnScripts/Qeynos/chapman.lua
  65. 70 0
      server/SpawnScripts/Qeynos/cloudsend.lua
  66. 86 0
      server/SpawnScripts/Qeynos/dillon.lua
  67. 41 0
      server/SpawnScripts/Qeynos/erwin.lua
  68. 221 0
      server/SpawnScripts/Qeynos/iceslayer.lua
  69. 39 0
      server/SpawnScripts/Qeynos/ilgar.lua
  70. 74 0
      server/SpawnScripts/Qeynos/kelin.lua
  71. 71 0
      server/SpawnScripts/Qeynos/kenika.lua
  72. 96 0
      server/SpawnScripts/Qeynos/klenthall.lua
  73. 64 0
      server/SpawnScripts/Qeynos/lanalie.lua
  74. 57 0
      server/SpawnScripts/Qeynos/lawler.lua
  75. 76 0
      server/SpawnScripts/Qeynos/loowoonla.lua
  76. 84 0
      server/SpawnScripts/Qeynos/marrising.lua
  77. 57 0
      server/SpawnScripts/Qeynos/merriou.lua
  78. 118 0
      server/SpawnScripts/Qeynos/morgessa.lua
  79. 60 0
      server/SpawnScripts/Qeynos/ocoggin.lua
  80. 54 0
      server/SpawnScripts/Qeynos/percivous.lua
  81. 76 0
      server/SpawnScripts/Qeynos/quillfingers.lua
  82. 56 0
      server/SpawnScripts/Qeynos/raleigh.lua
  83. 59 0
      server/SpawnScripts/Qeynos/stanhyl.lua
  84. 158 0
      server/SpawnScripts/Qeynos/taseela.lua
  85. 108 0
      server/SpawnScripts/Qeynos/telethar.lua
  86. 87 0
      server/SpawnScripts/Qeynos/tesilah.lua
  87. 46 0
      server/SpawnScripts/Qeynos/theodoric.lua
  88. 109 0
      server/SpawnScripts/Qeynos/treeskipper.lua
  89. 43 0
      server/SpawnScripts/Qeynos/ward.lua
  90. 61 0
      server/SpawnScripts/Qeynos/woodrow.lua
  91. 1 1
      server/SpawnScripts/QeynosHarbor/Aliindar.lua
  92. 39 0
      server/SpawnScripts/QeynosHarbor/Bilur.lua
  93. 85 0
      server/SpawnScripts/QeynosHarbor/Grittlebone.lua
  94. 45 0
      server/SpawnScripts/QeynosHarbor/Groban.lua
  95. 55 0
      server/SpawnScripts/QeynosHarbor/Hanstock.lua
  96. 45 0
      server/SpawnScripts/QeynosHarbor/Highgold.lua
  97. 39 0
      server/SpawnScripts/QeynosHarbor/Oakhall.lua
  98. 51 0
      server/SpawnScripts/QeynosHarbor/Pepper.lua
  99. 50 0
      server/SpawnScripts/QeynosHarbor/Pottsby.lua
  100. 35 0
      server/SpawnScripts/QeynosHarbor/Warland.lua

+ 28 - 0
server/SpawnScripts/Qeynos/AestheticWinchester.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AestheticWinchester.lua
+	Script Purpose	: Aesthetic Winchester <Concordium Mage>
+	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/aesthetic_winchester/qey_south/100_soc_human_concordium_officer_winchester_no_95fee05b.mp3", "Hail to you, fair citizen.  May your day be filled with discovery!", "", 2831469311, 1508414831, Spawn)
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/AllyshaLanne.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AllyshaLanne.lua
+	Script Purpose	: Allysha Lanne <Specialty 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)
+
+	PlayFlavor(NPC, "", "Gems and rocks, that is my specialty! I also bake a mean jumjum pie don't ya know!", "wave", 1689589577, 4560189, Spawn)
+end
+

+ 31 - 0
server/SpawnScripts/Qeynos/AmrenTalbot.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AmrenTalbot.lua
+	Script Purpose	: Amren Talbot 
+	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/amren_talbot/qey_south/amrentalbot000.mp3", "", "", 186833269, 2706325328, Spawn)
+		AddConversationOption(conversation, "I'm not one for thinking about illusions. ", "dlg_7_1")
+	StartConversation(conversation, NPC, Spawn, "Focus is the key to unlocking any illusion.  The mind's eye can do many wondrous things, once it focuses.")
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/AngiePatterson.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AngiePatterson.lua
+	Script Purpose	: Angie Patterson <Legends of Norrath Greeter>
+	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, "", "Come visit the Legends of Norrath Museum! We have all the latest things collected from around the world!", "bow", 1689589577, 4560189, Spawn)
+end
+

+ 31 - 0
server/SpawnScripts/Qeynos/AristideCalais.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AristideCalais.lua
+	Script Purpose	: Aristide Calais 
+	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/aristide_calais/qey_south/aristidecalais001.mp3", "", "", 3711938676, 52229520, Spawn)
+		AddConversationOption(conversation, "Oh, excuse me. ", "dlg_24_1")
+	StartConversation(conversation, NPC, Spawn, "Hello, adventurer.  Please mind the books and pages spread about.  I'm in the middle of researching methods of enchanting stones with magical properties and it wouldn't do to have foot prints and smudges on the documents.")
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/AshturLawton.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AshturLawton.lua
+	Script Purpose	: Ashtur Lawton <Feudal Historian>
+	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, "", "The dead open the eyes of the living.", "", 1689589577, 4560189, Spawn)
+end
+

+ 38 - 0
server/SpawnScripts/Qeynos/AstryniaBurnwynd.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AstryniaBurnwynd.lua
+	Script Purpose	: Astrynia Burnwynd <Wizard 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)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Do you have any advice for a fellow wizard?", "dlg_3_1")
+		AddConversationOption(conversation, "It is, isn't it?  Good day.")
+	StartConversation(conversation, NPC, Spawn, "Good day to you, fellow student of wizardry.  It's amazing to see how many of us have talents for the arcane.")
+	if convo==21 then
+		PlayFlavor(NPC, "felion_shadoweater/qey_south/trainer_wizard001.mp3", "", "", 4048173540, 1288632814, Spawn)
+		AddConversationOption(conversation, "Just looking around.", "dlg_21_1")
+		StartConversation(conversation, NPC, Spawn, "Greetings Ravelshian, what brings you to the Concordium?")
+	end
+
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/AtiyahKaddor.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AtiyahKaddor.lua
+	Script Purpose	: Atiyah Kaddor <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,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2042136217, 1857156366, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2043330959, 2245918388, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/AugurPrichardFizzburn.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AugurPrichardFizzburn.lua
+	Script Purpose	: Augur Prichard Fizzburn <Concordium Mage>
+	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, "", "I'm afraid I cannot speak now, friend.  Please feel free to avail yourself of our knowledge.  Right now, the city requires my concentration.", "", 1689589577, 4560189, Spawn)
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/AzimaKaddor.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/AzimaKaddor.lua
+	Script Purpose	: Azima Kaddor <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,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/service/merchant/erudite_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 212313057, 12730672, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/service/merchant/erudite_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", 2546361989, 1647933100, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/Barr.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Barr.lua
+	Script Purpose	: Barr <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_ee473c11.mp3", "Good day to you citizen, all preserve Queen Antonia.", "salute", 3457944783, 4136040635, Spawn)
+end
+

+ 30 - 0
server/SpawnScripts/Qeynos/BellengeretheThree.lua

@@ -0,0 +1,30 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/BellengeretheThree.lua
+	Script Purpose	: Bellengere the Three 
+	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/bellengere_the_three/qey_south/bellengere_thethree000.mp3", "", "", 1497048439, 2872945474, Spawn)
+	AddConversationOption(conversation, "That is definitely something to ponder.  Thank you for your insight.", "dlg_11_1")
+	StartConversation(conversation, NPC, Spawn, "If knowledge is power, and power corrupts, then it is only logical to presume that knowledge corrupts.  Rubbish, I say.  The fundamental flaw in this theory is that power corrupts, whereas it should be stated that it CAN corrupt.  This is the most important lesson to learn when using the arcane forces... as you use its power, it can as easily use you.  Take heed of this warning, friend.")
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/Casey.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Casey.lua
+	Script Purpose	: Casey 
+	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, "", "I plan to live out the rest of my life with my family here in Qeynos.", "", 1689589577, 4560189, Spawn)
+end
+

+ 40 - 0
server/SpawnScripts/Qeynos/Celes.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Celes.lua
+	Script Purpose	: Celes <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/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2023209747, 1019050798, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3279499948, 2931921467, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger?  It must be around here somewhere!", "confused", 1015791525, 798872771, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_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", 3725011666, 2990490195, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/ChroniclerSteelwill.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/ChroniclerSteelwill.lua
+	Script Purpose	: Chronicler Steelwill <Concordium Mage>
+	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/chronicler_steelwill/qey_south/100_soc_dwarf_concordium_steelwill_no_cdd2819c.mp3", "Welcome to the Three Towers.  Here we pass on our mystical knowledge to those who prove their magical prowess by serving the city of Qeynos.  ", "", 3294335366, 4186885926, Spawn)
+end
+

+ 38 - 0
server/SpawnScripts/Qeynos/ClaryaBlake.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/ClaryaBlake.lua
+	Script Purpose	: Clarya Blake <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,3)
+
+	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_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1381598517, 719278997, Spawn)
+	elseif choice == 3 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)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/CorrynMenai.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/CorrynMenai.lua
+	Script Purpose	: Corryn Menai 
+	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/human_eco_good_1/ft/human/human_eco_good_1_aoi_gm_4d212798.mp3", "I'm confident that the merchants of our village will fill all equipment needs with the utmost hospitality.", "smile", 2600666744, 586734676, Spawn)
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/DonovanHerald.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/DonovanHerald.lua
+	Script Purpose	: Donovan Herald <Pet 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,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/petretailer/human_petretailer_service_good_1_hail_gm_2485b1ad.mp3", "Down, boy! Down, boy!", "no", 2681431264, 151889846, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/petretailer/human_petretailer_service_good_1_hail_gm_4560dd95.mp3", "Buy today and you'll receive a free litter box!", "thumbsup", 2933047019, 374610986, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/DrappiOakheart.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/DrappiOakheart.lua
+	Script Purpose	: Drappi Oakheart <Selwyn'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, "", "Hello there!  If you have any of that old armor from my sweetheart here, I'd be more than happy to offer you some newer stuff!", "", 1689589577, 4560189, Spawn)
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/DuryoValstath.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/DuryoValstath.lua
+	Script Purpose	: Duryo Valstath 
+	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, "", "Well met, citizen.", "bow", 1689589577, 4560189, Spawn)
+end
+

+ 31 - 0
server/SpawnScripts/Qeynos/ElspethAstley.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/ElspethAstley.lua
+	Script Purpose	: Elspeth Astley 
+	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/elspeth_astley/qey_south/elspethastley000.mp3", "", "", 280090355, 624466296, Spawn)
+		AddConversationOption(conversation, "Thanks for the information. ", "dlg_8_1")
+	StartConversation(conversation, NPC, Spawn, "The winds of time change many things.  One thing remains the same, the might of the sorcerer.")
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/EoradalanuOtuden.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/EoradalanuOtuden.lua
+	Script Purpose	: Eoradalanu Otuden 
+	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/erudite_eco_good_1/ft/erudite/erudite_eco_good_1_hail_gm_681bd632.mp3", "As with all conflict, the correct resolution is to not become involved.", "no", 1961295370, 3396676212, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/erudite/erudite_eco_good_1_hail_gm_f2332236.mp3", "It is easy to disperse hateful attitudes with an act of kindness.", "thanks", 2716159461, 2493983068, Spawn)
+	else
+	end
+
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/Eraanus.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Eraanus.lua
+	Script Purpose	: Eraanus <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, "", "I hate the night shift!  If the gnolls don't attack now I may die of boredom.", "grumble", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Good day to you citizen, all preserve Queen Antonia.", "salute", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/ExaltedMilanthroo.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/ExaltedMilanthroo.lua
+	Script Purpose	: Exalted Milanthroo <Concordium Mage>
+	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/exalted_milanthroo/qey_south/100_soc_erudite_concordium_officer_milanthroo_no_411d5ecb.mp3", "I'm afraid I cannot speak now, friend.  Please feel free to avail yourself of our knowledge.  Right now, the city requires my concentration.", "", 4266519249, 1817694849, Spawn)
+end
+

+ 31 - 0
server/SpawnScripts/Qeynos/FelionShadoweater.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/FelionShadoweater.lua
+	Script Purpose	: Felion Shadoweater <Warlock 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)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "felion_shadoweater/qey_south/trainer_warlock001.mp3", "", "", 1176643963, 312303981, Spawn)
+		AddConversationOption(conversation, "Just looking around.", "dlg_12_1")
+	StartConversation(conversation, NPC, Spawn, "Greetings Ravelshian, what brings you to the Concordium?")
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/FredrickLosce.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/FredrickLosce.lua
+	Script Purpose	: Fredrick Losce 
+	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/fredrick_losce/qey_south/100_qst_fredrick_losce_multhail1_39997e53.mp3", "I'm sorry friend. I thought you were someone else.", "", 2011619923, 2423962881, Spawn)
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/Gauldry.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Gauldry.lua
+	Script Purpose	: Gauldry <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,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/optional2/halfling_eco_good_2/ft/service/merchant/halfling_merchant_service_good_2_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 841946130, 955678666, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/optional2/halfling_eco_good_2/ft/service/merchant/halfling_merchant_service_good_2_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 561391296, 3932646865, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/Gavinfell.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Gavinfell.lua
+	Script Purpose	: Gavinfell <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/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)
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/GreldaneIrongut.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/GreldaneIrongut.lua
+	Script Purpose	: Greldane Irongut 
+	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_drunk/ft/eco/good/dwarf_eco_good_drunk_barmaid_gf_605d472a.mp3", "I could use another ale for the road anytime now.", "tapfoot", 3896761363, 1121187529, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_drunk/ft/eco/good/dwarf_eco_good_drunk_barmaid_gf_a1d96f41.mp3", "My stein hasn't any legs to walk over and fill itself up.", "glare", 3669594198, 1736543032, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/Hegrenn.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Hegrenn.lua
+	Script Purpose	: Hegrenn <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)
+
+	PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/weaponsmith/dwarf_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", 1421312819, 2420395206, Spawn)
+end
+

+ 37 - 0
server/SpawnScripts/Qeynos/IndisSurion.lua

@@ -0,0 +1,37 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/IndisSurion.lua
+	Script Purpose	: Indis Surion <Sage>
+	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, "Thanks for the information.  I just might do that.", "dlg_1_1")
+	StartConversation(conversation, NPC, Spawn, "Search for the relics of the past Age of Turmoil.  Their discovery will gain you great power and prestige!")
+	if convo==18 then
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Thanks for the information, I just might do that.", "dlg_18_1")
+		StartConversation(conversation, NPC, Spawn, "Search for the relics of the past Age of Turmoil.  Their discovery will gain you great power and prestige!")
+	end
+
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/JasonWalton.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/JasonWalton.lua
+	Script Purpose	: Jason Walton <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,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "", "Welcome to the South Qeynos branch of the Norrath Exchange!", "", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Greetings, what can I help you with today?", "", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/Jowling.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Jowling.lua
+	Script Purpose	: Jowling <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,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there!  Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 489810336, 3318568259, Spawn)
+	elseif choice == 2 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)
+	else
+	end
+
+end
+

+ 38 - 0
server/SpawnScripts/Qeynos/KatlynPaisley.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/KatlynPaisley.lua
+	Script Purpose	: Katlyn Paisley <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/alchemist/human_alchemist_service_good_1_hail_gf_ec533e4c.mp3", "Are you wounded?  I just made up a fresh batch of healing potions an hour ago.", "happy", 1500961965, 3983451170, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/alchemist/human_alchemist_service_good_1_hail_gf_59de96bd.mp3", "What happened to the highly explosive bottle that was on my desk?  Have you seen it?", "ponder", 169654516, 1865961096, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/alchemist/human_alchemist_service_good_1_hail_gf_a8ed74c7.mp3", "There are no refunds for caster error at this shop! Oh ... hello you're not here about a refund.", "no", 4217995721, 116037177, Spawn)
+	else
+	end
+
+end
+

+ 40 - 0
server/SpawnScripts/Qeynos/KaybenEatny.lua

@@ -0,0 +1,40 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/KaybenEatny.lua
+	Script Purpose	: Kayben Eatny <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, "voiceover/english/human_eco_evil_bartender/ft/eco/evil/human_eco_evil_bartender_hail_gm_35e6e167.mp3", "Just so ya know, I'm not in the business to hear your sad stories. Now what will it be?", "", 1595668242, 2514401652, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Nice weather we are having, no?", "", 1689589577, 4560189, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "Good day to you.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_evil_bartender/ft/eco/evil/human_eco_evil_bartender_hail_gm_201b6d6a.mp3", "What can I get for ya?", "", 2895097847, 2686872643, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/Khalilmun.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Khalilmun.lua
+	Script Purpose	: Khalil`mun <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)
+
+	PlayFlavor(NPC, "", "Confound it! Where did I put that ledger?  It must be around here somewhere!", "confused", 1689589577, 4560189, Spawn)
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/Krelal.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Krelal.lua
+	Script Purpose	: Krelal <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/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)
+end
+

+ 37 - 0
server/SpawnScripts/Qeynos/LeonaWard.lua

@@ -0,0 +1,37 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/LeonaWard.lua
+	Script Purpose	: Leona Ward <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)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Sorry, but I don't have time to shop right now.", "dlg_3_1")
+	StartConversation(conversation, NPC, Spawn, "Welcome, traveler. Welcome to my shop.  Please, take a look around!")
+	if convo==5 then
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Sorry, but I don't have time to shop right now.", "dlg_5_1")
+		StartConversation(conversation, NPC, Spawn, "Welcome, traveler. Welcome to my shop.  Please, take a look around!")
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/LibrarianDalmas.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/LibrarianDalmas.lua
+	Script Purpose	: Librarian Dalmas 
+	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/librarian_dalmas/qey_south/100_librarian_dalmas_callout1_1f4ad2b6.mp3", "Please be quiet when inside this place.", "", 1796148235, 1918712162, Spawn)
+end
+

+ 37 - 0
server/SpawnScripts/Qeynos/LibrarianDungil.lua

@@ -0,0 +1,37 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/LibrarianDungil.lua
+	Script Purpose	: Librarian Dungil 
+	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, "Nevermind.", "dlg_0_1")
+	StartConversation(conversation, NPC, Spawn, "Please be quick, I am very busy.")
+	if convo==13 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nevermind.", "dlg_13_1")
+		StartConversation(conversation, NPC, Spawn, "Please be quick, I am very busy.")
+	end
+
+end
+

+ 38 - 0
server/SpawnScripts/Qeynos/Maile.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Maile.lua
+	Script Purpose	: Maile <Broker>
+	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/broker_profallia/fprt_west/032_con_merchant_profallia_human_2_aoi_2ca03ff3.mp3", "Greetings, citizen. Is there something in particular you're looking for?", "bow", 404333104, 1493988687, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/broker_profallia/fprt_west/032_con_merchant_profallia_human_2_aoi_738a4908.mp3", "Please just let me know if there's something you'd like to buy.", "bye", 4289054749, 2138925586, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/broker_profallia/fprt_west/032_con_merchant_profallia_human_2_hail_4e4e214b.mp3", "Oh, hello! I'm sorry, was I helping you with something?", "confused", 2233786466, 627959368, Spawn)
+	else
+	end
+
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/MelinnaeWelxen.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/MelinnaeWelxen.lua
+	Script Purpose	: Melinnae Welxen 
+	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, "", "There is much lost knowledge hidden within the library here.  ", "converse", 1689589577, 4560189, Spawn)
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/Mott.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Mott.lua
+	Script Purpose	: Mott <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_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 1717559969, 1730005307, Spawn)
+end
+

+ 38 - 0
server/SpawnScripts/Qeynos/Popelia.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Popelia.lua
+	Script Purpose	: Popelia <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/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)
+	elseif choice == 2 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 == 3 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)
+	else
+	end
+
+end
+

+ 50 - 0
server/SpawnScripts/Qeynos/PupilAdeptWazzlefop.lua

@@ -0,0 +1,50 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/PupilAdeptWazzlefop.lua
+	Script Purpose	: Pupil Adept Wazzlefop <Concordium Mage>
+	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 would like the writ: Followers of the Fang", "dlg_5_1")
+		AddConversationOption(conversation, "I would like the writ: Darkpaw Encroachment")
+		AddConversationOption(conversation, "I will be going.")
+	StartConversation(conversation, NPC, Spawn, "...")
+	if convo==6 then
+		PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I would like the writ: Followers of the Fang", "dlg_6_1")
+		AddConversationOption(conversation, "I would like the writ: Darkpaw Encroachment")
+		AddConversationOption(conversation, "I will be going.")
+		StartConversation(conversation, NPC, Spawn, "...")
+	end
+
+end
+
+function dlg_6_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "voiceover/english/pupil_adept_wazzlefop/qey_south/100_soc_gnome_concordium_wazzlefop_greeting_fd45f78a.mp3", "", "", 4189930656, 304987589, Spawn)
+		AddConversationOption(conversation, "Okay.", "dlg_6_2")
+	StartConversation(conversation, NPC, Spawn, "Are you a seeker of the arcane?  Do you thirst for the knowledge of the mystical?  You've come to the right place.  Here at the Concordium, we serve the queen by using our mystical prowess to aid those in need.  Take this writ and help us in our search for truth.")
+end
+

+ 93 - 0
server/SpawnScripts/Qeynos/QueenAntoniaBayle.lua

@@ -0,0 +1,93 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/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 chance = math.random(1,200)
+	
+	if chance <= 25 then
+	QAspeach(NPC)
+	else
+	end
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function QAspeach(NPC,Spawn)
+	local choice = math.random(1,12)
+
+	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)
+	elseif choice == 2 then
+		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)
+	elseif choice == 3 then
+		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)
+	elseif choice == 4 then
+		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 == 5 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)
+	elseif choice == 6 then
+		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)
+	elseif choice == 7 then
+		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)
+	elseif choice == 8 then
+		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 == 9 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)
+	elseif choice == 10 then
+		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)
+	elseif choice == 11 then
+		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)
+	elseif choice == 12 then
+		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 hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,12)
+
+	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)
+	elseif choice == 2 then
+		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)
+	elseif choice == 3 then
+		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)
+	elseif choice == 4 then
+		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 == 5 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)
+	elseif choice == 6 then
+		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)
+	elseif choice == 7 then
+		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)
+	elseif choice == 8 then
+		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 == 9 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)
+	elseif choice == 10 then
+		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)
+	elseif choice == 11 then
+		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)
+	elseif choice == 12 then
+		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
+

+ 31 - 0
server/SpawnScripts/Qeynos/RuneShimmerstar.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/RuneShimmerstar.lua
+	Script Purpose	: Rune Shimmerstar 
+	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/rune_shimmerstar/qey_south/runeshimmerstar000.mp3", "", "", 3137838652, 2088519153, Spawn)
+		AddConversationOption(conversation, "I'm just admiring the architecture. ", "dlg_23_1")
+	StartConversation(conversation, NPC, Spawn, "What brings you to the Three Towers? Study of the arcane arts broadens your understanding of the world we live in. You would do well to remember this.")
+end
+

+ 30 - 0
server/SpawnScripts/Qeynos/SelwynOakheart.lua

@@ -0,0 +1,30 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/SelwynOakheart.lua
+	Script Purpose	: Selwyn Oakheart 
+	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/selwyn_oakheart/qey_south/quests/selwyn_oakheart/selwyn017.mp3", "", "", 3697608701, 2678534832, Spawn)
+	StartConversation(conversation, NPC, Spawn, "I'm sorry, dear. I don't think I'd be able to help you with anything right now. I'm very busy.")
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/Shinolio.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/.lua
+	Script Purpose	: Shinolio <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,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger?  It must be around here somewhere!", "confused", 4242410919, 3368229094, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_aoi_gm_c5e79ff5.mp3", "Hello there!  Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 3892898109, 888385496, Spawn)
+	else
+	end
+
+end
+

+ 31 - 0
server/SpawnScripts/Qeynos/SquireRionRolana.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/SquireRionRolana.lua
+	Script Purpose	: Squire Rion Rolana 
+	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/rion_rolana/qey_south/rionrolana000.mp3", "", "", 1315960700, 959375423, Spawn)
+		AddConversationOption(conversation, "I'll be on my way.", "dlg_1_1")
+	StartConversation(conversation, NPC, Spawn, "Move along citizen, I've a lot on my mind.")
+end
+

+ 38 - 0
server/SpawnScripts/Qeynos/StableHandMarcellunIver.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/StableHandMarcellunIver.lua
+	Script Purpose	: Stable Hand Marcellun Iver <Horse 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, "voiceover/english/barbarian_eco_good_1/ft/service/petretailer/barbarian_petretailer_service_good_1_hail_gm_4560dd95.mp3", "Buy today and you'll receive a free feed bag!", "thumbsup", 3510057978, 1211581239, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "", "Mounts fuuuur sale! Mounts fuuuur sale!", "wave", 1689589577, 4560189, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/petretailer/barbarian_petretailer_service_good_1_hail_gm_2485b1ad.mp3", "Down, boy! Down, boy!", "no", 522373492, 4294322349, Spawn)
+	else
+	end
+
+end
+

+ 36 - 0
server/SpawnScripts/Qeynos/StableHandStonebear.lua

@@ -0,0 +1,36 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/StableHandStonebear.lua
+	Script Purpose	: Stable Hand Stonebear 
+	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, "", "Welcome to the happiest place on Norrath!  I call it 'work'.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/petretailer/barbarian_petretailer_service_good_1_hail_gm_4560dd95.mp3", "Buy today and you'll receive a free feed bag!", "thumbsup", 3510057978, 1211581239, Spawn)
+	else
+	end
+
+end
+

+ 44 - 0
server/SpawnScripts/Qeynos/SteveEchar.lua

@@ -0,0 +1,44 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/SteveEchar.lua
+	Script Purpose	: Steve Echar <Mender>
+	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,6)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_1/ft/service/mender/human_mender_service_good_1_hail_gm_4bd3613e.mp3", "Hello, adventurer.  Looking to get some items repaired after a hard day of dragon slaying?", "wink", 380627654, 2633313989, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_1/ft/service/mender/human_mender_service_good_1_hail_gm_53bda798.mp3", "Hello there, my fine adventurer.  Just give me that armor right quick and I'll hammer it up good as new!", "smile", 3765628057, 1447476358, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "", "Hello there, friend.  Let me fix up that armor for you.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "", "Hello friend, are you in need of repair?  My prices are very moderate.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "", "Greetings, traveller!  If I can be of assistance please let me know.", "", 1689589577, 4560189, Spawn)
+	elseif choice == 6 then
+		PlayFlavor(NPC, "", "Good day, traveller!  I trust you haven't been getting into any trouble.", "", 1689589577, 4560189, Spawn)
+	else
+	end
+
+end
+

+ 43 - 0
server/SpawnScripts/Qeynos/TabbyCopperpot.lua

@@ -0,0 +1,43 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/TabbyCopperpot.lua
+	Script Purpose	: Tabby Copperpot <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_tabby_copperpot/qey_south/tabbycopperpot000.mp3", "", "", 3975328823, 1035271851, Spawn)
+		AddConversationOption(conversation, "I am just browsing. ", "dlg_3_1")
+	StartConversation(conversation, NPC, Spawn, "I have many baked goods that would be sure to tickle your taste buds and satisfy your tummy.")
+	if convo==4 then
+		PlayFlavor(NPC, "voiceover/english/merchant_tabby_copperpot/qey_south/tabbycopperpot000.mp3", "", "", 3975328823, 1035271851, Spawn)
+		AddConversationOption(conversation, "I am just browsing. ", "dlg_4_1")
+		StartConversation(conversation, NPC, Spawn, "I have many baked goods that would be sure to tickle your taste buds and satisfy your tummy.")
+	end
+
+	if convo==5 then
+		PlayFlavor(NPC, "voiceover/english/merchant_tabby_copperpot/qey_south/tabbycopperpot000.mp3", "", "", 3975328823, 1035271851, Spawn)
+		AddConversationOption(conversation, "I am just browsing. ", "dlg_5_1")
+		StartConversation(conversation, NPC, Spawn, "I have many baked goods that would be sure to tickle your taste buds and satisfy your tummy.")
+	end
+
+end
+

+ 31 - 0
server/SpawnScripts/Qeynos/TelamoninioonOrinsidian.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/TelamoninioonOrinsidian.lua
+	Script Purpose	: Telamoninioon Orinsidian <Illusionist 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)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "telamoninioon_orinsidian/qey_south/trainer_illusionist001.mp3", "", "", 2186208866, 2652065354, Spawn)
+		AddConversationOption(conversation, "Just looking around.", "dlg_14_1")
+	StartConversation(conversation, NPC, Spawn, "Good day Ravelshian, what brings you to the Concordium?")
+end
+

+ 28 - 0
server/SpawnScripts/Qeynos/TibbyCopperpot.lua

@@ -0,0 +1,28 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/TibbyCopperpot.lua
+	Script Purpose	: Tibby Copperpot <Baker>
+	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, "", "I sure do love to cook.  Yummy baked goods and cakes.  I make my sister do all the selling.  To tell you the truth I think she likes it.", "", 1689589577, 4560189, Spawn)
+end
+

+ 37 - 0
server/SpawnScripts/Qeynos/TillianaSteamsieve.lua

@@ -0,0 +1,37 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/TillianaSteamsieve.lua
+	Script Purpose	: Tilliana Steamsieve <Conjuror 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)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "tilliana_steamsieve/qey_south/trainer_conjuror001.mp3", "", "", 2213433936, 1054777117, Spawn)
+		AddConversationOption(conversation, "Just looking around.", "dlg_9_1")
+	StartConversation(conversation, NPC, Spawn, "Well, hello hello Ravelshian, welcome to the Concordium.  What can I do for you today?")
+	if convo==10 then
+		PlayFlavor(NPC, "tilliana_steamsieve/qey_south/trainer_conjuror001.mp3", "", "", 2213433936, 1054777117, Spawn)
+		AddConversationOption(conversation, "Just looking around.", "dlg_10_1")
+		StartConversation(conversation, NPC, Spawn, "Well, hello hello Ravelshian, welcome to the Concordium.  What can I do for you today?")
+	end
+
+end
+

+ 43 - 0
server/SpawnScripts/Qeynos/TrevorMinturn.lua

@@ -0,0 +1,43 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/TrevorMinturn.lua
+	Script Purpose	: Trevor Minturn <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_trevor_minturn/qey_south/trevorminturn000.mp3", "", "", 2006919025, 2800091409, Spawn)
+		AddConversationOption(conversation, "I don't need anything, thank you. ", "dlg_0_1")
+	StartConversation(conversation, NPC, Spawn, "May I interest you in some of my fine wares, friend?")
+	if convo==1 then
+		PlayFlavor(NPC, "voiceover/english/merchant_trevor_minturn/qey_south/trevorminturn000.mp3", "", "", 2006919025, 2800091409, Spawn)
+		AddConversationOption(conversation, "I don't need anything, thank you. ", "dlg_1_1")
+		StartConversation(conversation, NPC, Spawn, "May I interest you in some of my fine wares, friend?")
+	end
+
+	if convo==2 then
+		PlayFlavor(NPC, "voiceover/english/merchant_trevor_minturn/qey_south/trevorminturn000.mp3", "", "", 2006919025, 2800091409, Spawn)
+		AddConversationOption(conversation, "I don't need anything, thank you. ", "dlg_2_1")
+		StartConversation(conversation, NPC, Spawn, "May I interest you in some of my fine wares, friend?")
+	end
+
+end
+

+ 43 - 0
server/SpawnScripts/Qeynos/TristanGalliway.lua

@@ -0,0 +1,43 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/TristanGalliway.lua
+	Script Purpose	: Tristan Galliway 
+	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/tristan_galliway/qey_south/tristangalliway000.mp3", "", "", 1051413050, 368824776, Spawn)
+		AddConversationOption(conversation, "No, I just dropped in to relax a bit, if you don't mind. ", "dlg_0_1")
+	StartConversation(conversation, NPC, Spawn, "Do I know you?")
+	if convo==1 then
+		PlayFlavor(NPC, "voiceover/english/optional5/tristan_galliway/qey_south/tristangalliway000.mp3", "", "", 1051413050, 368824776, Spawn)
+		AddConversationOption(conversation, "No, I just dropped in to relax a bit, if you don't mind. ", "dlg_1_1")
+		StartConversation(conversation, NPC, Spawn, "Do I know you?")
+	end
+
+	if convo==6 then
+		PlayFlavor(NPC, "voiceover/english/optional5/tristan_galliway/qey_south/tristangalliway000.mp3", "", "", 1051413050, 368824776, Spawn)
+		AddConversationOption(conversation, "No, I just dropped in to relax a bit, if you don't mind. ", "dlg_6_1")
+		StartConversation(conversation, NPC, Spawn, "Do I know you?")
+	end
+
+end
+

+ 38 - 0
server/SpawnScripts/Qeynos/Urach.lua

@@ -0,0 +1,38 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Urach.lua
+	Script Purpose	: Urach <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_76da37c9.mp3", "I hate working this shift!  If the gnolls don't attack now, I may die of boredom.", "grumble", 174236481, 4250389478, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty.  Should you get into trouble, seek me out.", "attention", 2588751132, 3401521310, Spawn)
+	elseif choice == 3 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)
+	else
+	end
+
+end
+

+ 31 - 0
server/SpawnScripts/Qeynos/Vishra.lua

@@ -0,0 +1,31 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/Vishra.lua
+	Script Purpose	: Vishra 
+	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_1004.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "No, thanks.", "dlg_2_1")
+	StartConversation(conversation, NPC, Spawn, "May I help you?")
+end
+

+ 48 - 0
server/SpawnScripts/Qeynos/WyniaVethe.lua

@@ -0,0 +1,48 @@
+--[[
+	Script Name	: SpawnScripts/SouthQeynos/WyniaVethe.lua
+	Script Purpose	: Wynia Vethe <Achievement Counsel>
+	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_1011.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I understand. I'd like the card now, please.", "dlg_19_1")
+		AddConversationOption(conversation, "No thanks. I don't want the card.")
+	StartConversation(conversation, NPC, Spawn, "I've been authorized by the powers that be to grant you a lucky card. It's possessed with immense power, and will allow you to rethink some of your achievement choices, Ravelshian, specifically those related to your class. Think of it like an ace up your sleeve! But be careful, it only has five charges, so use it wisely.")
+	if convo==20 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1011.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I understand. I'd like the card now, please.", "dlg_20_1")
+		AddConversationOption(conversation, "No thanks. I don't want the card.")
+		StartConversation(conversation, NPC, Spawn, "I've been authorized by the powers that be to grant you a lucky card. It's possessed with immense power, and will allow you to rethink some of your achievement choices, Ravelshian, specifically those related to your class. Think of it like an ace up your sleeve! But be careful, it only has five charges, so use it wisely.")
+	end
+
+end
+
+function dlg_20_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Thanks Wynia Vethe.", "dlg_20_2")
+	StartConversation(conversation, NPC, Spawn, "Here you are. Be careful with it, and remember, the magic will run out!")
+end
+

+ 49 - 0
server/SpawnScripts/Qeynos/cahptor.lua

@@ -0,0 +1,49 @@
+--[[
+	Script Name		:	cahptor.lua
+	Script Purpose	:	Waypoint Path for cahptor.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 06:29:07 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 684.98, -20.52, 267.48, 2, 0)
+	MovementLoopAddLocation(NPC, 673.17, -19.49, 229.65, 2, 0)
+	MovementLoopAddLocation(NPC, 679.47, -19.74, 220.74, 2, 0)
+	MovementLoopAddLocation(NPC, 687.3, -19.52, 214.86, 2, 0)
+	MovementLoopAddLocation(NPC, 684.89, -19.4, 198.52, 2, 0)
+	MovementLoopAddLocation(NPC, 699.29, -19.53, 194.03, 2, 0)
+	MovementLoopAddLocation(NPC, 706.48, -19.53, 194.49, 2, 0)
+	MovementLoopAddLocation(NPC, 779.39, -21.01, 180.01, 2, 0)
+	MovementLoopAddLocation(NPC, 724.93, -19.8, 183.45, 2, 0)
+	MovementLoopAddLocation(NPC, 685.04, -20.36, 163.73, 2, 0)
+	MovementLoopAddLocation(NPC, 674.64, -21.1, 145.5, 2, 0)
+	MovementLoopAddLocation(NPC, 677.14, -21.03, 143.08, 2, 0)
+	MovementLoopAddLocation(NPC, 711.93, -20.36, 123.97, 2, 0)
+	MovementLoopAddLocation(NPC, 677.14, -21.03, 143.08, 2, 0)
+	MovementLoopAddLocation(NPC, 674.64, -21.1, 145.5, 2, 0)
+	MovementLoopAddLocation(NPC, 685.04, -20.36, 163.73, 2, 0)
+	MovementLoopAddLocation(NPC, 724.93, -19.8, 183.45, 2, 0)
+	MovementLoopAddLocation(NPC, 779.39, -21.01, 180.01, 2, 0)
+	MovementLoopAddLocation(NPC, 706.48, -19.53, 194.49, 2, 0)
+	MovementLoopAddLocation(NPC, 699.29, -19.53, 194.03, 2, 0)
+	MovementLoopAddLocation(NPC, 684.89, -19.4, 198.52, 2, 0)
+	MovementLoopAddLocation(NPC, 687.3, -19.52, 214.86, 2, 0)
+	MovementLoopAddLocation(NPC, 679.47, -19.74, 220.74, 2, 0)
+	MovementLoopAddLocation(NPC, 673.17, -19.49, 229.65, 2, 0)
+	MovementLoopAddLocation(NPC, 684.98, -20.52, 267.48, 2, 0)
+end
+
+

+ 53 - 0
server/SpawnScripts/Qeynos/chapman.lua

@@ -0,0 +1,53 @@
+--[[
+	Script Name		:	chapman.lua
+	Script Purpose	:	Waypoint Path for chapman.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/10/2020 12:23:48 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 413.02, -20.94, 157.49, 2, 0)
+	MovementLoopAddLocation(NPC, 431.34, -20.77, 177.7, 2, 0)
+	MovementLoopAddLocation(NPC, 452.04, -21.98, 240.54, 2, 0)
+	MovementLoopAddLocation(NPC, 436.42, -21.74, 269.85, 2, 0)
+	MovementLoopAddLocation(NPC, 447.66, -21.76, 259.01, 2, 0)
+	MovementLoopAddLocation(NPC, 457.88, -22.22, 236.4, 2, 0)
+	MovementLoopAddLocation(NPC, 505.74, -19.56, 242.9, 2, 0)
+	MovementLoopAddLocation(NPC, 578.81, -17.93, 242.68, 2, 0)
+	MovementLoopAddLocation(NPC, 663.88, -19.39, 224.79, 2, 0)
+	MovementLoopAddLocation(NPC, 686.32, -19.52, 217.22, 2, 0)
+	MovementLoopAddLocation(NPC, 679.24, -19.42, 184.53, 2, 0)
+	MovementLoopAddLocation(NPC, 601.85, -15.83, 204.98, 2, 0)
+	MovementLoopAddLocation(NPC, 547, -15.41, 209.65, 2, 0)
+	MovementLoopAddLocation(NPC, 497.18, -16.39, 203.07, 2, 0)
+	MovementLoopAddLocation(NPC, 413, -20.94, 157.01, 2, 0)
+	MovementLoopAddLocation(NPC, 497.18, -16.39, 203.07, 2, 0)
+	MovementLoopAddLocation(NPC, 547, -15.41, 209.65, 2, 0)
+	MovementLoopAddLocation(NPC, 601.85, -15.83, 204.98, 2, 0)
+	MovementLoopAddLocation(NPC, 679.24, -19.42, 184.53, 2, 0)
+	MovementLoopAddLocation(NPC, 686.32, -19.52, 217.22, 2, 0)
+	MovementLoopAddLocation(NPC, 663.88, -19.39, 224.79, 2, 0)
+	MovementLoopAddLocation(NPC, 578.81, -17.93, 242.68, 2, 0)
+	MovementLoopAddLocation(NPC, 505.74, -19.56, 242.9, 2, 0)
+	MovementLoopAddLocation(NPC, 457.88, -22.22, 236.4, 2, 0)
+	MovementLoopAddLocation(NPC, 447.66, -21.76, 259.01, 2, 0)
+	MovementLoopAddLocation(NPC, 436.42, -21.74, 269.85, 2, 0)
+	MovementLoopAddLocation(NPC, 452.04, -21.98, 240.54, 2, 0)
+	MovementLoopAddLocation(NPC, 431.34, -20.77, 177.7, 2, 0)
+	MovementLoopAddLocation(NPC, 413.02, -20.94, 157.49, 2, 0)
+end
+
+

+ 70 - 0
server/SpawnScripts/Qeynos/cloudsend.lua

@@ -0,0 +1,70 @@
+--[[
+	Script Name		:	cloudsend.lua
+	Script Purpose	:	Waypoint Path for cloudsend.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/10/2020 01:50:27 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	PlayFlavor(NPC, "voiceover/english/optional2/woodelf_eco_good_2/ft/woodelf/woodelf_eco_good_2_aoi_gf_e67f1023.mp3", "Such a beautiful day!  All I need now is a nice vintage of elven mulberry and my relaxation will be complete.", "stretch", 3245673411, 1934163553, Spawn)
+end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 443.86, -20.59, 201.35, 2, 0)
+	MovementLoopAddLocation(NPC, 435.86, -20.59, 185.28, 2, 0)
+	MovementLoopAddLocation(NPC, 438.19, -20.52, 181.9, 2, 0)
+	MovementLoopAddLocation(NPC, 442.92, -20.44, 179.54, 2, 0)
+	MovementLoopAddLocation(NPC, 448.83, -20.45, 180.16, 2, 0)
+	MovementLoopAddLocation(NPC, 454.23, -20.5, 182.7, 2, 0)
+	MovementLoopAddLocation(NPC, 472.21, -20.95, 192.99, 2, 0)
+	MovementLoopAddLocation(NPC, 498.83, -16.24, 202.5, 2, 0)
+	MovementLoopAddLocation(NPC, 540.19, -15.36, 210.64, 2, 0)
+	MovementLoopAddLocation(NPC, 606.34, -15.68, 202.24, 2, 0)
+	MovementLoopAddLocation(NPC, 646.45, -16.75, 190.83, 2, 0)
+	MovementLoopAddLocation(NPC, 681.56, -19.48, 185.52, 2, 0)
+	MovementLoopAddLocation(NPC, 691.11, -19.52, 195.05, 2, 0)
+	MovementLoopAddLocation(NPC, 703.6, -19.54, 190.78, 2, 0)
+	MovementLoopAddLocation(NPC, 701.32, -19.5, 176.4, 2, 0)
+	MovementLoopAddLocation(NPC, 669, -21.16, 146.49, 2, 0)
+	MovementLoopAddLocation(NPC, 702.39, -19.53, 174.71, 2, 0)
+	MovementLoopAddLocation(NPC, 705.45, -19.53, 193.19, 2, 0)
+	MovementLoopAddLocation(NPC, 689.3, -19.52, 199.08, 2, 0)
+	MovementLoopAddLocation(NPC, 683.33, -19.69, 219.28, 2, 0)
+	MovementLoopAddLocation(NPC, 661.81, -19.12, 227.48, 2, 0)
+	MovementLoopAddLocation(NPC, 615.7, -18.25, 237.47, 2, 0)
+	MovementLoopAddLocation(NPC, 611.5, -15.32, 207.96, 2, 0)
+	MovementLoopAddLocation(NPC, 615.7, -18.25, 237.47, 2, 0)
+	MovementLoopAddLocation(NPC, 661.81, -19.12, 227.48, 2, 0)
+	MovementLoopAddLocation(NPC, 683.33, -19.69, 219.28, 2, 0)
+	MovementLoopAddLocation(NPC, 689.3, -19.52, 199.08, 2, 0)
+	MovementLoopAddLocation(NPC, 705.45, -19.53, 193.19, 2, 0)
+	MovementLoopAddLocation(NPC, 702.39, -19.53, 174.71, 2, 0)
+	MovementLoopAddLocation(NPC, 669, -21.16, 146.49, 2, 0)
+	MovementLoopAddLocation(NPC, 701.32, -19.5, 176.4, 2, 0)
+	MovementLoopAddLocation(NPC, 703.6, -19.54, 190.78, 2, 0)
+	MovementLoopAddLocation(NPC, 691.11, -19.52, 195.05, 2, 0)
+	MovementLoopAddLocation(NPC, 681.56, -19.48, 185.52, 2, 0)
+	MovementLoopAddLocation(NPC, 646.45, -16.75, 190.83, 2, 0)
+	MovementLoopAddLocation(NPC, 606.34, -15.68, 202.24, 2, 0)
+	MovementLoopAddLocation(NPC, 540.19, -15.36, 210.64, 2, 0)
+	MovementLoopAddLocation(NPC, 498.83, -16.24, 202.5, 2, 0)
+	MovementLoopAddLocation(NPC, 472.21, -20.95, 192.99, 2, 0)
+	MovementLoopAddLocation(NPC, 454.23, -20.5, 182.7, 2, 0)
+	MovementLoopAddLocation(NPC, 448.83, -20.45, 180.16, 2, 0)
+	MovementLoopAddLocation(NPC, 442.92, -20.44, 179.54, 2, 0)
+	MovementLoopAddLocation(NPC, 438.19, -20.52, 181.9, 2, 0)
+	MovementLoopAddLocation(NPC, 435.86, -20.59, 185.28, 2, 0)
+	MovementLoopAddLocation(NPC, 443.86, -20.59, 201.35, 2, 0)
+end
+
+

+ 86 - 0
server/SpawnScripts/Qeynos/dillon.lua

@@ -0,0 +1,86 @@
+--[[
+	Script Name		:	dillon.lua
+	Script Purpose	:	Waypoint Path for dillon.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/10/2020 01:06:06 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_0_1")
+	StartConversation(conversation, NPC, Spawn, "Excuse me?")
+	if convo==3 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_3_1")
+		StartConversation(conversation, NPC, Spawn, "Excuse me?")
+	end
+
+	if convo==4 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_4_1")
+		StartConversation(conversation, NPC, Spawn, "Excuse me?")
+	end
+
+	if convo==25 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_25_1")
+		StartConversation(conversation, NPC, Spawn, "Excuse me?")
+	end
+
+	if convo==26 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Nothing.", "dlg_26_1")
+		StartConversation(conversation, NPC, Spawn, "Excuse me?")
+	end
+
+end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 600.22, -18.07, 236.06, 2, 0)
+	MovementLoopAddLocation(NPC, 592.73, -18.05, 237.94, 2, 0)
+	MovementLoopAddLocation(NPC, 583.55, -17.95, 239.05, 2, 0)
+	MovementLoopAddLocation(NPC, 568.26, -17.75, 240.55, 2, 0)
+	MovementLoopAddLocation(NPC, 565.64, -17.72, 241.07, 2, 0)
+	MovementLoopAddLocation(NPC, 560.76, -16.97, 228.14, 2, 0)
+	MovementLoopAddLocation(NPC, 560.28, -15.13, 213.69, 2, 0)
+	MovementLoopAddLocation(NPC, 612.83, -15.48, 205.11, 2, 0)
+	MovementLoopAddLocation(NPC, 679.4, -19.38, 187.64, 2, 0)
+	MovementLoopAddLocation(NPC, 680.54, -19.27, 192.39, 2, 0)
+	MovementLoopAddLocation(NPC, 649.22, -17.95, 202.36, 2, 0)
+	MovementLoopAddLocation(NPC, 611.57, -16.46, 211.89, 2, 0)
+	MovementLoopAddLocation(NPC, 614.27, -16.46, 228.35, 2, 0)
+	MovementLoopAddLocation(NPC, 622.97, -17.14, 227.34, 2, 0)
+	MovementLoopAddLocation(NPC, 632.27, -17.14, 225.55, 2, 0)
+	MovementLoopAddLocation(NPC, 665.54, -17.95, 215.73, 2, 0)
+	MovementLoopAddLocation(NPC, 680.64, -17.95, 211.14, 2, 0)
+	MovementLoopAddLocation(NPC, 665.54, -17.95, 215.73, 2, 0)
+	MovementLoopAddLocation(NPC, 632.27, -17.14, 225.55, 2, 0)
+	MovementLoopAddLocation(NPC, 622.97, -17.14, 227.34, 2, 0)
+	MovementLoopAddLocation(NPC, 614.27, -16.46, 228.35, 2, 0)
+	MovementLoopAddLocation(NPC, 611.57, -16.46, 211.89, 2, 0)
+	MovementLoopAddLocation(NPC, 649.22, -17.95, 202.36, 2, 0)
+	MovementLoopAddLocation(NPC, 680.54, -19.27, 192.39, 2, 0)
+	MovementLoopAddLocation(NPC, 679.4, -19.38, 187.64, 2, 0)
+	MovementLoopAddLocation(NPC, 612.83, -15.48, 205.11, 2, 0)
+	MovementLoopAddLocation(NPC, 560.28, -15.13, 213.69, 2, 0)
+	MovementLoopAddLocation(NPC, 560.76, -16.97, 228.14, 2, 0)
+	MovementLoopAddLocation(NPC, 565.64, -17.72, 241.07, 2, 0)
+	MovementLoopAddLocation(NPC, 568.26, -17.75, 240.55, 2, 0)
+	MovementLoopAddLocation(NPC, 583.55, -17.95, 239.05, 2, 0)
+	MovementLoopAddLocation(NPC, 592.73, -18.05, 237.94, 2, 0)
+	MovementLoopAddLocation(NPC, 600.22, -18.07, 236.06, 2, 0)
+end
+
+

+ 41 - 0
server/SpawnScripts/Qeynos/erwin.lua

@@ -0,0 +1,41 @@
+--[[
+	Script Name		:	erwin.lua
+	Script Purpose	:	Waypoint Path for erwin.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 02:39: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)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 698.34, -19.9, 131.15, 2, 0)
+	MovementLoopAddLocation(NPC, 677.48, -21.02, 142.28, 2, 0)
+	MovementLoopAddLocation(NPC, 680.55, -20.76, 155.63, 2, 0)
+	MovementLoopAddLocation(NPC, 704.73, -19.48, 175.59, 2, 0)
+	MovementLoopAddLocation(NPC, 703.89, -19.54, 189.78, 2, 0)
+	MovementLoopAddLocation(NPC, 692.1, -19.52, 195.98, 2, 0)
+	MovementLoopAddLocation(NPC, 679.77, -19.76, 221.54, 2, 0)
+	MovementLoopAddLocation(NPC, 671.72, -19.66, 223.75, 2, 0)
+	MovementLoopAddLocation(NPC, 686.27, -20.49, 267.75, 2, 30)
+	MovementLoopAddLocation(NPC, 671.72, -19.66, 223.75, 2, 0)
+	MovementLoopAddLocation(NPC, 679.77, -19.76, 221.54, 2, 0)
+	MovementLoopAddLocation(NPC, 692.1, -19.52, 195.98, 2, 0)
+	MovementLoopAddLocation(NPC, 703.89, -19.54, 189.78, 2, 0)
+	MovementLoopAddLocation(NPC, 704.73, -19.48, 175.59, 2, 0)
+	MovementLoopAddLocation(NPC, 680.55, -20.76, 155.63, 2, 0)
+	MovementLoopAddLocation(NPC, 677.48, -21.02, 142.28, 2, 0)
+	MovementLoopAddLocation(NPC, 698.34, -19.9, 131.15, 2, 30)
+end
+
+

+ 221 - 0
server/SpawnScripts/Qeynos/iceslayer.lua

@@ -0,0 +1,221 @@
+--[[
+	Script Name		:	iceslayer.lua
+	Script Purpose	:	Waypoint Path for iceslayer.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 07:24:41 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Why didn't he get any sleep last night?", "dlg_2_1")
+		AddConversationOption(conversation, "No problem.  I'll just leave him be.  ")
+	StartConversation(conversation, NPC, Spawn, "Pay no attention to Warley down there he just probably didn't sleep last night and is a little grumpy. Isn't that right Warley?")
+	if convo==7 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Why didn't he get any sleep last night?", "dlg_7_1")
+		AddConversationOption(conversation, "No bother... any chores I can help with?")
+		AddConversationOption(conversation, "No problem.  I'll just leave him be.  ")
+		StartConversation(conversation, NPC, Spawn, "Pay no attention to Warley down there he just probably didn't sleep last night and is a little grumpy. Isn't that right Warley?")
+	end
+
+	if convo==8 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Why didn't he get any sleep last night?", "dlg_8_1")
+		AddConversationOption(conversation, "No bother... any chores I can help with?")
+		AddConversationOption(conversation, "No problem.  I'll just leave him be.  ")
+		StartConversation(conversation, NPC, Spawn, "Pay no attention to Warley down there he just probably didn't sleep last night and is a little grumpy. Isn't that right Warley?")
+	end
+
+	if convo==9 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Why didn't he get any sleep last night?", "dlg_9_1")
+		AddConversationOption(conversation, "No bother... any chores I can help with?")
+		AddConversationOption(conversation, "No problem.  I'll just leave him be.  ")
+		StartConversation(conversation, NPC, Spawn, "Pay no attention to Warley down there he just probably didn't sleep last night and is a little grumpy. Isn't that right Warley?")
+	end
+
+	if convo==10 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Why didn't he get any sleep last night?", "dlg_10_1")
+		AddConversationOption(conversation, "No bother... any chores I can help with?")
+		AddConversationOption(conversation, "No problem.  I'll just leave him be.  ")
+		StartConversation(conversation, NPC, Spawn, "Pay no attention to Warley down there he just probably didn't sleep last night and is a little grumpy. Isn't that right Warley?")
+	end
+
+	if convo==11 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Why didn't he get any sleep last night?", "dlg_11_1")
+		AddConversationOption(conversation, "No bother... any chores I can help with?")
+		AddConversationOption(conversation, "No problem.  I'll just leave him be.  ")
+		StartConversation(conversation, NPC, Spawn, "Pay no attention to Warley down there he just probably didn't sleep last night and is a little grumpy. Isn't that right Warley?")
+	end
+
+	if convo==12 then
+		PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1001.mp3", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Why didn't he get any sleep last night?", "dlg_12_1")
+		AddConversationOption(conversation, "No bother... any chores I can help with?")
+		AddConversationOption(conversation, "No problem.  I'll just leave him be.  ")
+		StartConversation(conversation, NPC, Spawn, "Pay no attention to Warley down there he just probably didn't sleep last night and is a little grumpy. Isn't that right Warley?")
+	end
+
+end
+
+function dlg_2_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What is so scary about the Tomb of Varsoon?", "dlg_2_2")
+		AddConversationOption(conversation, "Sounds like a place I don't want to go to myself.  ")
+	StartConversation(conversation, NPC, Spawn, "Warley went to the Tomb of Varsoon to prove he wasn't afraid of walking around on those islands. Sure enough, he didn't get to the first bridge before turning tail and running back home. Poor thing ... all grumpy ... no sleep.")
+end
+
+function dlg_2_2(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "It sounds like a place I'd like to explore.", "dlg_2_3")
+		AddConversationOption(conversation, "I'll be sure to steer clear from it.  ")
+	StartConversation(conversation, NPC, Spawn, "The tomb once held an evil mage - Varsoon the Undying. He was involved in the War of the Plagues centuries ago.  The Cataclysm must have weakened the mage's spells on that place, because he didn't stick around.  The Concordium says that Varsoon is long gone, but you wouldn't catch me dead there!")
+end
+
+function dlg_2_3(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I'll be careful.  Thank you for the directions.", "dlg_2_4")
+	StartConversation(conversation, NPC, Spawn, "Heck, I'll tell you where it is! Turn left as you leave the city gates; go through Klicnik Fields. You'll see the islands the tomb rests on.  You go any further ... well, that's your decision, not mine.")
+end
+
+function dlg_8_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Ready, willing and able!")
+	StartConversation(conversation, NPC, Spawn, "Chores you ask? I planned on heading out to the caves to gather some spider venom sacs, but if you're willing and able, I'll let you handle this task. I'll need at least five of the sacs.")
+end
+
+function dlg_9_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What is so scary about the Tomb of Varsoon?", "dlg_9_2")
+		AddConversationOption(conversation, "Sounds like a place I don't want to go to myself.  ")
+	StartConversation(conversation, NPC, Spawn, "Warley went to the Tomb of Varsoon to prove he wasn't afraid of walking around on those islands. Sure enough, he didn't get to the first bridge before turning tail and running back home. Poor thing ... all grumpy ... no sleep.")
+end
+
+function dlg_10_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What is so scary about the Tomb of Varsoon?", "dlg_10_2")
+		AddConversationOption(conversation, "Sounds like a place I don't want to go to myself.  ")
+	StartConversation(conversation, NPC, Spawn, "Warley went to the Tomb of Varsoon to prove he wasn't afraid of walking around on those islands. Sure enough, he didn't get to the first bridge before turning tail and running back home. Poor thing ... all grumpy ... no sleep.")
+end
+
+function dlg_10_2(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "It sounds like a place I'd like to explore.", "dlg_10_3")
+		AddConversationOption(conversation, "I'll be sure to steer clear from it.  ")
+	StartConversation(conversation, NPC, Spawn, "The tomb once held an evil mage - Varsoon the Undying. He was involved in the War of the Plagues centuries ago.  The Cataclysm must have weakened the mage's spells on that place, because he didn't stick around.  The Concordium says that Varsoon is long gone, but you wouldn't catch me dead there!")
+end
+
+function dlg_11_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "What is so scary about the Tomb of Varsoon?", "dlg_11_2")
+		AddConversationOption(conversation, "Sounds like a place I don't want to go to myself.  ")
+	StartConversation(conversation, NPC, Spawn, "Warley went to the Tomb of Varsoon to prove he wasn't afraid of walking around on those islands. Sure enough, he didn't get to the first bridge before turning tail and running back home. Poor thing ... all grumpy ... no sleep.")
+end
+
+function dlg_11_2(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "It sounds like a place I'd like to explore.", "dlg_11_3")
+		AddConversationOption(conversation, "I'll be sure to steer clear from it.  ")
+	StartConversation(conversation, NPC, Spawn, "The tomb once held an evil mage - Varsoon the Undying. He was involved in the War of the Plagues centuries ago.  The Cataclysm must have weakened the mage's spells on that place, because he didn't stick around.  The Concordium says that Varsoon is long gone, but you wouldn't catch me dead there!")
+end
+
+function dlg_11_3(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "I'll be careful.  Thank you for the directions.", "dlg_11_4")
+	StartConversation(conversation, NPC, Spawn, "Heck, I'll tell you where it is! Turn left as you leave the city gates; go through Klicnik Fields. You'll see the islands the tomb rests on.  You go any further ... well, that's your decision, not mine.")
+end
+
+function dlg_12_1(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "Ready, willing and able!")
+	StartConversation(conversation, NPC, Spawn, "Chores you ask? I planned on heading out to the caves to gather some spider venom sacs, but if you're willing and able, I'll let you handle this task. I'll need at least five of the sacs.")
+end
+
+function dlg_12_2(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	conversation = CreateConversation()
+
+	PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
+		AddConversationOption(conversation, "All right.", "dlg_12_3")
+	StartConversation(conversation, NPC, Spawn, "Good! Bring them back here as soon as you have them.")
+end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 541.45, -3.5, 136.91, 2, 0)
+	MovementLoopAddLocation(NPC, 526.93, -3.5, 136.14, 2, 0)
+	MovementLoopAddLocation(NPC, 510.52, -3.48, 134.38, 2, 0)
+	MovementLoopAddLocation(NPC, 511.79, -3.48, 125.96, 2, 0)
+	MovementLoopAddLocation(NPC, 527.66, -3.5, 128.38, 2, 0)
+	MovementLoopAddLocation(NPC, 542.06, -3.5, 128.03, 2, 0)
+	MovementLoopAddLocation(NPC, 542.42, -5.55, 121.07, 2, 0)
+	MovementLoopAddLocation(NPC, 552.51, -5.55, 121.16, 2, 0)
+	MovementLoopAddLocation(NPC, 552.24, -3.5, 127.63, 2, 0)
+	MovementLoopAddLocation(NPC, 566.13, -3.5, 128.07, 2, 0)
+	MovementLoopAddLocation(NPC, 582.44, -3.48, 125.97, 2, 0)
+	MovementLoopAddLocation(NPC, 583.6, -3.48, 135.08, 2, 0)
+	MovementLoopAddLocation(NPC, 567.53, -3.5, 136.55, 2, 0)
+	MovementLoopAddLocation(NPC, 553.23, -3.5, 136.78, 2, 0)
+	MovementLoopAddLocation(NPC, 567.53, -3.5, 136.55, 2, 0)
+	MovementLoopAddLocation(NPC, 583.6, -3.48, 135.08, 2, 0)
+	MovementLoopAddLocation(NPC, 582.44, -3.48, 125.97, 2, 0)
+	MovementLoopAddLocation(NPC, 566.13, -3.5, 128.07, 2, 0)
+	MovementLoopAddLocation(NPC, 552.24, -3.5, 127.63, 2, 0)
+	MovementLoopAddLocation(NPC, 552.51, -5.55, 121.16, 2, 0)
+	MovementLoopAddLocation(NPC, 542.42, -5.55, 121.07, 2, 0)
+	MovementLoopAddLocation(NPC, 542.06, -3.5, 128.03, 2, 0)
+	MovementLoopAddLocation(NPC, 527.66, -3.5, 128.38, 2, 0)
+	MovementLoopAddLocation(NPC, 511.79, -3.48, 125.96, 2, 0)
+	MovementLoopAddLocation(NPC, 510.52, -3.48, 134.38, 2, 0)
+	MovementLoopAddLocation(NPC, 526.93, -3.5, 136.14, 2, 0)
+	MovementLoopAddLocation(NPC, 541.45, -3.5, 136.91, 2, 0)
+end
+
+

+ 39 - 0
server/SpawnScripts/Qeynos/ilgar.lua

@@ -0,0 +1,39 @@
+--[[
+	Script Name		:	ilgar.lua
+	Script Purpose	:	Waypoint Path for ilgar.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 02:45:39 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 469.14, -20.96, 194.86, 2, 0)
+	MovementLoopAddLocation(NPC, 406.76, -20.87, 145.25, 2, 0)
+	MovementLoopAddLocation(NPC, 421.86, -20.93, 168.96, 2, 0)
+	MovementLoopAddLocation(NPC, 436.36, -20.26, 209.37, 2, 0)
+	MovementLoopAddLocation(NPC, 452.7, -21.95, 242.39, 2, 0)
+	MovementLoopAddLocation(NPC, 441.84, -21.92, 263.49, 2, 0)
+	MovementLoopAddLocation(NPC, 455.55, -21.92, 244.74, 2, 0)
+	MovementLoopAddLocation(NPC, 469.7, -21.06, 196.34, 2, 0)
+	MovementLoopAddLocation(NPC, 455.55, -21.92, 244.74, 2, 0)
+	MovementLoopAddLocation(NPC, 441.84, -21.92, 263.49, 2, 0)
+	MovementLoopAddLocation(NPC, 452.7, -21.95, 242.39, 2, 0)
+	MovementLoopAddLocation(NPC, 436.36, -20.26, 209.37, 2, 0)
+	MovementLoopAddLocation(NPC, 421.86, -20.93, 168.96, 2, 0)
+	MovementLoopAddLocation(NPC, 406.76, -20.87, 145.25, 2, 0)
+	MovementLoopAddLocation(NPC, 469.14, -20.96, 194.86, 2, 0)
+end
+
+

+ 74 - 0
server/SpawnScripts/Qeynos/kelin.lua

@@ -0,0 +1,74 @@
+--[[
+	Script Name		:	kelin.lua
+	Script Purpose	:	Waypoint Path for kelin.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/10/2020 04:25:35 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_race_good/ft/eco/good/highelf_eco_race_good_hail_gf_910f06b6.mp3", "Tunare blesses those who remain faithful and trust in her return.", "", 2463890902, 2461742088, Spawn)
+end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 471.49, -11.52, 134.86, 2, 30)
+	MovementLoopAddLocation(NPC, 492.73, -11.49, 142.63, 2, 0)
+	MovementLoopAddLocation(NPC, 504.77, -11.33, 145.99, 2, 0)
+	MovementLoopAddLocation(NPC, 541.76, -10.51, 150.92, 2, 0)
+	MovementLoopAddLocation(NPC, 586.69, -10.45, 147.52, 2, 0)
+	MovementLoopAddLocation(NPC, 617.7, -12.23, 145.18, 2, 0)
+	MovementLoopAddLocation(NPC, 620.47, -16.55, 199.88, 2, 0)
+	MovementLoopAddLocation(NPC, 681.38, -19.48, 184.04, 2, 0)
+	MovementLoopAddLocation(NPC, 686.95, -19.55, 218.23, 2, 0)
+	MovementLoopAddLocation(NPC, 633.6, -19.01, 232.23, 2, 0)
+	MovementLoopAddLocation(NPC, 606.54, -18.21, 238.08, 2, 0)
+	MovementLoopAddLocation(NPC, 568.86, -17.84, 244.62, 2, 0)
+	MovementLoopAddLocation(NPC, 553.3, -17.73, 245.85, 2, 0)
+	MovementLoopAddLocation(NPC, 507.03, -19.41, 244.95, 2, 0)
+	MovementLoopAddLocation(NPC, 457.02, -22.22, 237.59, 2, 0)
+	MovementLoopAddLocation(NPC, 467.51, -21.44, 207.57, 2, 0)
+	MovementLoopAddLocation(NPC, 494.69, -11.72, 143.66, 2, 0)
+	MovementLoopAddLocation(NPC, 530.06, -10.49, 150.63, 2, 0)
+	MovementLoopAddLocation(NPC, 546.43, -10.22, 149.21, 2, 0)
+	MovementLoopAddLocation(NPC, 546.74, -9.62, 141.81, 2, 0)
+	MovementLoopAddLocation(NPC, 546.83, -9.56, 136.11, 2, 0)
+	MovementLoopAddLocation(NPC, 558.08, -9.56, 134.2, 2, 0)
+	MovementLoopAddLocation(NPC, 558.28, -9.56, 135.06, 2, 0)
+	MovementLoopAddLocation(NPC, 558.55, -9.56, 136.18, 2, 0)
+	MovementLoopAddLocation(NPC, 558.06, -9.56, 136.94, 2, 30)
+	MovementLoopAddLocation(NPC, 558.55, -9.56, 136.18, 2, 0)
+	MovementLoopAddLocation(NPC, 558.28, -9.56, 135.06, 2, 0)
+	MovementLoopAddLocation(NPC, 558.08, -9.56, 134.2, 2, 0)
+	MovementLoopAddLocation(NPC, 546.83, -9.56, 136.11, 2, 0)
+	MovementLoopAddLocation(NPC, 546.74, -9.62, 141.81, 2, 0)
+	MovementLoopAddLocation(NPC, 546.43, -10.22, 149.21, 2, 0)
+	MovementLoopAddLocation(NPC, 530.06, -10.49, 150.63, 2, 0)
+	MovementLoopAddLocation(NPC, 494.69, -11.72, 143.66, 2, 0)
+	MovementLoopAddLocation(NPC, 467.51, -21.44, 207.57, 2, 0)
+	MovementLoopAddLocation(NPC, 457.02, -22.22, 237.59, 2, 0)
+	MovementLoopAddLocation(NPC, 507.03, -19.41, 244.95, 2, 0)
+	MovementLoopAddLocation(NPC, 553.3, -17.73, 245.85, 2, 0)
+	MovementLoopAddLocation(NPC, 568.86, -17.84, 244.62, 2, 0)
+	MovementLoopAddLocation(NPC, 606.54, -18.21, 238.08, 2, 0)
+	MovementLoopAddLocation(NPC, 633.6, -19.01, 232.23, 2, 0)
+	MovementLoopAddLocation(NPC, 686.95, -19.55, 218.23, 2, 0)
+	MovementLoopAddLocation(NPC, 681.38, -19.48, 184.04, 2, 0)
+	MovementLoopAddLocation(NPC, 620.47, -16.55, 199.88, 2, 0)
+	MovementLoopAddLocation(NPC, 617.7, -12.23, 145.18, 2, 0)
+	MovementLoopAddLocation(NPC, 586.69, -10.45, 147.52, 2, 0)
+	MovementLoopAddLocation(NPC, 541.76, -10.51, 150.92, 2, 0)
+	MovementLoopAddLocation(NPC, 504.77, -11.33, 145.99, 2, 0)
+	MovementLoopAddLocation(NPC, 492.73, -11.49, 142.63, 2, 0)
+	MovementLoopAddLocation(NPC, 471.49, -11.52, 134.86, 2, 0)
+end
+
+

+ 71 - 0
server/SpawnScripts/Qeynos/kenika.lua

@@ -0,0 +1,71 @@
+--[[
+	Script Name		:	kenika.lua
+	Script Purpose	:	Waypoint Path for kenika.lua
+	Script Author	:	Devn00b additions by Cynnar
+	Script Date		:	04/10/2020 02:29:10 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+
+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 waypoints(NPC)
+	MovementLoopAddLocation(NPC, 469.88, -11.53, 130.15, 2, 0)
+	MovementLoopAddLocation(NPC, 474.56, -11.53, 136.07, 2, 0)
+	MovementLoopAddLocation(NPC, 478.76, -11.53, 137.32, 2, 0)
+	MovementLoopAddLocation(NPC, 494.74, -11.65, 143.21, 2, 0)
+	MovementLoopAddLocation(NPC, 504.88, -11.31, 146.37, 2, 0)
+	MovementLoopAddLocation(NPC, 545.21, -10.58, 151.77, 2, 0)
+	MovementLoopAddLocation(NPC, 564.25, -10.58, 149.91, 2, 0)
+	MovementLoopAddLocation(NPC, 586.13, -10.43, 147.61, 2, 0)
+	MovementLoopAddLocation(NPC, 600.5, -12.07, 146.38, 2, 0)
+	MovementLoopAddLocation(NPC, 616.28, -12.22, 144.58, 2, 0)
+	MovementLoopAddLocation(NPC, 620.96, -12.8, 161.14, 2, 0)
+	MovementLoopAddLocation(NPC, 623.53, -16.64, 200.63, 2, 0)
+	MovementLoopAddLocation(NPC, 679.34, -19.39, 186.87, 2, 0)
+	MovementLoopAddLocation(NPC, 680.59, -19.27, 192.36, 2, 0)
+	MovementLoopAddLocation(NPC, 673, -17.95, 193.97, 2, 0)
+	MovementLoopAddLocation(NPC, 678.49, -17.95, 211.45, 2, 0)
+	MovementLoopAddLocation(NPC, 671.61, -17.95, 213.64, 2, 0)
+	MovementLoopAddLocation(NPC, 673.41, -19.58, 219.81, 2, 0)
+	MovementLoopAddLocation(NPC, 638.11, -19.11, 230.2, 2, 0)
+	MovementLoopAddLocation(NPC, 576.03, -17.87, 240.47, 2, 0)
+	MovementLoopAddLocation(NPC, 563.7, -17.72, 241.52, 2, 0)
+	MovementLoopAddLocation(NPC, 559.88, -17.59, 239.68, 2, 0)
+	MovementLoopAddLocation(NPC, 563.7, -17.72, 241.52, 2, 0)
+	MovementLoopAddLocation(NPC, 576.03, -17.87, 240.47, 2, 0)
+	MovementLoopAddLocation(NPC, 638.11, -19.11, 230.2, 2, 0)
+	MovementLoopAddLocation(NPC, 673.41, -19.58, 219.81, 2, 0)
+	MovementLoopAddLocation(NPC, 671.61, -17.95, 213.64, 2, 0)
+	MovementLoopAddLocation(NPC, 678.49, -17.95, 211.45, 2, 0)
+	MovementLoopAddLocation(NPC, 673, -17.95, 193.97, 2, 0)
+	MovementLoopAddLocation(NPC, 680.59, -19.27, 192.36, 2, 0)
+	MovementLoopAddLocation(NPC, 679.34, -19.39, 186.87, 2, 0)
+	MovementLoopAddLocation(NPC, 623.53, -16.64, 200.63, 2, 0)
+	MovementLoopAddLocation(NPC, 620.96, -12.8, 161.14, 2, 0)
+	MovementLoopAddLocation(NPC, 616.28, -12.22, 144.58, 2, 0)
+	MovementLoopAddLocation(NPC, 600.5, -12.07, 146.38, 2, 0)
+	MovementLoopAddLocation(NPC, 586.13, -10.43, 147.61, 2, 0)
+	MovementLoopAddLocation(NPC, 564.25, -10.58, 149.91, 2, 0)
+	MovementLoopAddLocation(NPC, 545.21, -10.58, 151.77, 2, 0)
+	MovementLoopAddLocation(NPC, 504.88, -11.31, 146.37, 2, 0)
+	MovementLoopAddLocation(NPC, 494.74, -11.65, 143.21, 2, 0)
+	MovementLoopAddLocation(NPC, 478.76, -11.53, 137.32, 2, 0)
+	MovementLoopAddLocation(NPC, 474.56, -11.53, 136.07, 2, 0)
+	MovementLoopAddLocation(NPC, 469.88, -11.53, 130.15, 2, 0)
+end
+
+

+ 96 - 0
server/SpawnScripts/Qeynos/klenthall.lua

@@ -0,0 +1,96 @@
+--[[
+	Script Name		:	klenthall.lua
+	Script Purpose	:	Waypoint Path for klenthall.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/10/2020 02:44:46 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	PlayFlavor(NPC, "", "I am not at all interested in fish, so please, do not mention them to me.", "", 1689589577, 4560189, Spawn)
+	end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 618.33, -12.24, 145.93, 2, 0)
+	MovementLoopAddLocation(NPC, 621.58, -16.61, 198.95, 2, 0)
+	MovementLoopAddLocation(NPC, 605.95, -15.67, 202.3, 2, 0)
+	MovementLoopAddLocation(NPC, 559.95, -15.43, 208.07, 2, 0)
+	MovementLoopAddLocation(NPC, 536.41, -15.43, 207.61, 2, 0)
+	MovementLoopAddLocation(NPC, 498.73, -16.33, 201.77, 2, 0)
+	MovementLoopAddLocation(NPC, 476.23, -20.97, 194.43, 2, 0)
+	MovementLoopAddLocation(NPC, 466.76, -20.82, 190.3, 2, 0)
+	MovementLoopAddLocation(NPC, 446.72, -20.46, 178.56, 2, 0)
+	MovementLoopAddLocation(NPC, 440.55, -20.49, 178.44, 2, 0)
+	MovementLoopAddLocation(NPC, 436.41, -20.57, 181.77, 2, 0)
+	MovementLoopAddLocation(NPC, 434.12, -20.66, 185.54, 2, 0)
+	MovementLoopAddLocation(NPC, 434.76, -20.67, 190.54, 2, 0)
+	MovementLoopAddLocation(NPC, 437.1, -20.55, 197.3, 2, 0)
+	MovementLoopAddLocation(NPC, 454.62, -22.02, 233.32, 2, 0)
+	MovementLoopAddLocation(NPC, 503.53, -19.63, 242.41, 2, 0)
+	MovementLoopAddLocation(NPC, 539.52, -18.05, 242.73, 2, 0)
+	MovementLoopAddLocation(NPC, 568.54, -17.88, 242.97, 2, 0)
+	MovementLoopAddLocation(NPC, 592.34, -18.04, 239.25, 2, 0)
+	MovementLoopAddLocation(NPC, 617.29, -18.47, 234.71, 2, 0)
+	MovementLoopAddLocation(NPC, 651.73, -19.14, 227.43, 2, 0)
+	MovementLoopAddLocation(NPC, 675.76, -19.71, 221.36, 2, 0)
+	MovementLoopAddLocation(NPC, 683.65, -19.61, 218.11, 2, 0)
+	MovementLoopAddLocation(NPC, 693.47, -19.52, 196.31, 2, 0)
+	MovementLoopAddLocation(NPC, 705.29, -19.53, 192.43, 2, 0)
+	MovementLoopAddLocation(NPC, 706.06, -19.53, 193.13, 2, 0)
+	MovementLoopAddLocation(NPC, 708.64, -19.53, 195.1, 2, 0)
+	MovementLoopAddLocation(NPC, 711.75, -19.52, 196.57, 2, 0)
+	MovementLoopAddLocation(NPC, 715.54, -19.52, 197.29, 2, 0)
+	MovementLoopAddLocation(NPC, 719.67, -19.52, 196.55, 2, 0)
+	MovementLoopAddLocation(NPC, 723.59, -19.6, 194.13, 2, 0)
+	MovementLoopAddLocation(NPC, 712.23, -19.41, 178.41, 2, 0)
+	MovementLoopAddLocation(NPC, 679.41, -20.65, 159.21, 2, 0)
+	MovementLoopAddLocation(NPC, 672.93, -21.19, 142.14, 2, 0)
+	MovementLoopAddLocation(NPC, 668.19, -21.31, 130.46, 2, 0)
+	MovementLoopAddLocation(NPC, 662.02, -20.96, 103.28, 2, 0)
+	MovementLoopAddLocation(NPC, 668.19, -21.31, 130.46, 2, 0)
+	MovementLoopAddLocation(NPC, 672.93, -21.19, 142.14, 2, 0)
+	MovementLoopAddLocation(NPC, 679.41, -20.65, 159.21, 2, 0)
+	MovementLoopAddLocation(NPC, 712.23, -19.41, 178.41, 2, 0)
+	MovementLoopAddLocation(NPC, 723.59, -19.6, 194.13, 2, 0)
+	MovementLoopAddLocation(NPC, 719.67, -19.52, 196.55, 2, 0)
+	MovementLoopAddLocation(NPC, 715.54, -19.52, 197.29, 2, 0)
+	MovementLoopAddLocation(NPC, 711.75, -19.52, 196.57, 2, 0)
+	MovementLoopAddLocation(NPC, 708.64, -19.53, 195.1, 2, 0)
+	MovementLoopAddLocation(NPC, 706.06, -19.53, 193.13, 2, 0)
+	MovementLoopAddLocation(NPC, 705.29, -19.53, 192.43, 2, 0)
+	MovementLoopAddLocation(NPC, 693.47, -19.52, 196.31, 2, 0)
+	MovementLoopAddLocation(NPC, 683.65, -19.61, 218.11, 2, 0)
+	MovementLoopAddLocation(NPC, 675.76, -19.71, 221.36, 2, 0)
+	MovementLoopAddLocation(NPC, 651.73, -19.14, 227.43, 2, 0)
+	MovementLoopAddLocation(NPC, 617.29, -18.47, 234.71, 2, 0)
+	MovementLoopAddLocation(NPC, 592.34, -18.04, 239.25, 2, 0)
+	MovementLoopAddLocation(NPC, 568.54, -17.88, 242.97, 2, 0)
+	MovementLoopAddLocation(NPC, 539.52, -18.05, 242.73, 2, 0)
+	MovementLoopAddLocation(NPC, 503.53, -19.63, 242.41, 2, 0)
+	MovementLoopAddLocation(NPC, 454.62, -22.02, 233.32, 2, 0)
+	MovementLoopAddLocation(NPC, 437.1, -20.55, 197.3, 2, 0)
+	MovementLoopAddLocation(NPC, 434.76, -20.67, 190.54, 2, 0)
+	MovementLoopAddLocation(NPC, 434.12, -20.66, 185.54, 2, 0)
+	MovementLoopAddLocation(NPC, 436.41, -20.57, 181.77, 2, 0)
+	MovementLoopAddLocation(NPC, 440.55, -20.49, 178.44, 2, 0)
+	MovementLoopAddLocation(NPC, 446.72, -20.46, 178.56, 2, 0)
+	MovementLoopAddLocation(NPC, 466.76, -20.82, 190.3, 2, 0)
+	MovementLoopAddLocation(NPC, 476.23, -20.97, 194.43, 2, 0)
+	MovementLoopAddLocation(NPC, 498.73, -16.33, 201.77, 2, 0)
+	MovementLoopAddLocation(NPC, 536.41, -15.43, 207.61, 2, 0)
+	MovementLoopAddLocation(NPC, 559.95, -15.43, 208.07, 2, 0)
+	MovementLoopAddLocation(NPC, 605.95, -15.67, 202.3, 2, 0)
+	MovementLoopAddLocation(NPC, 621.58, -16.61, 198.95, 2, 0)
+	MovementLoopAddLocation(NPC, 618.33, -12.24, 145.93, 2, 0)
+end
+
+

+ 64 - 0
server/SpawnScripts/Qeynos/lanalie.lua

@@ -0,0 +1,64 @@
+--[[
+	Script Name		:	raleigh.lua
+	Script Purpose	:	Waypoint Path for raleigh.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 06:51:30 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+	waypoints(NPC)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+		FaceTarget(NPC, Spawn)
+		PlayFlavor(NPC, "voiceover/english/optional2/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gf_fb093bc0.mp3", "Good day to you, citizen! All preserve Queen Antonia.", "salute", 3107888555, 4143955557, Spawn)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 518.13, -10.48, 148.06, 6.0, 1)
+	MovementLoopAddLocation(NPC, 546.76, -10.58, 151.7, 6, 0)
+	MovementLoopAddLocation(NPC, 619.74, -12.25, 144.07, 6, 0)
+	MovementLoopAddLocation(NPC, 621.1, -16.52, 201.22, 6, 0)
+	MovementLoopAddLocation(NPC, 557.98, -15.36, 210.45, 6, 0)
+	MovementLoopAddLocation(NPC, 558.15, -17.19, 232.88, 6, 0)
+	MovementLoopAddLocation(NPC, 552.57, -17.74, 244.2, 6, 0)
+	MovementLoopAddLocation(NPC, 503.12, -19.64, 242.37, 6, 0)
+	MovementLoopAddLocation(NPC, 459.61, -22.15, 233.9, 6, 0)
+	MovementLoopAddLocation(NPC, 457.36, -21.39, 226.69, 6, 0)
+	MovementLoopAddLocation(NPC, 471.92, -20.75, 189.58, 6, 0)
+	MovementLoopAddLocation(NPC, 485.11, -14.58, 159.08, 6, 0)
+	MovementLoopAddLocation(NPC, 494.06, -11.84, 144.74, 6, 0)
+	MovementLoopAddLocation(NPC, 514.53, -10.6, 147.01, 6, 0)
+	MovementLoopAddLocation(NPC, 546.4, -10.57, 151.35, 6, 0)
+	MovementLoopAddLocation(NPC, 546.6, -14.95, 189.7, 6, 0)
+	MovementLoopAddLocation(NPC, 546.4, -10.57, 151.35, 6, 0)
+	MovementLoopAddLocation(NPC, 514.53, -10.6, 147.01, 6, 0)
+	MovementLoopAddLocation(NPC, 494.06, -11.84, 144.74, 6, 0)
+	MovementLoopAddLocation(NPC, 485.11, -14.58, 159.08, 6, 0)
+	MovementLoopAddLocation(NPC, 471.92, -20.75, 189.58, 6, 0)
+	MovementLoopAddLocation(NPC, 457.36, -21.39, 226.69, 6, 0)
+	MovementLoopAddLocation(NPC, 459.61, -22.15, 233.9, 6, 0)
+	MovementLoopAddLocation(NPC, 503.12, -19.64, 242.37, 6, 0)
+	MovementLoopAddLocation(NPC, 552.57, -17.74, 244.2, 6, 0)
+	MovementLoopAddLocation(NPC, 558.15, -17.19, 232.88, 6, 0)
+	MovementLoopAddLocation(NPC, 557.98, -15.36, 210.45, 6, 0)
+	MovementLoopAddLocation(NPC, 621.1, -16.52, 201.22, 6, 0)
+	MovementLoopAddLocation(NPC, 619.74, -12.25, 144.07, 6, 0)
+	MovementLoopAddLocation(NPC, 546.76, -10.58, 151.7, 6, 0)
+	MovementLoopAddLocation(NPC, 518.13, -10.48, 148.06, 6, 0)
+end
+
+

+ 57 - 0
server/SpawnScripts/Qeynos/lawler.lua

@@ -0,0 +1,57 @@
+--[[
+	Script Name		:	lawler.lua
+	Script Purpose	:	Waypoint Path for lawler.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 03:26:50 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+		spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 382.78, -20.35, 209.21, 2, 30)
+	MovementLoopAddLocation(NPC, 416.29, -20.5, 224.76, 2, 0)
+	MovementLoopAddLocation(NPC, 422.42, -20.16, 228.13, 2, 0)
+	MovementLoopAddLocation(NPC, 433.73, -20.36, 235.98, 2, 0)
+	MovementLoopAddLocation(NPC, 499.78, -19.76, 243.88, 2, 0)
+	MovementLoopAddLocation(NPC, 553.41, -17.75, 245.22, 2, 0)
+	MovementLoopAddLocation(NPC, 555.48, -16.99, 229.04, 2, 0)
+	MovementLoopAddLocation(NPC, 556.3, -15.08, 217.76, 2, 0)
+	MovementLoopAddLocation(NPC, 556.2, -14.97, 216.25, 2, 0)
+	MovementLoopAddLocation(NPC, 556.17, -15.43, 207.6, 2, 0)
+	MovementLoopAddLocation(NPC, 498.03, -16.24, 203.57, 2, 0)
+	MovementLoopAddLocation(NPC, 476.51, -20.95, 195.22, 2, 0)
+	MovementLoopAddLocation(NPC, 442.44, -20.58, 173.74, 2, 0)
+	MovementLoopAddLocation(NPC, 429.93, -20.81, 184.5, 2, 0)
+	MovementLoopAddLocation(NPC, 420.87, -20.27, 192.41, 2, 0)
+	MovementLoopAddLocation(NPC, 390.1, -20.39, 189.13, 2, 0)
+	MovementLoopAddLocation(NPC, 380.86, -20.25, 207.69, 2, 0)
+	MovementLoopAddLocation(NPC, 390.1, -20.39, 189.13, 2, 0)
+	MovementLoopAddLocation(NPC, 420.87, -20.27, 192.41, 2, 0)
+	MovementLoopAddLocation(NPC, 429.93, -20.81, 184.5, 2, 0)
+	MovementLoopAddLocation(NPC, 442.44, -20.58, 173.74, 2, 0)
+	MovementLoopAddLocation(NPC, 476.51, -20.95, 195.22, 2, 0)
+	MovementLoopAddLocation(NPC, 498.03, -16.24, 203.57, 2, 0)
+	MovementLoopAddLocation(NPC, 556.17, -15.43, 207.6, 2, 0)
+	MovementLoopAddLocation(NPC, 556.2, -14.97, 216.25, 2, 0)
+	MovementLoopAddLocation(NPC, 556.3, -15.08, 217.76, 2, 0)
+	MovementLoopAddLocation(NPC, 555.48, -16.99, 229.04, 2, 0)
+	MovementLoopAddLocation(NPC, 553.41, -17.75, 245.22, 2, 0)
+	MovementLoopAddLocation(NPC, 499.78, -19.76, 243.88, 2, 0)
+	MovementLoopAddLocation(NPC, 433.73, -20.36, 235.98, 2, 0)
+	MovementLoopAddLocation(NPC, 422.42, -20.16, 228.13, 2, 0)
+	MovementLoopAddLocation(NPC, 416.29, -20.5, 224.76, 2, 0)
+	MovementLoopAddLocation(NPC, 382.78, -20.35, 209.21, 2, 0)
+end
+
+

+ 76 - 0
server/SpawnScripts/Qeynos/loowoonla.lua

@@ -0,0 +1,76 @@
+--[[
+	Script Name		:	loowoonla.lua
+	Script Purpose	:	Waypoint Path for loowoonla.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/10/2020 02:13: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)
+		spawn(NPC)
+		end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 673.87, -17.95, 193.59, 2, 0)
+	MovementLoopAddLocation(NPC, 680.77, -19.28, 191.96, 2, 0)
+	MovementLoopAddLocation(NPC, 679.3, -19.37, 187.84, 2, 0)
+	MovementLoopAddLocation(NPC, 610.55, -15.73, 204.39, 2, 0)
+	MovementLoopAddLocation(NPC, 610.83, -16.46, 210.65, 2, 0)
+	MovementLoopAddLocation(NPC, 673.56, -17.95, 193.43, 2, 0)
+	MovementLoopAddLocation(NPC, 673.73, -17.95, 193.1, 2, 0)
+	MovementLoopAddLocation(NPC, 643.87, -17.95, 202.22, 2, 0)
+	MovementLoopAddLocation(NPC, 627.89, -17.14, 206.89, 2, 0)
+	MovementLoopAddLocation(NPC, 611.38, -16.46, 211.17, 2, 0)
+	MovementLoopAddLocation(NPC, 610.28, -15.74, 204.39, 2, 0)
+	MovementLoopAddLocation(NPC, 548.65, -15.26, 212.37, 2, 0)
+	MovementLoopAddLocation(NPC, 549.57, -9.98, 164.3, 2, 0)
+	MovementLoopAddLocation(NPC, 547.37, -10.5, 153.68, 2, 0)
+	MovementLoopAddLocation(NPC, 509.28, -10.93, 147.02, 2, 0)
+	MovementLoopAddLocation(NPC, 490.05, -11.41, 143.3, 2, 0)
+	MovementLoopAddLocation(NPC, 434.73, -11.61, 114.07, 2, 0)
+	MovementLoopAddLocation(NPC, 490.05, -11.41, 143.3, 2, 0)
+	MovementLoopAddLocation(NPC, 509.28, -10.93, 147.02, 2, 0)
+	MovementLoopAddLocation(NPC, 547.37, -10.5, 153.68, 2, 0)
+	MovementLoopAddLocation(NPC, 549.57, -9.98, 164.3, 2, 0)
+	MovementLoopAddLocation(NPC, 548.65, -15.26, 212.37, 2, 0)
+	MovementLoopAddLocation(NPC, 610.28, -15.74, 204.39, 2, 0)
+	MovementLoopAddLocation(NPC, 611.38, -16.46, 211.17, 2, 0)
+	MovementLoopAddLocation(NPC, 627.89, -17.14, 206.89, 2, 0)
+	MovementLoopAddLocation(NPC, 643.87, -17.95, 202.22, 2, 0)
+	MovementLoopAddLocation(NPC, 673.73, -17.95, 193.1, 2, 0)
+	MovementLoopAddLocation(NPC, 673.56, -17.95, 193.43, 2, 0)
+	MovementLoopAddLocation(NPC, 610.83, -16.46, 210.65, 2, 0)
+	MovementLoopAddLocation(NPC, 610.55, -15.73, 204.39, 2, 0)
+	MovementLoopAddLocation(NPC, 679.3, -19.37, 187.84, 2, 0)
+	MovementLoopAddLocation(NPC, 680.77, -19.28, 191.96, 2, 0)
+	MovementLoopAddLocation(NPC, 673.87, -17.95, 193.59, 2, 0)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+
+	local choice = math.random(1,5)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/erudite/erudite_eco_good_1_aoi_gf_7fcbca60.mp3", "An era of darkness has finally come to a close. Now we must see what future Norrath has in store.", "confused", 2437621868, 2071976840, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/erudite/erudite_eco_good_1_hail_gf_5453f96d.mp3", "Paradise has always been here on Norrath for those who are thoughtful and responsible for their actions.", "thanks", 3529954798, 1064012556, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/erudite/erudite_eco_good_1_hail_gf_e0bc946.mp3", "I have felt the stirrings of a strong magical influence.  Good fortune will follow to those with the will to persevere!", "ponder", 4152344209, 239250643, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/erudite/erudite_eco_good_1_hail_gf_84882e21.mp3", "You must not be afraid to trust others.  Openness is the key to finding a correct solution.", "sigh", 1792907516, 2786700542, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/erudite/erudite_eco_good_1_hail_gf_7895591c.mp3", "If we focus on the higher truths that govern our actions, we fathom the underlying power within them.", "curtsey", 2416988832, 3319542974, Spawn)
+	else
+	end
+
+end
+

+ 84 - 0
server/SpawnScripts/Qeynos/marrising.lua

@@ -0,0 +1,84 @@
+--[[
+	Script Name		:	Marrising.lua
+	Script Purpose	:	Waypoint Path for Marrising.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/10/2020 04:46:03 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/froglok/froglok_eco_good_1_hail_gf_a64f6eec.mp3", "What hast thou done?  When thou greets a Daughter of Marr, a small bow is in order.", "", 2184035287, 59673464, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 707.61, -19.46, 175.9, 2, 0)
+	MovementLoopAddLocation(NPC, 713.7, -19.4, 179.73, 2, 0)
+	MovementLoopAddLocation(NPC, 716.28, -19.45, 181.76, 2, 0)
+	MovementLoopAddLocation(NPC, 718.4, -19.6, 184.27, 2, 0)
+	MovementLoopAddLocation(NPC, 719.49, -19.64, 187.17, 2, 0)
+	MovementLoopAddLocation(NPC, 719.53, -19.58, 190.1, 2, 0)
+	MovementLoopAddLocation(NPC, 718.14, -19.55, 192.61, 2, 0)
+	MovementLoopAddLocation(NPC, 715.25, -19.53, 194.33, 2, 0)
+	MovementLoopAddLocation(NPC, 711.92, -19.53, 194.53, 2, 0)
+	MovementLoopAddLocation(NPC, 708.96, -19.53, 193.61, 2, 0)
+	MovementLoopAddLocation(NPC, 704.91, -19.53, 192.29, 2, 0)
+	MovementLoopAddLocation(NPC, 692.42, -19.52, 195.54, 2, 0)
+	MovementLoopAddLocation(NPC, 688.64, -19.52, 218.45, 2, 0)
+	MovementLoopAddLocation(NPC, 632.1, -18.99, 231.92, 2, 0)
+	MovementLoopAddLocation(NPC, 563.86, -17.76, 244.65, 2, 0)
+	MovementLoopAddLocation(NPC, 561.11, -17.26, 233.98, 2, 0)
+	MovementLoopAddLocation(NPC, 556.66, -14.99, 216.32, 2, 0)
+	MovementLoopAddLocation(NPC, 550.9, -15.43, 208.24, 2, 0)
+	MovementLoopAddLocation(NPC, 547.13, -15.4, 204.2, 2, 0)
+	MovementLoopAddLocation(NPC, 547.26, -15.24, 199.45, 2, 0)
+	MovementLoopAddLocation(NPC, 547.46, -13.6, 182.35, 2, 0)
+	MovementLoopAddLocation(NPC, 547.24, -10.21, 163.68, 2, 0)
+	MovementLoopAddLocation(NPC, 547.24, -10.1, 148.65, 2, 0)
+	MovementLoopAddLocation(NPC, 541.54, -10.25, 149.2, 2, 0)
+	MovementLoopAddLocation(NPC, 532.31, -10.34, 149.51, 2, 0)
+	MovementLoopAddLocation(NPC, 523.91, -10.4, 148.71, 2, 0)
+	MovementLoopAddLocation(NPC, 516.15, -10.43, 146.28, 2, 0)
+	MovementLoopAddLocation(NPC, 502.44, -11.37, 141.98, 2, 0)
+	MovementLoopAddLocation(NPC, 484.36, -11.51, 136.33, 2, 0)
+	MovementLoopAddLocation(NPC, 469.76, -11.53, 131.51, 2, 0)
+	MovementLoopAddLocation(NPC, 484.36, -11.51, 136.33, 2, 0)
+	MovementLoopAddLocation(NPC, 502.44, -11.37, 141.98, 2, 0)
+	MovementLoopAddLocation(NPC, 516.15, -10.43, 146.28, 2, 0)
+	MovementLoopAddLocation(NPC, 523.91, -10.4, 148.71, 2, 0)
+	MovementLoopAddLocation(NPC, 532.31, -10.34, 149.51, 2, 0)
+	MovementLoopAddLocation(NPC, 541.54, -10.25, 149.2, 2, 0)
+	MovementLoopAddLocation(NPC, 547.24, -10.1, 148.65, 2, 0)
+	MovementLoopAddLocation(NPC, 547.24, -10.21, 163.68, 2, 0)
+	MovementLoopAddLocation(NPC, 547.46, -13.6, 182.35, 2, 0)
+	MovementLoopAddLocation(NPC, 547.26, -15.24, 199.45, 2, 0)
+	MovementLoopAddLocation(NPC, 547.13, -15.4, 204.2, 2, 0)
+	MovementLoopAddLocation(NPC, 550.9, -15.43, 208.24, 2, 0)
+	MovementLoopAddLocation(NPC, 556.66, -14.99, 216.32, 2, 0)
+	MovementLoopAddLocation(NPC, 561.11, -17.26, 233.98, 2, 0)
+	MovementLoopAddLocation(NPC, 563.86, -17.76, 244.65, 2, 0)
+	MovementLoopAddLocation(NPC, 632.1, -18.99, 231.92, 2, 0)
+	MovementLoopAddLocation(NPC, 688.64, -19.52, 218.45, 2, 0)
+	MovementLoopAddLocation(NPC, 692.42, -19.52, 195.54, 2, 0)
+	MovementLoopAddLocation(NPC, 704.91, -19.53, 192.29, 2, 0)
+	MovementLoopAddLocation(NPC, 708.96, -19.53, 193.61, 2, 0)
+	MovementLoopAddLocation(NPC, 711.92, -19.53, 194.53, 2, 0)
+	MovementLoopAddLocation(NPC, 715.25, -19.53, 194.33, 2, 0)
+	MovementLoopAddLocation(NPC, 718.14, -19.55, 192.61, 2, 0)
+	MovementLoopAddLocation(NPC, 719.53, -19.58, 190.1, 2, 0)
+	MovementLoopAddLocation(NPC, 719.49, -19.64, 187.17, 2, 0)
+	MovementLoopAddLocation(NPC, 718.4, -19.6, 184.27, 2, 0)
+	MovementLoopAddLocation(NPC, 716.28, -19.45, 181.76, 2, 0)
+	MovementLoopAddLocation(NPC, 713.7, -19.4, 179.73, 2, 0)
+	MovementLoopAddLocation(NPC, 707.61, -19.46, 175.9, 2, 0)
+end
+
+

+ 57 - 0
server/SpawnScripts/Qeynos/merriou.lua

@@ -0,0 +1,57 @@
+--[[
+	Script Name		:	merriou.lua
+	Script Purpose	:	Waypoint Path for merriou.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 06:01:50 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 678.69, -19.63, 101.23, 2, 0)
+	MovementLoopAddLocation(NPC, 668.32, -21.03, 102.1, 2, 0)
+	MovementLoopAddLocation(NPC, 671.73, -21.21, 136.74, 2, 0)
+	MovementLoopAddLocation(NPC, 683.14, -20.65, 157.84, 2, 0)
+	MovementLoopAddLocation(NPC, 718.83, -19.46, 181.31, 2, 0)
+	MovementLoopAddLocation(NPC, 725.44, -19.96, 187.48, 2, 0)
+	MovementLoopAddLocation(NPC, 774.53, -21.03, 177.54, 2, 0)
+	MovementLoopAddLocation(NPC, 716.6, -19.52, 195.64, 2, 0)
+	MovementLoopAddLocation(NPC, 707.24, -19.53, 194.07, 2, 0)
+	MovementLoopAddLocation(NPC, 692.01, -19.52, 198.72, 2, 0)
+	MovementLoopAddLocation(NPC, 691.55, -19.52, 199.22, 2, 0)
+	MovementLoopAddLocation(NPC, 679.65, -19.76, 221.96, 2, 0)
+	MovementLoopAddLocation(NPC, 621.24, -18.53, 235.62, 2, 0)
+	MovementLoopAddLocation(NPC, 569.7, -17.78, 245.98, 2, 0)
+	MovementLoopAddLocation(NPC, 468.6, -21.37, 241.47, 2, 0)
+	MovementLoopAddLocation(NPC, 462.58, -22.18, 236.94, 2, 0)
+	MovementLoopAddLocation(NPC, 450.92, -19.23, 195.43, 2, 0)
+	MovementLoopAddLocation(NPC, 462.58, -22.18, 236.94, 2, 0)
+	MovementLoopAddLocation(NPC, 468.6, -21.37, 241.47, 2, 0)
+	MovementLoopAddLocation(NPC, 569.7, -17.78, 245.98, 2, 0)
+	MovementLoopAddLocation(NPC, 621.24, -18.53, 235.62, 2, 0)
+	MovementLoopAddLocation(NPC, 679.65, -19.76, 221.96, 2, 0)
+	MovementLoopAddLocation(NPC, 691.55, -19.52, 199.22, 2, 0)
+	MovementLoopAddLocation(NPC, 692.01, -19.52, 198.72, 2, 0)
+	MovementLoopAddLocation(NPC, 707.24, -19.53, 194.07, 2, 0)
+	MovementLoopAddLocation(NPC, 716.6, -19.52, 195.64, 2, 0)
+	MovementLoopAddLocation(NPC, 774.53, -21.03, 177.54, 2, 0)
+	MovementLoopAddLocation(NPC, 725.44, -19.96, 187.48, 2, 0)
+	MovementLoopAddLocation(NPC, 718.83, -19.46, 181.31, 2, 0)
+	MovementLoopAddLocation(NPC, 683.14, -20.65, 157.84, 2, 0)
+	MovementLoopAddLocation(NPC, 671.73, -21.21, 136.74, 2, 0)
+	MovementLoopAddLocation(NPC, 668.32, -21.03, 102.1, 2, 0)
+	MovementLoopAddLocation(NPC, 678.69, -19.63, 101.23, 2, 0)
+end
+
+

+ 118 - 0
server/SpawnScripts/Qeynos/morgessa.lua

@@ -0,0 +1,118 @@
+--[[
+	Script Name		:	morgessa.lua
+	Script Purpose	:	Waypoint Path for morgessa.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 06:08:55 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+	local choice = math.random(1,5)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/halfelf/halfelf_eco_good_1_hail_gf_cbbaf023.mp3", "I've gotta get rid of these clothes; they're so one-hundred years ago.", "grumble", 3038038462, 3464193459, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/halfelf/halfelf_eco_good_1_hail_gf_5b0f480.mp3", "I'm tired of waiting!  I want to make something of myself!", "pout", 3723196832, 16921270, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/halfelf/halfelf_eco_good_1_hail_gf_4a0665a0.mp3", "I'm so depressed!  I had to work all day!", "sad", 3176397311, 2616932103, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/halfelf/halfelf_eco_good_1_hail_gf_1f61925a.mp3", "Are my roots showing?  I think I'll go for a light blueberry mixed with jum-jum highlights.", "ponder", 4153154191, 497875539, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/halfelf/halfelf_eco_good_1_hail_gf_5c8eceae.mp3", "My ancestors don't understand me.  They're from a completely different era.", "flustered", 2843616704, 1740340084, Spawn)
+	else
+	end
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 704.12, -19.53, 193.02, 2, 0)
+	MovementLoopAddLocation(NPC, 689.53, -19.52, 198.07, 2, 0)
+	MovementLoopAddLocation(NPC, 677.71, -19.31, 186, 2, 0)
+	MovementLoopAddLocation(NPC, 620.14, -16.54, 199.73, 2, 0)
+	MovementLoopAddLocation(NPC, 616.91, -12.11, 142.62, 2, 0)
+	MovementLoopAddLocation(NPC, 587.17, -10.44, 147.91, 2, 0)
+	MovementLoopAddLocation(NPC, 548.05, -10.55, 150.62, 2, 0)
+	MovementLoopAddLocation(NPC, 548.55, -9.56, 135.51, 2, 0)
+	MovementLoopAddLocation(NPC, 538.43, -9.56, 133.71, 2, 0)
+	MovementLoopAddLocation(NPC, 536.8, -9.56, 131.87, 2, 0)
+	MovementLoopAddLocation(NPC, 530.82, -9.56, 133.29, 2, 0)
+	MovementLoopAddLocation(NPC, 517.32, -9.57, 131.67, 2, 0)
+	MovementLoopAddLocation(NPC, 524.31, -9.56, 132.51, 2, 0)
+	MovementLoopAddLocation(NPC, 546.59, -9.56, 134.99, 2, 0)
+	MovementLoopAddLocation(NPC, 546.66, -10.56, 150.83, 2, 0)
+	MovementLoopAddLocation(NPC, 503.39, -11.43, 143.13, 2, 0)
+	MovementLoopAddLocation(NPC, 507.44, -10.22, 117.68, 2, 0)
+	MovementLoopAddLocation(NPC, 489.85, -11.47, 134.57, 2, 0)
+	MovementLoopAddLocation(NPC, 490.98, -12.08, 147.47, 2, 0)
+	MovementLoopAddLocation(NPC, 456.49, -22.12, 234.19, 2, 0)
+	MovementLoopAddLocation(NPC, 501.47, -19.69, 242.25, 2, 0)
+	MovementLoopAddLocation(NPC, 540.32, -18.02, 242.34, 2, 0)
+	MovementLoopAddLocation(NPC, 576.91, -17.97, 242.65, 2, 0)
+	MovementLoopAddLocation(NPC, 608.97, -18.16, 238.46, 2, 0)
+	MovementLoopAddLocation(NPC, 637.01, -19.08, 231.29, 2, 0)
+	MovementLoopAddLocation(NPC, 635.3, -17.14, 223.83, 2, 0)
+	MovementLoopAddLocation(NPC, 662, -17.95, 216.49, 2, 0)
+	MovementLoopAddLocation(NPC, 679.4, -17.95, 210.68, 2, 0)
+	MovementLoopAddLocation(NPC, 674.02, -17.95, 194.05, 2, 0)
+	MovementLoopAddLocation(NPC, 681.46, -19.3, 193.12, 2, 0)
+	MovementLoopAddLocation(NPC, 691.63, -19.52, 195.08, 2, 0)
+	MovementLoopAddLocation(NPC, 704.38, -19.53, 191.82, 2, 0)
+	MovementLoopAddLocation(NPC, 701.02, -19.49, 177.69, 2, 0)
+	MovementLoopAddLocation(NPC, 682.19, -20.54, 161.17, 2, 0)
+	MovementLoopAddLocation(NPC, 675.84, -21.06, 146.15, 2, 0)
+	MovementLoopAddLocation(NPC, 673.27, -21.16, 136.85, 2, 0)
+	MovementLoopAddLocation(NPC, 677.07, -21, 135.21, 2, 0)
+	MovementLoopAddLocation(NPC, 673.27, -21.16, 136.85, 2, 0)
+	MovementLoopAddLocation(NPC, 675.84, -21.06, 146.15, 2, 0)
+	MovementLoopAddLocation(NPC, 682.19, -20.54, 161.17, 2, 0)
+	MovementLoopAddLocation(NPC, 701.02, -19.49, 177.69, 2, 0)
+	MovementLoopAddLocation(NPC, 704.38, -19.53, 191.82, 2, 0)
+	MovementLoopAddLocation(NPC, 691.63, -19.52, 195.08, 2, 0)
+	MovementLoopAddLocation(NPC, 681.46, -19.3, 193.12, 2, 0)
+	MovementLoopAddLocation(NPC, 674.02, -17.95, 194.05, 2, 0)
+	MovementLoopAddLocation(NPC, 679.4, -17.95, 210.68, 2, 0)
+	MovementLoopAddLocation(NPC, 662, -17.95, 216.49, 2, 0)
+	MovementLoopAddLocation(NPC, 635.3, -17.14, 223.83, 2, 0)
+	MovementLoopAddLocation(NPC, 637.01, -19.08, 231.29, 2, 0)
+	MovementLoopAddLocation(NPC, 608.97, -18.16, 238.46, 2, 0)
+	MovementLoopAddLocation(NPC, 576.91, -17.97, 242.65, 2, 0)
+	MovementLoopAddLocation(NPC, 540.32, -18.02, 242.34, 2, 0)
+	MovementLoopAddLocation(NPC, 501.47, -19.69, 242.25, 2, 0)
+	MovementLoopAddLocation(NPC, 456.49, -22.12, 234.19, 2, 0)
+	MovementLoopAddLocation(NPC, 490.98, -12.08, 147.47, 2, 0)
+	MovementLoopAddLocation(NPC, 489.85, -11.47, 134.57, 2, 0)
+	MovementLoopAddLocation(NPC, 507.44, -10.22, 117.68, 2, 0)
+	MovementLoopAddLocation(NPC, 503.39, -11.43, 143.13, 2, 0)
+	MovementLoopAddLocation(NPC, 546.66, -10.56, 150.83, 2, 0)
+	MovementLoopAddLocation(NPC, 546.59, -9.56, 134.99, 2, 0)
+	MovementLoopAddLocation(NPC, 524.31, -9.56, 132.51, 2, 0)
+	MovementLoopAddLocation(NPC, 517.32, -9.57, 131.67, 2, 0)
+	MovementLoopAddLocation(NPC, 530.82, -9.56, 133.29, 2, 0)
+	MovementLoopAddLocation(NPC, 536.8, -9.56, 131.87, 2, 0)
+	MovementLoopAddLocation(NPC, 538.43, -9.56, 133.71, 2, 0)
+	MovementLoopAddLocation(NPC, 548.55, -9.56, 135.51, 2, 0)
+	MovementLoopAddLocation(NPC, 548.05, -10.55, 150.62, 2, 0)
+	MovementLoopAddLocation(NPC, 587.17, -10.44, 147.91, 2, 0)
+	MovementLoopAddLocation(NPC, 616.91, -12.11, 142.62, 2, 0)
+	MovementLoopAddLocation(NPC, 620.14, -16.54, 199.73, 2, 0)
+	MovementLoopAddLocation(NPC, 677.71, -19.31, 186, 2, 0)
+	MovementLoopAddLocation(NPC, 689.53, -19.52, 198.07, 2, 0)
+	MovementLoopAddLocation(NPC, 704.12, -19.53, 193.02, 2, 0)
+end
+
+

+ 60 - 0
server/SpawnScripts/Qeynos/ocoggin.lua

@@ -0,0 +1,60 @@
+--[[
+	Script Name		:	ocoggin.lua
+	Script Purpose	:	Waypoint Path for ocoggin.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 06:22:22 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/gnome_eco_race_good/ft/eco/good/gnome_eco_race_good_hail_gf_39da4f6d.mp3", "Cheers and boggle chippers to you!", "", 3143145827, 3768593316, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/gnome_eco_race_good/ft/eco/good/gnome_eco_race_good_barbarian_gf_68486376.mp3", "Watch your step, you rusty-pated, slow-witted, half-turned knob on a cognizoid!  Can't you see I'm busy?", "", 2020911566, 1624319994, Spawn)
+	else
+	end
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 454.21, -11.27, 119.32, 2, 0)
+	MovementLoopAddLocation(NPC, 462.96, -11.34, 117.26, 2, 0)
+	MovementLoopAddLocation(NPC, 473.17, -11.51, 115.77, 2, 0)
+	MovementLoopAddLocation(NPC, 481.48, -11.52, 116.12, 2, 0)
+	MovementLoopAddLocation(NPC, 483.61, -11.53, 117.36, 2, 0)
+	MovementLoopAddLocation(NPC, 487.02, -11.53, 120.96, 2, 0)
+	MovementLoopAddLocation(NPC, 488.53, -11.53, 125.73, 2, 0)
+	MovementLoopAddLocation(NPC, 487.84, -11.52, 130.97, 2, 0)
+	MovementLoopAddLocation(NPC, 486.34, -11.5, 136.27, 2, 0)
+	MovementLoopAddLocation(NPC, 486.77, -11.42, 140.74, 2, 0)
+	MovementLoopAddLocation(NPC, 491.78, -11.49, 143.11, 2, 0)
+	MovementLoopAddLocation(NPC, 496.37, -11.77, 144.14, 2, 0)
+	MovementLoopAddLocation(NPC, 541.07, -10.47, 150.54, 2, 0)
+	MovementLoopAddLocation(NPC, 622.68, -12.29, 146.78, 2, 0)
+	MovementLoopAddLocation(NPC, 541.07, -10.47, 150.54, 2, 0)
+	MovementLoopAddLocation(NPC, 496.37, -11.77, 144.14, 2, 0)
+	MovementLoopAddLocation(NPC, 491.78, -11.49, 143.11, 2, 0)
+	MovementLoopAddLocation(NPC, 486.77, -11.42, 140.74, 2, 0)
+	MovementLoopAddLocation(NPC, 486.34, -11.5, 136.27, 2, 0)
+	MovementLoopAddLocation(NPC, 487.84, -11.52, 130.97, 2, 0)
+	MovementLoopAddLocation(NPC, 488.53, -11.53, 125.73, 2, 0)
+	MovementLoopAddLocation(NPC, 487.02, -11.53, 120.96, 2, 0)
+	MovementLoopAddLocation(NPC, 483.61, -11.53, 117.36, 2, 0)
+	MovementLoopAddLocation(NPC, 481.48, -11.52, 116.12, 2, 0)
+	MovementLoopAddLocation(NPC, 473.17, -11.51, 115.77, 2, 0)
+	MovementLoopAddLocation(NPC, 462.96, -11.34, 117.26, 2, 0)
+	MovementLoopAddLocation(NPC, 454.21, -11.27, 119.32, 2, 0)
+end
+
+

+ 54 - 0
server/SpawnScripts/Qeynos/percivous.lua

@@ -0,0 +1,54 @@
+--[[
+	Script Name		:	percivous.lua
+	Script Purpose	:	Waypoint Path for percivous.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/10/2020 01:16:00 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/froglok/froglok_eco_good_1_hail_gm_3f899525.mp3", "Alack!  Dost yon adventurers think to aid in the search for the Sons of Marr?", "", 8384978, 3425989342, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 664.3, -21.16, 100.37, 2, 0)
+	MovementLoopAddLocation(NPC, 668.74, -21.28, 142.24, 2, 0)
+	MovementLoopAddLocation(NPC, 705.64, -19.45, 178.15, 2, 0)
+	MovementLoopAddLocation(NPC, 704.05, -19.53, 192.48, 2, 0)
+	MovementLoopAddLocation(NPC, 689.56, -19.52, 197.06, 2, 0)
+	MovementLoopAddLocation(NPC, 677.25, -19.28, 185.9, 2, 0)
+	MovementLoopAddLocation(NPC, 623.79, -16.71, 198.71, 2, 0)
+	MovementLoopAddLocation(NPC, 576.8, -15.87, 207.63, 2, 0)
+	MovementLoopAddLocation(NPC, 546.29, -15.38, 210.3, 2, 0)
+	MovementLoopAddLocation(NPC, 546.39, -10.53, 153.1, 2, 0)
+	MovementLoopAddLocation(NPC, 612.56, -12.22, 144.86, 2, 0)
+	MovementLoopAddLocation(NPC, 546.79, -10.16, 149.02, 2, 0)
+	MovementLoopAddLocation(NPC, 502.93, -11.34, 142.12, 2, 0)
+	MovementLoopAddLocation(NPC, 469.59, -11.52, 133.6, 2, 0)
+	MovementLoopAddLocation(NPC, 492.66, -12.73, 149.14, 2, 0)
+	MovementLoopAddLocation(NPC, 469.59, -11.52, 133.6, 2, 0)
+	MovementLoopAddLocation(NPC, 502.93, -11.34, 142.12, 2, 0)
+	MovementLoopAddLocation(NPC, 546.79, -10.16, 149.02, 2, 0)
+	MovementLoopAddLocation(NPC, 612.56, -12.22, 144.86, 2, 0)
+	MovementLoopAddLocation(NPC, 546.39, -10.53, 153.1, 2, 0)
+	MovementLoopAddLocation(NPC, 546.29, -15.38, 210.3, 2, 0)
+	MovementLoopAddLocation(NPC, 576.8, -15.87, 207.63, 2, 0)
+	MovementLoopAddLocation(NPC, 623.79, -16.71, 198.71, 2, 0)
+	MovementLoopAddLocation(NPC, 677.25, -19.28, 185.9, 2, 0)
+	MovementLoopAddLocation(NPC, 689.56, -19.52, 197.06, 2, 0)
+	MovementLoopAddLocation(NPC, 704.05, -19.53, 192.48, 2, 0)
+	MovementLoopAddLocation(NPC, 705.64, -19.45, 178.15, 2, 0)
+	MovementLoopAddLocation(NPC, 668.74, -21.28, 142.24, 2, 0)
+	MovementLoopAddLocation(NPC, 664.3, -21.16, 100.37, 2, 0)
+end
+
+

+ 76 - 0
server/SpawnScripts/Qeynos/quillfingers.lua

@@ -0,0 +1,76 @@
+--[[
+	Script Name		:	quillfingers.lua
+	Script Purpose	:	Waypoint Path for quillfingers.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 06:17:43 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	
+	local choice = math.random(1,2)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_cd9164d6.mp3", "You're a stranger. And I don't like strangers, no sir I don't!", "sulk", 785726454, 3155500140, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_75c0e97c.mp3", "Welcome to the city, adventurer. Be mindful of the peace and quiet.  Here in Qeynos, we value our privacy.", "bow", 1955296899, 2249687997, Spawn)
+	else
+	end
+	end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 451.46, -11.41, 116.82, 2, 0)
+	MovementLoopAddLocation(NPC, 470.39, -11.52, 134.93, 2, 0)
+	MovementLoopAddLocation(NPC, 489.07, -11.4, 142.29, 2, 0)
+	MovementLoopAddLocation(NPC, 525.11, -10.46, 149.37, 2, 0)
+	MovementLoopAddLocation(NPC, 545.9, -10.56, 152.61, 2, 0)
+	MovementLoopAddLocation(NPC, 605.81, -12.12, 146.65, 2, 0)
+	MovementLoopAddLocation(NPC, 609.47, -11.57, 158.08, 2, 0)
+	MovementLoopAddLocation(NPC, 625.38, -12.36, 158.09, 2, 0)
+	MovementLoopAddLocation(NPC, 625.59, -16.63, 195.33, 2, 0)
+	MovementLoopAddLocation(NPC, 678.57, -19.45, 182.33, 2, 0)
+	MovementLoopAddLocation(NPC, 686.49, -19.57, 218.19, 2, 0)
+	MovementLoopAddLocation(NPC, 622.04, -18.61, 233.99, 2, 0)
+	MovementLoopAddLocation(NPC, 578.55, -17.93, 241.46, 2, 0)
+	MovementLoopAddLocation(NPC, 561.94, -17.73, 242.56, 2, 0)
+	MovementLoopAddLocation(NPC, 533.14, -18.33, 242.15, 2, 0)
+	MovementLoopAddLocation(NPC, 497.26, -19.87, 240.62, 2, 0)
+	MovementLoopAddLocation(NPC, 465.94, -21.88, 234.24, 2, 0)
+	MovementLoopAddLocation(NPC, 459.18, -22.03, 232.23, 2, 0)
+	MovementLoopAddLocation(NPC, 479.65, -19.85, 180.64, 2, 0)
+	MovementLoopAddLocation(NPC, 490.42, -12.8, 150.23, 2, 0)
+	MovementLoopAddLocation(NPC, 480.65, -11.77, 141.88, 2, 0)
+	MovementLoopAddLocation(NPC, 450.19, -11.44, 116.21, 2, 0)
+	MovementLoopAddLocation(NPC, 480.65, -11.77, 141.88, 2, 0)
+	MovementLoopAddLocation(NPC, 490.42, -12.8, 150.23, 2, 0)
+	MovementLoopAddLocation(NPC, 479.65, -19.85, 180.64, 2, 0)
+	MovementLoopAddLocation(NPC, 459.18, -22.03, 232.23, 2, 0)
+	MovementLoopAddLocation(NPC, 465.94, -21.88, 234.24, 2, 0)
+	MovementLoopAddLocation(NPC, 497.26, -19.87, 240.62, 2, 0)
+	MovementLoopAddLocation(NPC, 533.14, -18.33, 242.15, 2, 0)
+	MovementLoopAddLocation(NPC, 561.94, -17.73, 242.56, 2, 0)
+	MovementLoopAddLocation(NPC, 578.55, -17.93, 241.46, 2, 0)
+	MovementLoopAddLocation(NPC, 622.04, -18.61, 233.99, 2, 0)
+	MovementLoopAddLocation(NPC, 686.49, -19.57, 218.19, 2, 0)
+	MovementLoopAddLocation(NPC, 678.57, -19.45, 182.33, 2, 0)
+	MovementLoopAddLocation(NPC, 625.59, -16.63, 195.33, 2, 0)
+	MovementLoopAddLocation(NPC, 625.38, -12.36, 158.09, 2, 0)
+	MovementLoopAddLocation(NPC, 609.47, -11.57, 158.08, 2, 0)
+	MovementLoopAddLocation(NPC, 605.81, -12.12, 146.65, 2, 0)
+	MovementLoopAddLocation(NPC, 545.9, -10.56, 152.61, 2, 0)
+	MovementLoopAddLocation(NPC, 525.11, -10.46, 149.37, 2, 0)
+	MovementLoopAddLocation(NPC, 489.07, -11.4, 142.29, 2, 0)
+	MovementLoopAddLocation(NPC, 470.39, -11.52, 134.93, 2, 0)
+	MovementLoopAddLocation(NPC, 451.46, -11.41, 116.82, 2, 0)
+end
+
+

+ 56 - 0
server/SpawnScripts/Qeynos/raleigh.lua

@@ -0,0 +1,56 @@
+--[[
+	Script Name		:	raleigh.lua
+	Script Purpose	:	Waypoint Path for raleigh.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 06:51:30 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	PlayFlavor(NPC, "", "", "no", 1689589577, 4560189, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 518.13, -10.48, 148.06, 6, 0)
+	MovementLoopAddLocation(NPC, 546.76, -10.58, 151.7, 6, 0)
+	MovementLoopAddLocation(NPC, 619.74, -12.25, 144.07, 6, 0)
+	MovementLoopAddLocation(NPC, 621.1, -16.52, 201.22, 6, 0)
+	MovementLoopAddLocation(NPC, 557.98, -15.36, 210.45, 6, 0)
+	MovementLoopAddLocation(NPC, 558.15, -17.19, 232.88, 6, 0)
+	MovementLoopAddLocation(NPC, 552.57, -17.74, 244.2, 6, 0)
+	MovementLoopAddLocation(NPC, 503.12, -19.64, 242.37, 6, 0)
+	MovementLoopAddLocation(NPC, 459.61, -22.15, 233.9, 6, 0)
+	MovementLoopAddLocation(NPC, 457.36, -21.39, 226.69, 6, 0)
+	MovementLoopAddLocation(NPC, 471.92, -20.75, 189.58, 6, 0)
+	MovementLoopAddLocation(NPC, 485.11, -14.58, 159.08, 6, 0)
+	MovementLoopAddLocation(NPC, 494.06, -11.84, 144.74, 6, 0)
+	MovementLoopAddLocation(NPC, 514.53, -10.6, 147.01, 6, 0)
+	MovementLoopAddLocation(NPC, 546.4, -10.57, 151.35, 6, 0)
+	MovementLoopAddLocation(NPC, 546.6, -14.95, 189.7, 6, 0)
+	MovementLoopAddLocation(NPC, 546.4, -10.57, 151.35, 6, 0)
+	MovementLoopAddLocation(NPC, 514.53, -10.6, 147.01, 6, 0)
+	MovementLoopAddLocation(NPC, 494.06, -11.84, 144.74, 6, 0)
+	MovementLoopAddLocation(NPC, 485.11, -14.58, 159.08, 6, 0)
+	MovementLoopAddLocation(NPC, 471.92, -20.75, 189.58, 6, 0)
+	MovementLoopAddLocation(NPC, 457.36, -21.39, 226.69, 6, 0)
+	MovementLoopAddLocation(NPC, 459.61, -22.15, 233.9, 6, 0)
+	MovementLoopAddLocation(NPC, 503.12, -19.64, 242.37, 6, 0)
+	MovementLoopAddLocation(NPC, 552.57, -17.74, 244.2, 6, 0)
+	MovementLoopAddLocation(NPC, 558.15, -17.19, 232.88, 6, 0)
+	MovementLoopAddLocation(NPC, 557.98, -15.36, 210.45, 6, 0)
+	MovementLoopAddLocation(NPC, 621.1, -16.52, 201.22, 6, 0)
+	MovementLoopAddLocation(NPC, 619.74, -12.25, 144.07, 6, 0)
+	MovementLoopAddLocation(NPC, 546.76, -10.58, 151.7, 6, 0)
+	MovementLoopAddLocation(NPC, 518.13, -10.48, 148.06, 6, 0)
+end
+
+

+ 59 - 0
server/SpawnScripts/Qeynos/stanhyl.lua

@@ -0,0 +1,59 @@
+--[[
+	Script Name		:	raleigh.lua
+	Script Purpose	:	Waypoint Path for raleigh.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 06:51:30 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function InRange(NPC, Spawn)
+	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)
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 518.13, -10.48, 148.06, 6.0, 1.5)
+	MovementLoopAddLocation(NPC, 546.76, -10.58, 151.7, 6.0, 0)
+	MovementLoopAddLocation(NPC, 619.74, -12.25, 144.07, 6.0, 0)
+	MovementLoopAddLocation(NPC, 621.1, -16.52, 201.22, 6, 0)
+	MovementLoopAddLocation(NPC, 557.98, -15.36, 210.45, 6, 0)
+	MovementLoopAddLocation(NPC, 558.15, -17.19, 232.88, 6, 0)
+	MovementLoopAddLocation(NPC, 552.57, -17.74, 244.2, 6, 0)
+	MovementLoopAddLocation(NPC, 503.12, -19.64, 242.37, 6, 0)
+	MovementLoopAddLocation(NPC, 459.61, -22.15, 233.9, 6, 0)
+	MovementLoopAddLocation(NPC, 457.36, -21.39, 226.69, 6, 0)
+	MovementLoopAddLocation(NPC, 471.92, -20.75, 189.58, 6, 0)
+	MovementLoopAddLocation(NPC, 485.11, -14.58, 159.08, 6, 0)
+	MovementLoopAddLocation(NPC, 494.06, -11.84, 144.74, 6, 0)
+	MovementLoopAddLocation(NPC, 514.53, -10.6, 147.01, 6, 0)
+	MovementLoopAddLocation(NPC, 546.4, -10.57, 151.35, 6, 0)
+	MovementLoopAddLocation(NPC, 546.6, -14.95, 189.7, 6, 0)
+	MovementLoopAddLocation(NPC, 546.4, -10.57, 151.35, 6, 0)
+	MovementLoopAddLocation(NPC, 514.53, -10.6, 147.01, 6, 0)
+	MovementLoopAddLocation(NPC, 494.06, -11.84, 144.74, 6, 0)
+	MovementLoopAddLocation(NPC, 485.11, -14.58, 159.08, 6, 0)
+	MovementLoopAddLocation(NPC, 471.92, -20.75, 189.58, 6, 0)
+	MovementLoopAddLocation(NPC, 457.36, -21.39, 226.69, 6, 0)
+	MovementLoopAddLocation(NPC, 459.61, -22.15, 233.9, 6, 0)
+	MovementLoopAddLocation(NPC, 503.12, -19.64, 242.37, 6, 0)
+	MovementLoopAddLocation(NPC, 552.57, -17.74, 244.2, 6, 0)
+	MovementLoopAddLocation(NPC, 558.15, -17.19, 232.88, 6, 0)
+	MovementLoopAddLocation(NPC, 557.98, -15.36, 210.45, 6, 0)
+	MovementLoopAddLocation(NPC, 621.1, -16.52, 201.22, 6, 0)
+	MovementLoopAddLocation(NPC, 619.74, -12.25, 144.07, 6, 0)
+	MovementLoopAddLocation(NPC, 546.76, -10.58, 151.7, 6, 0)
+	MovementLoopAddLocation(NPC, 518.13, -10.48, 148.06, 6, 0)
+end
+
+

+ 158 - 0
server/SpawnScripts/Qeynos/taseela.lua

@@ -0,0 +1,158 @@
+--[[
+	Script Name		:	taseela.lua
+	Script Purpose	:	Waypoint Path for taseela.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 04:00:49 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	
+	local choice = math.random(1,6)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gf_bc49d3d0.mp3", "Laziness is nothing more than the habit of resting before you get tired.", "yawn", 2068417649, 3867807288, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gf_a3259538.mp3", "You should head by the tavern later on! Every night in Qeynos is cause for celebration.", "cheer", 3875741901, 4154770080, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gf_5b6e8d2f.mp3", "Do you like muffins?  Muffins are my favorite, I eat them every chance I get.", "sigh", 4155434475, 829232573, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gf_3dc6b124.mp3", "Get the wash, get the wash.  This whole city would fall apart if I didn't deliver the clothes on time.  ", "frustrated", 4277096439, 928366048, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gf_1b77439f.mp3", "Be on the lookout, friend!  I just spoke to the guards.  I've no doubt gnolls are scouting the nearby area.", "lookaway", 495282965, 1739106402, Spawn)
+	elseif choice == 6 then
+		PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gf_6594953c.mp3", "If a thing isn't worth saying, you sing it.", "wink", 1056697572, 3706271932, Spawn)
+	else
+	end
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 471.7, -20.99, 193.86, 2, 0)
+	MovementLoopAddLocation(NPC, 493.1, -12.32, 147.33, 2, 0)
+	MovementLoopAddLocation(NPC, 491.13, -11.45, 135.98, 2, 0)
+	MovementLoopAddLocation(NPC, 490.3, -11.5, 129.03, 2, 0)
+	MovementLoopAddLocation(NPC, 488.84, -11.52, 124.02, 2, 0)
+	MovementLoopAddLocation(NPC, 486.64, -11.53, 120.61, 2, 0)
+	MovementLoopAddLocation(NPC, 483.51, -11.52, 116.17, 2, 0)
+	MovementLoopAddLocation(NPC, 482.23, -11.27, 114.12, 2, 0)
+	MovementLoopAddLocation(NPC, 483.44, -11.52, 115.16, 2, 0)
+	MovementLoopAddLocation(NPC, 486.92, -11.52, 118.06, 2, 0)
+	MovementLoopAddLocation(NPC, 488.82, -11.52, 121.46, 2, 0)
+	MovementLoopAddLocation(NPC, 489.71, -11.52, 125.6, 2, 0)
+	MovementLoopAddLocation(NPC, 489.21, -11.51, 129.2, 2, 0)
+	MovementLoopAddLocation(NPC, 487.71, -11.5, 133.86, 2, 0)
+	MovementLoopAddLocation(NPC, 486.19, -11.48, 139.06, 2, 0)
+	MovementLoopAddLocation(NPC, 485.61, -11.43, 141.46, 2, 0)
+	MovementLoopAddLocation(NPC, 493.67, -11.68, 143.72, 2, 0)
+	MovementLoopAddLocation(NPC, 516.38, -10.45, 149.36, 2, 0)
+	MovementLoopAddLocation(NPC, 528.67, -10.51, 150.52, 2, 0)
+	MovementLoopAddLocation(NPC, 540.31, -10.49, 150.73, 2, 0)
+	MovementLoopAddLocation(NPC, 545.51, -10.54, 150.86, 2, 0)
+	MovementLoopAddLocation(NPC, 546.39, -9.56, 136.3, 2, 0)
+	MovementLoopAddLocation(NPC, 538.73, -9.56, 132.99, 2, 0)
+	MovementLoopAddLocation(NPC, 538.95, -9.56, 130.4, 2, 0)
+	MovementLoopAddLocation(NPC, 546.87, -8.54, 130.88, 2, 0)
+	MovementLoopAddLocation(NPC, 555.09, -9.56, 130.96, 2, 0)
+	MovementLoopAddLocation(NPC, 555.19, -9.56, 134.75, 2, 0)
+	MovementLoopAddLocation(NPC, 546.18, -9.56, 134.86, 2, 0)
+	MovementLoopAddLocation(NPC, 546.45, -10.56, 151.11, 2, 0)
+	MovementLoopAddLocation(NPC, 585.38, -10.44, 147.7, 2, 0)
+	MovementLoopAddLocation(NPC, 617.72, -12.21, 145.89, 2, 0)
+	MovementLoopAddLocation(NPC, 620.85, -12.71, 159.02, 2, 0)
+	MovementLoopAddLocation(NPC, 623.31, -15.72, 183.69, 2, 0)
+	MovementLoopAddLocation(NPC, 626.2, -16.55, 194.05, 2, 0)
+	MovementLoopAddLocation(NPC, 627.65, -16.46, 194.55, 2, 0)
+	MovementLoopAddLocation(NPC, 637.49, -16.8, 194.18, 2, 0)
+	MovementLoopAddLocation(NPC, 666.3, -18.35, 186.84, 2, 0)
+	MovementLoopAddLocation(NPC, 677.83, -19.33, 184.59, 2, 0)
+	MovementLoopAddLocation(NPC, 682.89, -19.33, 197.87, 2, 0)
+	MovementLoopAddLocation(NPC, 706.09, -19.54, 190.22, 2, 0)
+	MovementLoopAddLocation(NPC, 711.17, -19.89, 168.56, 2, 0)
+	MovementLoopAddLocation(NPC, 712.74, -20.86, 161.78, 2, 0)
+	MovementLoopAddLocation(NPC, 715.26, -19.93, 167.66, 2, 0)
+	MovementLoopAddLocation(NPC, 723.3, -19.61, 192.39, 2, 0)
+	MovementLoopAddLocation(NPC, 709.6, -19.52, 197.11, 2, 0)
+	MovementLoopAddLocation(NPC, 706.5, -19.54, 192.05, 2, 0)
+	MovementLoopAddLocation(NPC, 700.81, -19.53, 194.11, 2, 0)
+	MovementLoopAddLocation(NPC, 689.99, -19.52, 197.91, 2, 0)
+	MovementLoopAddLocation(NPC, 689.12, -19.52, 205.42, 2, 0)
+	MovementLoopAddLocation(NPC, 687.59, -19.52, 212.44, 2, 0)
+	MovementLoopAddLocation(NPC, 682.22, -19.55, 217, 2, 0)
+	MovementLoopAddLocation(NPC, 676.11, -19.6, 219.38, 2, 0)
+	MovementLoopAddLocation(NPC, 610.55, -18.19, 238.03, 2, 0)
+	MovementLoopAddLocation(NPC, 568.96, -17.89, 242.95, 2, 0)
+	MovementLoopAddLocation(NPC, 536.28, -18.21, 242.2, 2, 0)
+	MovementLoopAddLocation(NPC, 483.43, -20.74, 238.36, 2, 0)
+	MovementLoopAddLocation(NPC, 461.83, -21.89, 232.14, 2, 0)
+	MovementLoopAddLocation(NPC, 462.87, -21.32, 219.81, 2, 0)
+	MovementLoopAddLocation(NPC, 472.51, -21.16, 195.49, 2, 0)
+	MovementLoopAddLocation(NPC, 462.87, -21.32, 219.81, 2, 0)
+	MovementLoopAddLocation(NPC, 461.83, -21.89, 232.14, 2, 0)
+	MovementLoopAddLocation(NPC, 483.43, -20.74, 238.36, 2, 0)
+	MovementLoopAddLocation(NPC, 536.28, -18.21, 242.2, 2, 0)
+	MovementLoopAddLocation(NPC, 568.96, -17.89, 242.95, 2, 0)
+	MovementLoopAddLocation(NPC, 610.55, -18.19, 238.03, 2, 0)
+	MovementLoopAddLocation(NPC, 676.11, -19.6, 219.38, 2, 0)
+	MovementLoopAddLocation(NPC, 682.22, -19.55, 217, 2, 0)
+	MovementLoopAddLocation(NPC, 687.59, -19.52, 212.44, 2, 0)
+	MovementLoopAddLocation(NPC, 689.12, -19.52, 205.42, 2, 0)
+	MovementLoopAddLocation(NPC, 689.99, -19.52, 197.91, 2, 0)
+	MovementLoopAddLocation(NPC, 700.81, -19.53, 194.11, 2, 0)
+	MovementLoopAddLocation(NPC, 706.5, -19.54, 192.05, 2, 0)
+	MovementLoopAddLocation(NPC, 709.6, -19.52, 197.11, 2, 0)
+	MovementLoopAddLocation(NPC, 723.3, -19.61, 192.39, 2, 0)
+	MovementLoopAddLocation(NPC, 715.26, -19.93, 167.66, 2, 0)
+	MovementLoopAddLocation(NPC, 712.74, -20.86, 161.78, 2, 0)
+	MovementLoopAddLocation(NPC, 711.17, -19.89, 168.56, 2, 0)
+	MovementLoopAddLocation(NPC, 706.09, -19.54, 190.22, 2, 0)
+	MovementLoopAddLocation(NPC, 682.89, -19.33, 197.87, 2, 0)
+	MovementLoopAddLocation(NPC, 677.83, -19.33, 184.59, 2, 0)
+	MovementLoopAddLocation(NPC, 666.3, -18.35, 186.84, 2, 0)
+	MovementLoopAddLocation(NPC, 637.49, -16.8, 194.18, 2, 0)
+	MovementLoopAddLocation(NPC, 627.65, -16.46, 194.55, 2, 0)
+	MovementLoopAddLocation(NPC, 626.2, -16.55, 194.05, 2, 0)
+	MovementLoopAddLocation(NPC, 623.31, -15.72, 183.69, 2, 0)
+	MovementLoopAddLocation(NPC, 620.85, -12.71, 159.02, 2, 0)
+	MovementLoopAddLocation(NPC, 617.72, -12.21, 145.89, 2, 0)
+	MovementLoopAddLocation(NPC, 585.38, -10.44, 147.7, 2, 0)
+	MovementLoopAddLocation(NPC, 546.45, -10.56, 151.11, 2, 0)
+	MovementLoopAddLocation(NPC, 546.18, -9.56, 134.86, 2, 0)
+	MovementLoopAddLocation(NPC, 555.19, -9.56, 134.75, 2, 0)
+	MovementLoopAddLocation(NPC, 555.09, -9.56, 130.96, 2, 0)
+	MovementLoopAddLocation(NPC, 546.87, -8.54, 130.88, 2, 0)
+	MovementLoopAddLocation(NPC, 538.95, -9.56, 130.4, 2, 0)
+	MovementLoopAddLocation(NPC, 538.73, -9.56, 132.99, 2, 0)
+	MovementLoopAddLocation(NPC, 546.39, -9.56, 136.3, 2, 0)
+	MovementLoopAddLocation(NPC, 545.51, -10.54, 150.86, 2, 0)
+	MovementLoopAddLocation(NPC, 540.31, -10.49, 150.73, 2, 0)
+	MovementLoopAddLocation(NPC, 528.67, -10.51, 150.52, 2, 0)
+	MovementLoopAddLocation(NPC, 516.38, -10.45, 149.36, 2, 0)
+	MovementLoopAddLocation(NPC, 493.67, -11.68, 143.72, 2, 0)
+	MovementLoopAddLocation(NPC, 485.61, -11.43, 141.46, 2, 0)
+	MovementLoopAddLocation(NPC, 486.19, -11.48, 139.06, 2, 0)
+	MovementLoopAddLocation(NPC, 487.71, -11.5, 133.86, 2, 0)
+	MovementLoopAddLocation(NPC, 489.21, -11.51, 129.2, 2, 0)
+	MovementLoopAddLocation(NPC, 489.71, -11.52, 125.6, 2, 0)
+	MovementLoopAddLocation(NPC, 488.82, -11.52, 121.46, 2, 0)
+	MovementLoopAddLocation(NPC, 486.92, -11.52, 118.06, 2, 0)
+	MovementLoopAddLocation(NPC, 483.44, -11.52, 115.16, 2, 0)
+	MovementLoopAddLocation(NPC, 482.23, -11.27, 114.12, 2, 0)
+	MovementLoopAddLocation(NPC, 483.51, -11.52, 116.17, 2, 0)
+	MovementLoopAddLocation(NPC, 486.64, -11.53, 120.61, 2, 0)
+	MovementLoopAddLocation(NPC, 488.84, -11.52, 124.02, 2, 0)
+	MovementLoopAddLocation(NPC, 490.3, -11.5, 129.03, 2, 0)
+	MovementLoopAddLocation(NPC, 491.13, -11.45, 135.98, 2, 0)
+	MovementLoopAddLocation(NPC, 493.1, -12.32, 147.33, 2, 0)
+	MovementLoopAddLocation(NPC, 471.7, -20.99, 193.86, 2, 0)
+end
+
+

+ 108 - 0
server/SpawnScripts/Qeynos/telethar.lua

@@ -0,0 +1,108 @@
+--[[
+	Script Name		:	telethar.lua
+	Script Purpose	:	Waypoint Path for telethar.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 03:06:09 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+		local choice = math.random(1,6)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_4121a9b2.mp3", "The Concordium uses ancient and forgotten knowledge to protect us from the shadows that surround Qeynos.", "", 1945306751, 352506246, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_15aa4eed.mp3", "Those who have neither the abilities nor the aspirations to pursue the intellectual arts will find a home at the Ironforge Exchange.", "", 523104392, 3732258776, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_88bbd1aa.mp3", "The Tunarian Alliance does not see the greater issues beyond individual evils. Their forests might be scorched wastelands and they would still be fending off poachers.", "", 3133325899, 3316523299, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_987a9a3c.mp3", "While the Celestial Watch futilely awaits word from its forgotten gods the Concordium has harnessed the true power that blazes within each of us.", "", 3806603086, 3205979382, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_b52cd580.mp3", "The Qeynos Guard cannot defend us from dark forces it neither sees nor understands.", "", 1941375851, 1104708565, Spawn)
+	elseif choice == 6 then
+		PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_30_gf_1e49a37f.mp3", "Your courageous actions have assisted the Concordium in its quest for all knowledge.", "", 1170821333, 3893107670, Spawn)
+	else
+	end
+
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 566.15, -17.12, 258.02, 2, 0)
+	MovementLoopAddLocation(NPC, 570.57, -17.12, 255.62, 2, 0)
+	MovementLoopAddLocation(NPC, 576.24, -17.12, 254.42, 2, 0)
+	MovementLoopAddLocation(NPC, 575.73, -17.64, 246.7, 2, 0)
+	MovementLoopAddLocation(NPC, 562.13, -17.59, 247.86, 2, 0)
+	MovementLoopAddLocation(NPC, 556.95, -15.03, 216.91, 2, 0)
+	MovementLoopAddLocation(NPC, 544.21, -15.27, 199.34, 2, 0)
+	MovementLoopAddLocation(NPC, 544.08, -10.16, 165.07, 2, 0)
+	MovementLoopAddLocation(NPC, 546.91, -10.52, 153.48, 2, 0)
+	MovementLoopAddLocation(NPC, 574.95, -10.59, 151.54, 2, 0)
+	MovementLoopAddLocation(NPC, 622.27, -12.27, 145.9, 2, 0)
+	MovementLoopAddLocation(NPC, 603.56, -12.04, 143.79, 2, 0)
+	MovementLoopAddLocation(NPC, 583.87, -10.25, 146.24, 2, 0)
+	MovementLoopAddLocation(NPC, 557.17, -10.31, 148.93, 2, 0)
+	MovementLoopAddLocation(NPC, 537.01, -10.13, 148.31, 2, 0)
+	MovementLoopAddLocation(NPC, 524.04, -9.9, 146.34, 2, 0)
+	MovementLoopAddLocation(NPC, 513.04, -9.83, 143.52, 2, 0)
+	MovementLoopAddLocation(NPC, 502.81, -11.11, 140.93, 2, 0)
+	MovementLoopAddLocation(NPC, 481.32, -11.53, 117.39, 2, 0)
+	MovementLoopAddLocation(NPC, 482.48, -11.53, 118.06, 2, 0)
+	MovementLoopAddLocation(NPC, 486.56, -11.53, 120.94, 2, 0)
+	MovementLoopAddLocation(NPC, 489.18, -11.52, 123.86, 2, 0)
+	MovementLoopAddLocation(NPC, 489.84, -11.51, 126.57, 2, 0)
+	MovementLoopAddLocation(NPC, 489.39, -11.51, 129.92, 2, 0)
+	MovementLoopAddLocation(NPC, 489.8, -11.42, 139.24, 2, 0)
+	MovementLoopAddLocation(NPC, 491.06, -13.04, 150.73, 2, 0)
+	MovementLoopAddLocation(NPC, 475.52, -20.25, 184.58, 2, 0)
+	MovementLoopAddLocation(NPC, 463.35, -20.75, 189.73, 2, 0)
+	MovementLoopAddLocation(NPC, 464.87, -20.8, 191.77, 2, 0)
+	MovementLoopAddLocation(NPC, 466.04, -20.9, 195.96, 2, 0)
+	MovementLoopAddLocation(NPC, 465.95, -21.02, 199.64, 2, 0)
+	MovementLoopAddLocation(NPC, 464.46, -21.07, 203.79, 2, 0)
+	MovementLoopAddLocation(NPC, 462.55, -21.1, 207.5, 2, 0)
+	MovementLoopAddLocation(NPC, 449.43, -21.34, 229.64, 2, 0)
+	MovementLoopAddLocation(NPC, 462.55, -21.1, 207.5, 2, 0)
+	MovementLoopAddLocation(NPC, 464.46, -21.07, 203.79, 2, 0)
+	MovementLoopAddLocation(NPC, 465.95, -21.02, 199.64, 2, 0)
+	MovementLoopAddLocation(NPC, 466.04, -20.9, 195.96, 2, 0)
+	MovementLoopAddLocation(NPC, 464.87, -20.8, 191.77, 2, 0)
+	MovementLoopAddLocation(NPC, 463.35, -20.75, 189.73, 2, 0)
+	MovementLoopAddLocation(NPC, 475.52, -20.25, 184.58, 2, 0)
+	MovementLoopAddLocation(NPC, 491.06, -13.04, 150.73, 2, 0)
+	MovementLoopAddLocation(NPC, 489.8, -11.42, 139.24, 2, 0)
+	MovementLoopAddLocation(NPC, 489.39, -11.51, 129.92, 2, 0)
+	MovementLoopAddLocation(NPC, 489.84, -11.51, 126.57, 2, 0)
+	MovementLoopAddLocation(NPC, 489.18, -11.52, 123.86, 2, 0)
+	MovementLoopAddLocation(NPC, 486.56, -11.53, 120.94, 2, 0)
+	MovementLoopAddLocation(NPC, 482.48, -11.53, 118.06, 2, 0)
+	MovementLoopAddLocation(NPC, 481.32, -11.53, 117.39, 2, 0)
+	MovementLoopAddLocation(NPC, 502.81, -11.11, 140.93, 2, 0)
+	MovementLoopAddLocation(NPC, 513.04, -9.83, 143.52, 2, 0)
+	MovementLoopAddLocation(NPC, 524.04, -9.9, 146.34, 2, 0)
+	MovementLoopAddLocation(NPC, 537.01, -10.13, 148.31, 2, 0)
+	MovementLoopAddLocation(NPC, 557.17, -10.31, 148.93, 2, 0)
+	MovementLoopAddLocation(NPC, 583.87, -10.25, 146.24, 2, 0)
+	MovementLoopAddLocation(NPC, 603.56, -12.04, 143.79, 2, 0)
+	MovementLoopAddLocation(NPC, 622.27, -12.27, 145.9, 2, 0)
+	MovementLoopAddLocation(NPC, 574.95, -10.59, 151.54, 2, 0)
+	MovementLoopAddLocation(NPC, 546.91, -10.52, 153.48, 2, 0)
+	MovementLoopAddLocation(NPC, 544.08, -10.16, 165.07, 2, 0)
+	MovementLoopAddLocation(NPC, 544.21, -15.27, 199.34, 2, 0)
+	MovementLoopAddLocation(NPC, 556.95, -15.03, 216.91, 2, 0)
+	MovementLoopAddLocation(NPC, 562.13, -17.59, 247.86, 2, 0)
+	MovementLoopAddLocation(NPC, 575.73, -17.64, 246.7, 2, 0)
+	MovementLoopAddLocation(NPC, 576.24, -17.12, 254.42, 2, 0)
+	MovementLoopAddLocation(NPC, 570.57, -17.12, 255.62, 2, 0)
+	MovementLoopAddLocation(NPC, 566.15, -17.12, 258.02, 2, 0)
+end
+
+

+ 87 - 0
server/SpawnScripts/Qeynos/tesilah.lua

@@ -0,0 +1,87 @@
+--[[
+	Script Name		:	tesilah.lua
+	Script Purpose	:	Waypoint Path for tesilah.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 03:21:57 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+	local choice = math.random(1,7)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_aoi_gm_2c5409ba.mp3", "Another lovely day in the city of Qeynos!", "sigh", 2759856909, 614688407, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_ef2b9651.mp3", "Will you quit pestering me?  Don't force me to summon the guards!", "tapfoot", 3345611839, 1442739842, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_aoi_gm_4d212798.mp3", "I'm confident that the merchants of our village will fill all equipment needs with the utmost hospitality.", "smile", 2600666744, 586734676, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_e58035f3.mp3", "What do you want? Leave me be!", "shrug", 1323474108, 3355478224, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_9b2049a3.mp3", "Well met, friend.  It's good to make your acquaintance!", "bow", 754727055, 3165426316, Spawn)
+	elseif choice == 6 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_7e3b456a.mp3", "Hail, pleasure to meet you.", "agree", 471367832, 2417424572, Spawn)
+	elseif choice == 7 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_13b79d2d.mp3", "Welcome...welcome traveler, to the fair city of Qeynos! My, isn't it a magnificent day?", "hello", 3746934207, 794965138, Spawn)
+	else
+	end
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 710.44, -19.45, 176.78, 2, 0)
+	MovementLoopAddLocation(NPC, 708.82, -19.45, 180.77, 2, 0)
+	MovementLoopAddLocation(NPC, 705.8, -19.54, 188.21, 2, 0)
+	MovementLoopAddLocation(NPC, 703.43, -19.53, 195.03, 2, 0)
+	MovementLoopAddLocation(NPC, 690.8, -19.52, 198.95, 2, 0)
+	MovementLoopAddLocation(NPC, 686.49, -19.52, 213.39, 2, 0)
+	MovementLoopAddLocation(NPC, 682.72, -19.49, 216.29, 2, 0)
+	MovementLoopAddLocation(NPC, 637.94, -19.1, 229.9, 2, 0)
+	MovementLoopAddLocation(NPC, 636.11, -17.14, 224.31, 2, 0)
+	MovementLoopAddLocation(NPC, 626.03, -17.14, 226.88, 2, 0)
+	MovementLoopAddLocation(NPC, 610.99, -16.46, 229.12, 2, 0)
+	MovementLoopAddLocation(NPC, 595.42, -16.57, 232.07, 2, 0)
+	MovementLoopAddLocation(NPC, 576.71, -16.57, 235.12, 2, 0)
+	MovementLoopAddLocation(NPC, 573.15, -16.57, 235.49, 2, 0)
+	MovementLoopAddLocation(NPC, 573.66, -17.93, 241.36, 2, 0)
+	MovementLoopAddLocation(NPC, 552.73, -17.69, 242.2, 2, 0)
+	MovementLoopAddLocation(NPC, 531.54, -18.37, 241.84, 2, 0)
+	MovementLoopAddLocation(NPC, 494.22, -20.02, 239.88, 2, 0)
+	MovementLoopAddLocation(NPC, 467.68, -21.75, 234.49, 2, 0)
+	MovementLoopAddLocation(NPC, 458.2, -21.43, 226.86, 2, 0)
+	MovementLoopAddLocation(NPC, 463.73, -21.39, 213.35, 2, 0)
+	MovementLoopAddLocation(NPC, 469, -21.28, 200.5, 2, 0)
+	MovementLoopAddLocation(NPC, 463.68, -20.77, 191.39, 2, 0)
+	MovementLoopAddLocation(NPC, 469, -21.28, 200.5, 2, 0)
+	MovementLoopAddLocation(NPC, 463.73, -21.39, 213.35, 2, 0)
+	MovementLoopAddLocation(NPC, 458.2, -21.43, 226.86, 2, 0)
+	MovementLoopAddLocation(NPC, 467.68, -21.75, 234.49, 2, 0)
+	MovementLoopAddLocation(NPC, 494.22, -20.02, 239.88, 2, 0)
+	MovementLoopAddLocation(NPC, 531.54, -18.37, 241.84, 2, 0)
+	MovementLoopAddLocation(NPC, 552.73, -17.69, 242.2, 2, 0)
+	MovementLoopAddLocation(NPC, 573.66, -17.93, 241.36, 2, 0)
+	MovementLoopAddLocation(NPC, 573.15, -16.57, 235.49, 2, 0)
+	MovementLoopAddLocation(NPC, 576.71, -16.57, 235.12, 2, 0)
+	MovementLoopAddLocation(NPC, 595.42, -16.57, 232.07, 2, 0)
+	MovementLoopAddLocation(NPC, 610.99, -16.46, 229.12, 2, 0)
+	MovementLoopAddLocation(NPC, 626.03, -17.14, 226.88, 2, 0)
+	MovementLoopAddLocation(NPC, 636.11, -17.14, 224.31, 2, 0)
+	MovementLoopAddLocation(NPC, 637.94, -19.1, 229.9, 2, 0)
+	MovementLoopAddLocation(NPC, 682.72, -19.49, 216.29, 2, 0)
+	MovementLoopAddLocation(NPC, 686.49, -19.52, 213.39, 2, 0)
+	MovementLoopAddLocation(NPC, 690.8, -19.52, 198.95, 2, 0)
+	MovementLoopAddLocation(NPC, 703.43, -19.53, 195.03, 2, 0)
+	MovementLoopAddLocation(NPC, 705.8, -19.54, 188.21, 2, 0)
+	MovementLoopAddLocation(NPC, 708.82, -19.45, 180.77, 2, 0)
+	MovementLoopAddLocation(NPC, 710.44, -19.45, 176.78, 2, 0)
+end
+
+

+ 46 - 0
server/SpawnScripts/Qeynos/theodoric.lua

@@ -0,0 +1,46 @@
+--[[
+	Script Name		:	theodoric.lua
+	Script Purpose	:	Waypoint Path for theodoric.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 07:19:05 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+		local choice = math.random(1,3)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_evil_drunk/ft/eco/evil/human_eco_evil_drunk_barmaid_gm_a1d96f41.mp3", "My stein hasn't any legs to walk over and fill itself up.", "glare", 2656968471, 1396939792, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_evil_drunk/ft/eco/evil/human_eco_evil_drunk_hail_gm_622bfa69.mp3", "What do you mean ye drank more than I did?", "boggle", 3046379177, 1648095152, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_evil_drunk/ft/eco/evil/human_eco_evil_drunk_barmaid_gm_7f76ecc6.mp3", "Hurry up! My stomach's near dry thanks to ya.", "frustrated", 2014105974, 2128019974, Spawn)
+	else
+	end
+	end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 516.1, -9.57, 128.35, 2, 30)
+	MovementLoopAddLocation(NPC, 516.74, -9.57, 131.87, 2, 30)
+	MovementLoopAddLocation(NPC, 532.62, -9.56, 132.75, 2, 0)
+	MovementLoopAddLocation(NPC, 532.46, -9.56, 136.21, 2, 30)
+	MovementLoopAddLocation(NPC, 532.05, -9.56, 132.94, 2, 0)
+	MovementLoopAddLocation(NPC, 540.22, -9.56, 133.93, 2, 0)
+	MovementLoopAddLocation(NPC, 542.24, -9.56, 136.1, 2, 0)
+	MovementLoopAddLocation(NPC, 561.26, -9.56, 133.56, 2, 0)
+	MovementLoopAddLocation(NPC, 572.73, -9.43, 136.49, 2, 0)
+	MovementLoopAddLocation(NPC, 572.91, -8.47, 131.8, 2, 0)
+	MovementLoopAddLocation(NPC, 580.87, -8.48, 130.61, 2, 10)
+	MovementLoopAddLocation(NPC, 578.34, -8.48, 127.68, 2, 60)
+end
+
+

+ 109 - 0
server/SpawnScripts/Qeynos/treeskipper.lua

@@ -0,0 +1,109 @@
+--[[
+	Script Name		:	treeskipper.lua
+	Script Purpose	:	Waypoint Path for treeskipper.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 04:12:39 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange")
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+		spawn(NPC)
+	end
+function InRange(NPC, Spawn)
+		local choice = math.random(1,5)
+
+	if choice == 1 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_tunarianalliance/ft/eco/good/human_eco_good_tunarianalliance_hail_gm_1bda6347.mp3", "The destructive methods of the Qeynos Guard will ravage that which it seeks to defend.", "", 421213855, 4168573173, Spawn)
+	elseif choice == 2 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_tunarianalliance/ft/eco/good/human_eco_good_tunarianalliance_hail_gm_e274bc0f.mp3", "The mechanical beasts of the Ironforge Exchange belch forth black clouds to choke out life within the forests.", "", 1242578412, 4198131350, Spawn)
+	elseif choice == 3 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_tunarianalliance/ft/eco/good/human_eco_good_tunarianalliance_hail_gm_c57df74b.mp3", "I fear that the Concordium is unable to control its disciples. If corrupted the sorcerers would surely bring harm to the woodlands and their creatures.", "", 63339104, 2681140716, Spawn)
+	elseif choice == 4 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_tunarianalliance/ft/eco/good/human_eco_good_tunarianalliance_hail_gm_2c2d0ef6.mp3", "The Tunarian Alliance preserves our memories of the breathing trees and singing streams of Jaggedpine.", "", 1912930054, 3530428976, Spawn)
+	elseif choice == 5 then
+		PlayFlavor(NPC, "voiceover/english/human_eco_good_tunarianalliance/ft/eco/good/human_eco_good_tunarianalliance_hail_gm_24723d84.mp3", "While the land suffers and cries out for immediate protection the Celestial Watch is content to look to myths and superstitions for our salvation.", "", 1704735533, 1025969438, Spawn)
+	else
+	end
+end
+
+function LeaveRange(NPC, Spawn)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 448.85, -20.75, 212.18, 2, 0)
+	MovementLoopAddLocation(NPC, 448.56, -19.39, 195.8, 2, 0)
+	MovementLoopAddLocation(NPC, 462.67, -20.87, 199.08, 2, 0)
+	MovementLoopAddLocation(NPC, 495.29, -11.85, 144.64, 2, 0)
+	MovementLoopAddLocation(NPC, 527.8, -10.55, 150.67, 2, 0)
+	MovementLoopAddLocation(NPC, 560.54, -10.58, 151.39, 2, 0)
+	MovementLoopAddLocation(NPC, 617.98, -12.21, 143.91, 2, 0)
+	MovementLoopAddLocation(NPC, 619.51, -12.47, 156.58, 2, 0)
+	MovementLoopAddLocation(NPC, 621.44, -16.61, 198.37, 2, 0)
+	MovementLoopAddLocation(NPC, 681.93, -19.52, 181.63, 2, 0)
+	MovementLoopAddLocation(NPC, 691.43, -19.52, 195.66, 2, 0)
+	MovementLoopAddLocation(NPC, 701.87, -19.53, 192.37, 2, 0)
+	MovementLoopAddLocation(NPC, 704.66, -19.51, 184.42, 2, 0)
+	MovementLoopAddLocation(NPC, 706.97, -19.45, 177.25, 2, 0)
+	MovementLoopAddLocation(NPC, 710.37, -20.39, 164.85, 2, 0)
+	MovementLoopAddLocation(NPC, 710.58, -20.57, 163.84, 2, 0)
+	MovementLoopAddLocation(NPC, 713.44, -19.43, 175.98, 2, 0)
+	MovementLoopAddLocation(NPC, 718.92, -19.62, 185.98, 2, 0)
+	MovementLoopAddLocation(NPC, 721.15, -19.58, 192.81, 2, 0)
+	MovementLoopAddLocation(NPC, 711.39, -19.53, 194.73, 2, 0)
+	MovementLoopAddLocation(NPC, 707.3, -19.54, 193.15, 2, 0)
+	MovementLoopAddLocation(NPC, 698.38, -19.52, 196.11, 2, 0)
+	MovementLoopAddLocation(NPC, 688.66, -19.52, 199.3, 2, 0)
+	MovementLoopAddLocation(NPC, 686.66, -19.52, 214.73, 2, 0)
+	MovementLoopAddLocation(NPC, 670.13, -19.57, 221.33, 2, 0)
+	MovementLoopAddLocation(NPC, 649.1, -19.17, 227.69, 2, 0)
+	MovementLoopAddLocation(NPC, 612.44, -18.36, 236.41, 2, 0)
+	MovementLoopAddLocation(NPC, 582.25, -17.94, 241.81, 2, 0)
+	MovementLoopAddLocation(NPC, 559.17, -17.69, 243.04, 2, 0)
+	MovementLoopAddLocation(NPC, 483.4, -20.64, 240.69, 2, 0)
+	MovementLoopAddLocation(NPC, 461.95, -21.96, 232.57, 2, 0)
+	MovementLoopAddLocation(NPC, 449.24, -20.76, 213.14, 2, 0)
+	MovementLoopAddLocation(NPC, 449.13, -19.36, 195.78, 2, 0)
+	MovementLoopAddLocation(NPC, 449.24, -20.76, 213.14, 2, 0)
+	MovementLoopAddLocation(NPC, 461.95, -21.96, 232.57, 2, 0)
+	MovementLoopAddLocation(NPC, 483.4, -20.64, 240.69, 2, 0)
+	MovementLoopAddLocation(NPC, 559.17, -17.69, 243.04, 2, 0)
+	MovementLoopAddLocation(NPC, 582.25, -17.94, 241.81, 2, 0)
+	MovementLoopAddLocation(NPC, 612.44, -18.36, 236.41, 2, 0)
+	MovementLoopAddLocation(NPC, 649.1, -19.17, 227.69, 2, 0)
+	MovementLoopAddLocation(NPC, 670.13, -19.57, 221.33, 2, 0)
+	MovementLoopAddLocation(NPC, 686.66, -19.52, 214.73, 2, 0)
+	MovementLoopAddLocation(NPC, 688.66, -19.52, 199.3, 2, 0)
+	MovementLoopAddLocation(NPC, 698.38, -19.52, 196.11, 2, 0)
+	MovementLoopAddLocation(NPC, 707.3, -19.54, 193.15, 2, 0)
+	MovementLoopAddLocation(NPC, 711.39, -19.53, 194.73, 2, 0)
+	MovementLoopAddLocation(NPC, 721.15, -19.58, 192.81, 2, 0)
+	MovementLoopAddLocation(NPC, 718.92, -19.62, 185.98, 2, 0)
+	MovementLoopAddLocation(NPC, 713.44, -19.43, 175.98, 2, 0)
+	MovementLoopAddLocation(NPC, 710.58, -20.57, 163.84, 2, 0)
+	MovementLoopAddLocation(NPC, 710.37, -20.39, 164.85, 2, 0)
+	MovementLoopAddLocation(NPC, 706.97, -19.45, 177.25, 2, 0)
+	MovementLoopAddLocation(NPC, 704.66, -19.51, 184.42, 2, 0)
+	MovementLoopAddLocation(NPC, 701.87, -19.53, 192.37, 2, 0)
+	MovementLoopAddLocation(NPC, 691.43, -19.52, 195.66, 2, 0)
+	MovementLoopAddLocation(NPC, 681.93, -19.52, 181.63, 2, 0)
+	MovementLoopAddLocation(NPC, 621.44, -16.61, 198.37, 2, 0)
+	MovementLoopAddLocation(NPC, 619.51, -12.47, 156.58, 2, 0)
+	MovementLoopAddLocation(NPC, 617.98, -12.21, 143.91, 2, 0)
+	MovementLoopAddLocation(NPC, 560.54, -10.58, 151.39, 2, 0)
+	MovementLoopAddLocation(NPC, 527.8, -10.55, 150.67, 2, 0)
+	MovementLoopAddLocation(NPC, 495.29, -11.85, 144.64, 2, 0)
+	MovementLoopAddLocation(NPC, 462.67, -20.87, 199.08, 2, 0)
+	MovementLoopAddLocation(NPC, 448.56, -19.39, 195.8, 2, 0)
+	MovementLoopAddLocation(NPC, 448.85, -20.75, 212.18, 2, 0)
+end
+
+

+ 43 - 0
server/SpawnScripts/Qeynos/ward.lua

@@ -0,0 +1,43 @@
+--[[
+	Script Name		:	ward.lua
+	Script Purpose	:	Waypoint Path for ward.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 07:14: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)
+		spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 516.21, -9.57, 127.12, 2, 0)
+	MovementLoopAddLocation(NPC, 520.3, -9.56, 131.57, 2, 0)
+	MovementLoopAddLocation(NPC, 528.81, -9.56, 132.14, 2, 0)
+	MovementLoopAddLocation(NPC, 539.78, -9.56, 130.42, 2, 0)
+	MovementLoopAddLocation(NPC, 546.81, -8.54, 130.56, 2, 0)
+	MovementLoopAddLocation(NPC, 546.72, -6.55, 121.26, 2, 0)
+	MovementLoopAddLocation(NPC, 541.75, -5.55, 121.25, 2, 0)
+	MovementLoopAddLocation(NPC, 541.86, -3.5, 127.97, 2, 0)
+	MovementLoopAddLocation(NPC, 530.14, -3.5, 128.28, 2, 0)
+	MovementLoopAddLocation(NPC, 511.74, -3.48, 126.13, 2, 0)
+	MovementLoopAddLocation(NPC, 530.14, -3.5, 128.28, 2, 0)
+	MovementLoopAddLocation(NPC, 541.86, -3.5, 127.97, 2, 0)
+	MovementLoopAddLocation(NPC, 541.75, -5.55, 121.25, 2, 0)
+	MovementLoopAddLocation(NPC, 546.72, -6.55, 121.26, 2, 0)
+	MovementLoopAddLocation(NPC, 546.81, -8.54, 130.56, 2, 0)
+	MovementLoopAddLocation(NPC, 539.78, -9.56, 130.42, 2, 0)
+	MovementLoopAddLocation(NPC, 528.81, -9.56, 132.14, 2, 0)
+	MovementLoopAddLocation(NPC, 520.3, -9.56, 131.57, 2, 0)
+	MovementLoopAddLocation(NPC, 516.21, -9.57, 127.12, 2, 0)
+end
+
+

+ 61 - 0
server/SpawnScripts/Qeynos/woodrow.lua

@@ -0,0 +1,61 @@
+--[[
+	Script Name		:	woodrow.lua
+	Script Purpose	:	Waypoint Path for woodrow.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/11/2020 06:13:14 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+		spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 673.7, -21.14, 144.6, 2, 0)
+	MovementLoopAddLocation(NPC, 682.32, -20.67, 157.2, 2, 0)
+	MovementLoopAddLocation(NPC, 721.58, -19.64, 183.31, 2, 0)
+	MovementLoopAddLocation(NPC, 724.37, -19.88, 185.32, 2, 0)
+	MovementLoopAddLocation(NPC, 778.22, -21.01, 178.06, 2, 0)
+	MovementLoopAddLocation(NPC, 743.16, -20.65, 189.88, 2, 0)
+	MovementLoopAddLocation(NPC, 744.9, -19.02, 198.56, 2, 0)
+	MovementLoopAddLocation(NPC, 739.77, -20.59, 189.28, 2, 0)
+	MovementLoopAddLocation(NPC, 721.95, -19.32, 203.18, 2, 0)
+	MovementLoopAddLocation(NPC, 720.31, -19.56, 194.64, 2, 0)
+	MovementLoopAddLocation(NPC, 707.27, -19.53, 196.34, 2, 0)
+	MovementLoopAddLocation(NPC, 702.15, -19.49, 176.73, 2, 0)
+	MovementLoopAddLocation(NPC, 675.8, -20.59, 157.81, 2, 0)
+	MovementLoopAddLocation(NPC, 668.62, -21.19, 145.22, 2, 0)
+	MovementLoopAddLocation(NPC, 666.2, -21.3, 132.47, 2, 0)
+	MovementLoopAddLocation(NPC, 663.46, -21.16, 105.58, 2, 0)
+	MovementLoopAddLocation(NPC, 654.3, -20.75, 102.88, 2, 0)
+	MovementLoopAddLocation(NPC, 643.14, -20.66, 97.19, 2, 0)
+	MovementLoopAddLocation(NPC, 626.94, -26.4, 103.99, 2, 0)
+	MovementLoopAddLocation(NPC, 643.14, -20.66, 97.19, 2, 0)
+	MovementLoopAddLocation(NPC, 654.3, -20.75, 102.88, 2, 0)
+	MovementLoopAddLocation(NPC, 663.46, -21.16, 105.58, 2, 0)
+	MovementLoopAddLocation(NPC, 666.2, -21.3, 132.47, 2, 0)
+	MovementLoopAddLocation(NPC, 668.62, -21.19, 145.22, 2, 0)
+	MovementLoopAddLocation(NPC, 675.8, -20.59, 157.81, 2, 0)
+	MovementLoopAddLocation(NPC, 702.15, -19.49, 176.73, 2, 0)
+	MovementLoopAddLocation(NPC, 707.27, -19.53, 196.34, 2, 0)
+	MovementLoopAddLocation(NPC, 720.31, -19.56, 194.64, 2, 0)
+	MovementLoopAddLocation(NPC, 721.95, -19.32, 203.18, 2, 0)
+	MovementLoopAddLocation(NPC, 739.77, -20.59, 189.28, 2, 0)
+	MovementLoopAddLocation(NPC, 744.9, -19.02, 198.56, 2, 0)
+	MovementLoopAddLocation(NPC, 743.16, -20.65, 189.88, 2, 0)
+	MovementLoopAddLocation(NPC, 778.22, -21.01, 178.06, 2, 0)
+	MovementLoopAddLocation(NPC, 724.37, -19.88, 185.32, 2, 0)
+	MovementLoopAddLocation(NPC, 721.58, -19.64, 183.31, 2, 0)
+	MovementLoopAddLocation(NPC, 682.32, -20.67, 157.2, 2, 0)
+	MovementLoopAddLocation(NPC, 673.7, -21.14, 144.6, 2, 0)
+end
+
+

+ 1 - 1
server/SpawnScripts/QeynosHarbor/Aliindar.lua

@@ -16,7 +16,7 @@ function hailed(NPC, Spawn)
 end
 
 function respawn(NPC)
-
+spawn(NPC)
 end
 
 function InRange(NPC, Spawn)

+ 39 - 0
server/SpawnScripts/QeynosHarbor/Bilur.lua

@@ -0,0 +1,39 @@
+--[[
+	Script Name		:	Bilur.lua
+	Script Purpose	:	Waypoint Path for Bilur.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/09/2020 01:10:38 AM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 803.77, -20.99, 135.44, 2, 20)
+	MovementLoopAddLocation(NPC, 817.09, -23.31, 82.45, 2, 0)
+	MovementLoopAddLocation(NPC, 833.86, -23.31, 44.3, 2, 0)
+	MovementLoopAddLocation(NPC, 858.41, -25.37, 40.72, 2, 0)
+	MovementLoopAddLocation(NPC, 911.08, -25.39, 37.14, 2, 0)
+	MovementLoopAddLocation(NPC, 901.46, -25.37, -20.28, 2, 0)
+	MovementLoopAddLocation(NPC, 893.95, -25.34, -48.41, 2, 0)
+	MovementLoopAddLocation(NPC, 860.97, -25.44, -73.48, 2, 30)
+	MovementLoopAddLocation(NPC, 893.95, -25.34, -48.41, 2, 0)
+	MovementLoopAddLocation(NPC, 901.46, -25.37, -20.28, 2, 0)
+	MovementLoopAddLocation(NPC, 911.08, -25.39, 37.14, 2, 0)
+	MovementLoopAddLocation(NPC, 858.41, -25.37, 40.72, 2, 0)
+	MovementLoopAddLocation(NPC, 833.86, -23.31, 44.3, 2, 0)
+	MovementLoopAddLocation(NPC, 817.09, -23.31, 82.45, 2, 0)
+	MovementLoopAddLocation(NPC, 803.77, -20.99, 135.44, 2, 20)
+end
+
+

+ 85 - 0
server/SpawnScripts/QeynosHarbor/Grittlebone.lua

@@ -0,0 +1,85 @@
+--[[
+	Script Name		:	Grittlebone.lua
+	Script Purpose	:	Waypoint Path for Grittlebone.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/09/2020 02:20:34 AM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 699.65, -21.07, -56.69, 2, 0)
+	MovementLoopAddLocation(NPC, 701.36, -20.64, -17.22, 2, 0)
+	MovementLoopAddLocation(NPC, 742.06, -21.26, -16.11, 2, 0)
+	MovementLoopAddLocation(NPC, 757.23, -21, -37.66, 2, 0)
+	MovementLoopAddLocation(NPC, 802.09, -20.68, -57.13, 2, 0)
+	MovementLoopAddLocation(NPC, 805.38, -20.4, -57.77, 2, 0)
+	MovementLoopAddLocation(NPC, 876.59, -25.47, -58, 2, 0)
+	MovementLoopAddLocation(NPC, 884.84, -25.44, -52.25, 2, 0)
+	MovementLoopAddLocation(NPC, 888.65, -25.42, -47.43, 2, 0)
+	MovementLoopAddLocation(NPC, 896.08, -25.28, -26.62, 2, 0)
+	MovementLoopAddLocation(NPC, 901.3, -25.43, -7.69, 2, 0)
+	MovementLoopAddLocation(NPC, 909.2, -25.49, 17.07, 2, 0)
+	MovementLoopAddLocation(NPC, 950.04, -25.5, 31.88, 2, 0)
+	MovementLoopAddLocation(NPC, 954.98, -25.5, 24.78, 2, 0)
+	MovementLoopAddLocation(NPC, 967.68, -25.47, 12.97, 2, 0)
+	MovementLoopAddLocation(NPC, 955.83, -25.5, 24.5, 2, 0)
+	MovementLoopAddLocation(NPC, 948, -25.5, 32.1, 2, 0)
+	MovementLoopAddLocation(NPC, 921.54, -25.5, 24.57, 2, 0)
+	MovementLoopAddLocation(NPC, 867.38, -25.39, 54.18, 2, 0)
+	MovementLoopAddLocation(NPC, 857.78, -25.42, 51.13, 2, 0)
+	MovementLoopAddLocation(NPC, 838.68, -25.47, 85.56, 2, 0)
+	MovementLoopAddLocation(NPC, 837.52, -25.48, 94.61, 2, 0)
+	MovementLoopAddLocation(NPC, 848.21, -25.5, 107.24, 2, 0)
+	MovementLoopAddLocation(NPC, 864.3, -25.57, 114.45, 2, 0)
+	MovementLoopAddLocation(NPC, 881.93, -25.5, 76.31, 2, 0)
+	MovementLoopAddLocation(NPC, 889.81, -25.37, 45.9, 2, 0)
+	MovementLoopAddLocation(NPC, 858.3, -25.37, 41.26, 2, 0)
+	MovementLoopAddLocation(NPC, 833.96, -23.31, 46.12, 2, 0)
+	MovementLoopAddLocation(NPC, 863.97, -25.37, 42.07, 2, 0)
+	MovementLoopAddLocation(NPC, 864.56, -25.43, 27.31, 2, 0)
+	MovementLoopAddLocation(NPC, 847.09, -25.46, 12.55, 2, 0)
+	MovementLoopAddLocation(NPC, 864.56, -25.43, 27.31, 2, 0)
+	MovementLoopAddLocation(NPC, 863.97, -25.37, 42.07, 2, 0)
+	MovementLoopAddLocation(NPC, 833.96, -23.31, 46.12, 2, 0)
+	MovementLoopAddLocation(NPC, 858.3, -25.37, 41.26, 2, 0)
+	MovementLoopAddLocation(NPC, 889.81, -25.37, 45.9, 2, 0)
+	MovementLoopAddLocation(NPC, 881.93, -25.5, 76.31, 2, 0)
+	MovementLoopAddLocation(NPC, 864.3, -25.57, 114.45, 2, 0)
+	MovementLoopAddLocation(NPC, 848.21, -25.5, 107.24, 2, 0)
+	MovementLoopAddLocation(NPC, 837.52, -25.48, 94.61, 2, 0)
+	MovementLoopAddLocation(NPC, 838.68, -25.47, 85.56, 2, 0)
+	MovementLoopAddLocation(NPC, 857.78, -25.42, 51.13, 2, 0)
+	MovementLoopAddLocation(NPC, 867.38, -25.39, 54.18, 2, 0)
+	MovementLoopAddLocation(NPC, 921.54, -25.5, 24.57, 2, 0)
+	MovementLoopAddLocation(NPC, 948, -25.5, 32.1, 2, 0)
+	MovementLoopAddLocation(NPC, 955.83, -25.5, 24.5, 2, 0)
+	MovementLoopAddLocation(NPC, 967.68, -25.47, 12.97, 2, 0)
+	MovementLoopAddLocation(NPC, 954.98, -25.5, 24.78, 2, 0)
+	MovementLoopAddLocation(NPC, 950.04, -25.5, 31.88, 2, 0)
+	MovementLoopAddLocation(NPC, 909.2, -25.49, 17.07, 2, 0)
+	MovementLoopAddLocation(NPC, 901.3, -25.43, -7.69, 2, 0)
+	MovementLoopAddLocation(NPC, 896.08, -25.28, -26.62, 2, 0)
+	MovementLoopAddLocation(NPC, 888.65, -25.42, -47.43, 2, 0)
+	MovementLoopAddLocation(NPC, 884.84, -25.44, -52.25, 2, 0)
+	MovementLoopAddLocation(NPC, 876.59, -25.47, -58, 2, 0)
+	MovementLoopAddLocation(NPC, 805.38, -20.4, -57.77, 2, 0)
+	MovementLoopAddLocation(NPC, 802.09, -20.68, -57.13, 2, 0)
+	MovementLoopAddLocation(NPC, 757.23, -21, -37.66, 2, 0)
+	MovementLoopAddLocation(NPC, 742.06, -21.26, -16.11, 2, 0)
+	MovementLoopAddLocation(NPC, 701.36, -20.64, -17.22, 2, 0)
+	MovementLoopAddLocation(NPC, 699.65, -21.07, -56.69, 2, 0)
+end
+
+

+ 45 - 0
server/SpawnScripts/QeynosHarbor/Groban.lua

@@ -0,0 +1,45 @@
+--[[
+	Script Name		:	Highgold.lua
+	Script Purpose	:	Waypoint Path for Highgold.lua
+	Script Author	:	Auto Generated
+	Script Date		:	04/08/2020 08:13:18 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 679.82, -21.04, -115.09, 2, 0)
+	MovementLoopAddLocation(NPC, 710.6, -20.89, -66.2, 2, 2)
+	MovementLoopAddLocation(NPC, 700.37, -20.64, -15.85, 2, 5)
+	MovementLoopAddLocation(NPC, 741.96, -21.2, -14.13, 2, 8)
+	MovementLoopAddLocation(NPC, 757.77, -20.81, 7.22, 2, 1)
+	MovementLoopAddLocation(NPC, 762.62, -21.48, -45.59, 2, 0)
+	MovementLoopAddLocation(NPC, 779.17, -21.13, -45.52, 2, 0)
+	MovementLoopAddLocation(NPC, 795.39, -21, -58.93, 2, 12)
+	MovementLoopAddLocation(NPC, 745.01, -21.46, -58.01, 2, 0)
+	MovementLoopAddLocation(NPC, 715.91, -21.27, -61.53, 2, 0)
+	MovementLoopAddLocation(NPC, 676.46, -20.65, -124.59, 2, 17)
+	MovementLoopAddLocation(NPC, 715.91, -21.27, -61.53, 2, 0)
+	MovementLoopAddLocation(NPC, 745.01, -21.46, -58.01, 2, 0)
+	MovementLoopAddLocation(NPC, 795.39, -21, -58.93, 2, 5)
+	MovementLoopAddLocation(NPC, 779.17, -21.13, -45.52, 2, 0)
+	MovementLoopAddLocation(NPC, 762.62, -21.48, -45.59, 2, 0)
+	MovementLoopAddLocation(NPC, 757.77, -20.81, 7.22, 2, 0)
+	MovementLoopAddLocation(NPC, 741.96, -21.2, -14.13, 2, 0)
+	MovementLoopAddLocation(NPC, 700.37, -20.64, -15.85, 2, 0)
+	MovementLoopAddLocation(NPC, 710.6, -20.89, -66.2, 2, 0)
+	MovementLoopAddLocation(NPC, 679.82, -21.04, -115.09, 2, 0)
+end
+
+

+ 55 - 0
server/SpawnScripts/QeynosHarbor/Hanstock.lua

@@ -0,0 +1,55 @@
+--[[
+	Script Name		:	Hanstock.lua
+	Script Purpose	:	Waypoint Path for Hanstock.lua
+	Script Author	:	Auto Generated
+	Script Date		:	04/08/2020 11:54:53 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 874.28, -25.36, -62.98, 2, 0)
+	MovementLoopAddLocation(NPC, 894.59, -25.36, -50.05, 2, 0)
+	MovementLoopAddLocation(NPC, 905.14, -25.37, -20.73, 2, 0)
+	MovementLoopAddLocation(NPC, 903.37, -25.37, 14.31, 2, 0)
+	MovementLoopAddLocation(NPC, 949.04, -25.5, 30.04, 2, 0)
+	MovementLoopAddLocation(NPC, 960.34, -25.47, 18.04, 2, 0)
+	MovementLoopAddLocation(NPC, 989.2, -25.11, 15.34, 2, 30)
+	MovementLoopAddLocation(NPC, 963.89, -25.47, 16.77, 2, 0)
+	MovementLoopAddLocation(NPC, 947.16, -25.5, 30.8, 2, 0)
+	MovementLoopAddLocation(NPC, 934.16, -25.52, 25.45, 2, 0)
+	MovementLoopAddLocation(NPC, 922.35, -25.49, 51.75, 2, 0)
+	MovementLoopAddLocation(NPC, 859.14, -25.37, 40.63, 2, 0)
+	MovementLoopAddLocation(NPC, 836.86, -23.28, 43, 2, 0)
+	MovementLoopAddLocation(NPC, 820.26, -23.32, 78.33, 2, 0)
+	MovementLoopAddLocation(NPC, 812.84, -23.31, 104.84, 2, 0)
+	MovementLoopAddLocation(NPC, 802.18, -20.93, 141.48, 2, 0)
+	MovementLoopAddLocation(NPC, 812.84, -23.31, 104.84, 2, 0)
+	MovementLoopAddLocation(NPC, 820.26, -23.32, 78.33, 2, 0)
+	MovementLoopAddLocation(NPC, 836.86, -23.28, 43, 2, 0)
+	MovementLoopAddLocation(NPC, 859.14, -25.37, 40.63, 2, 0)
+	MovementLoopAddLocation(NPC, 922.35, -25.49, 51.75, 2, 0)
+	MovementLoopAddLocation(NPC, 934.16, -25.52, 25.45, 2, 0)
+	MovementLoopAddLocation(NPC, 947.16, -25.5, 30.8, 2, 0)
+	MovementLoopAddLocation(NPC, 963.89, -25.47, 16.77, 2, 0)
+	MovementLoopAddLocation(NPC, 989.2, -25.11, 15.34, 2, 0)
+	MovementLoopAddLocation(NPC, 960.34, -25.47, 18.04, 2, 0)
+	MovementLoopAddLocation(NPC, 949.04, -25.5, 30.04, 2, 0)
+	MovementLoopAddLocation(NPC, 903.37, -25.37, 14.31, 2, 0)
+	MovementLoopAddLocation(NPC, 905.14, -25.37, -20.73, 2, 0)
+	MovementLoopAddLocation(NPC, 894.59, -25.36, -50.05, 2, 0)
+	MovementLoopAddLocation(NPC, 874.28, -25.36, -62.98, 2, 0)
+end
+
+

+ 45 - 0
server/SpawnScripts/QeynosHarbor/Highgold.lua

@@ -0,0 +1,45 @@
+--[[
+	Script Name		:	Highgold.lua
+	Script Purpose	:	Waypoint Path for Highgold.lua
+	Script Author	:	Auto Generated
+	Script Date		:	04/08/2020 08:13:18 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 679.82, -21.04, -115.09, 2, 0)
+	MovementLoopAddLocation(NPC, 708.6, -20.89, -66.2, 2, 2)
+	MovementLoopAddLocation(NPC, 698.37, -20.64, -15.85, 2, 5)
+	MovementLoopAddLocation(NPC, 739.96, -21.2, -14.13, 2, 8)
+	MovementLoopAddLocation(NPC, 755.77, -20.81, 7.22, 2, 1)
+	MovementLoopAddLocation(NPC, 762.62, -21.48, -45.59, 2, 0)
+	MovementLoopAddLocation(NPC, 779.17, -21.13, -45.52, 2, 0)
+	MovementLoopAddLocation(NPC, 795.39, -21, -58.93, 2, 12)
+	MovementLoopAddLocation(NPC, 745.01, -21.46, -58.01, 2, 0)
+	MovementLoopAddLocation(NPC, 715.91, -21.27, -61.53, 2, 0)
+	MovementLoopAddLocation(NPC, 676.46, -20.65, -124.59, 2, 17)
+	MovementLoopAddLocation(NPC, 715.91, -21.27, -61.53, 2, 0)
+	MovementLoopAddLocation(NPC, 745.01, -21.46, -58.01, 2, 0)
+	MovementLoopAddLocation(NPC, 793.71 -21.05 -58.65, 2, 9)
+	MovementLoopAddLocation(NPC, 779.17, -21.13, -45.52, 2, 0)
+	MovementLoopAddLocation(NPC, 762.62, -21.48, -45.59, 2, 0)
+	MovementLoopAddLocation(NPC, 757.77, -20.81, 7.22, 2, 0)
+	MovementLoopAddLocation(NPC, 741.96, -21.2, -14.13, 2, 0)
+	MovementLoopAddLocation(NPC, 698.37, -20.64, -15.85, 2, 0)
+	MovementLoopAddLocation(NPC, 710.6, -20.89, -66.2, 2, 0)
+	MovementLoopAddLocation(NPC, 679.82, -21.04, -115.09, 2, 0)
+end
+
+

+ 39 - 0
server/SpawnScripts/QeynosHarbor/Oakhall.lua

@@ -0,0 +1,39 @@
+--[[
+	Script Name		:	Bilur.lua
+	Script Purpose	:	Waypoint Path for Bilur.lua
+	Script Author	:	Devn00b
+	Script Date		:	04/09/2020 01:10:38 AM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 802.60, -20.97, 136.78, 2, 20)
+	MovementLoopAddLocation(NPC, 817.09, -23.31, 82.45, 2, 0)
+	MovementLoopAddLocation(NPC, 833.86, -23.31, 44.3, 2, 0)
+	MovementLoopAddLocation(NPC, 858.41, -25.37, 40.72, 2, 0)
+	MovementLoopAddLocation(NPC, 911.08, -25.39, 37.14, 2, 0)
+	MovementLoopAddLocation(NPC, 901.46, -25.37, -20.28, 2, 0)
+	MovementLoopAddLocation(NPC, 893.95, -25.34, -48.41, 2, 0)
+	MovementLoopAddLocation(NPC, 862.91, -25.43, -73.88, 2, 30)
+	MovementLoopAddLocation(NPC, 893.95, -25.34, -48.41, 2, 0)
+	MovementLoopAddLocation(NPC, 901.46, -25.37, -20.28, 2, 0)
+	MovementLoopAddLocation(NPC, 911.08, -25.39, 37.14, 2, 0)
+	MovementLoopAddLocation(NPC, 858.41, -25.37, 40.72, 2, 0)
+	MovementLoopAddLocation(NPC, 833.86, -23.31, 44.3, 2, 0)
+	MovementLoopAddLocation(NPC, 817.09, -23.31, 82.45, 2, 0)
+	MovementLoopAddLocation(NPC, 802.60, -20.97, 136.78, 2, 20)
+end
+
+

+ 51 - 0
server/SpawnScripts/QeynosHarbor/Pepper.lua

@@ -0,0 +1,51 @@
+--[[
+	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)
+	spawn(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
+
+

+ 50 - 0
server/SpawnScripts/QeynosHarbor/Pottsby.lua

@@ -0,0 +1,50 @@
+--[[
+	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
+
+

+ 35 - 0
server/SpawnScripts/QeynosHarbor/Warland.lua

@@ -0,0 +1,35 @@
+--[[
+	Script Name		:	Warland.lua
+	Script Purpose	:	Waypoint Path for Warland.lua
+	Script Author	:	Auto Generated
+	Script Date		:	04/08/2020 10:30:14 PM
+	Script Notes	:	Locations collected from Live
+--]]
+
+function spawn(NPC)
+	waypoints(NPC)
+end
+
+function hailed(NPC, Spawn)
+	FaceTarget(NPC, Spawn)
+end
+
+function respawn(NPC)
+	spawn(NPC)
+	end
+
+function waypoints(NPC)
+	MovementLoopAddLocation(NPC, 705.82, -20.64, -22.54, 2, 0)
+	MovementLoopAddLocation(NPC, 740.93, -21.44, -22.18, 2, 0)
+	MovementLoopAddLocation(NPC, 757.61, -20.88, -35.3, 2, 0)
+	MovementLoopAddLocation(NPC, 764.83, -21.84, -55.37, 2, 0)
+	MovementLoopAddLocation(NPC, 727.1, -21.24, -63.05, 2, 0)
+	MovementLoopAddLocation(NPC, 710.11, -21.06, -83.53, 2, 20)
+	MovementLoopAddLocation(NPC, 727.1, -21.24, -63.05, 2, 0)
+	MovementLoopAddLocation(NPC, 764.83, -21.84, -55.37, 2, 0)
+	MovementLoopAddLocation(NPC, 757.61, -20.88, -35.3, 2, 0)
+	MovementLoopAddLocation(NPC, 740.93, -21.44, -22.18, 2, 0)
+	MovementLoopAddLocation(NPC, 705.82, -20.64, -22.54, 2, 0)
+end
+
+

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません