Browse Source

Update Server folder Quests to Current

devn00b 1 year ago
parent
commit
7a2769fc27
100 changed files with 4657 additions and 105 deletions
  1. 34 0
      server/ItemScripts/AcommemorativeFreeportCoin.lua
  2. 151 5
      server/ItemScripts/AcommemorativeQeynosCoin.lua
  3. 18 0
      server/ItemScripts/AquaticResearchNotebook.lua
  4. 113 0
      server/ItemScripts/BasicMiningGuidePartOne.lua
  5. 114 0
      server/ItemScripts/BasicMiningGuidePartTwo.lua
  6. 16 0
      server/ItemScripts/BloodofRallosEnemies.lua
  7. 43 0
      server/ItemScripts/CastleviewHamletcitizenshiptask.lua
  8. 149 0
      server/ItemScripts/DeepMarshes.lua
  9. 10 0
      server/ItemScripts/DwarvenBattleBread.lua
  10. 32 0
      server/ItemScripts/FallenPiratesMap.lua
  11. 26 0
      server/ItemScripts/GoblinAttackPlan.lua
  12. 5 2
      server/ItemScripts/GoblinTerritoryMarker.lua
  13. 49 0
      server/ItemScripts/GraystoneYardcitizenshiptask.lua
  14. 17 0
      server/ItemScripts/Incense.lua
  15. 41 0
      server/ItemScripts/Nettlevillecitizenshiptask.lua
  16. 15 0
      server/ItemScripts/SkinsoftheInferior.lua
  17. 50 0
      server/ItemScripts/StarcrestCommunecitizenshiptask.lua
  18. 49 0
      server/ItemScripts/TheBaubbleshirecitizenshiptask.lua
  19. 150 0
      server/ItemScripts/TheCommandersWife.lua
  20. 116 0
      server/ItemScripts/TheGreatFloodofBlackburrow.lua
  21. 70 0
      server/ItemScripts/TheJournaloftheSunWolf.lua
  22. 148 0
      server/ItemScripts/TheLadyoftheLake.lua
  23. 8 3
      server/ItemScripts/VisionsofColdwindPoint.lua
  24. 50 0
      server/ItemScripts/WillowWoodcitizenshiptask.lua
  25. 60 0
      server/ItemScripts/aBagofBasicProvisions.lua
  26. 16 0
      server/ItemScripts/aTarnishedsilverkey.lua
  27. 16 0
      server/ItemScripts/abadlypolishedsteelkey.lua
  28. 16 0
      server/ItemScripts/abrokenmorningstar.lua
  29. 16 0
      server/ItemScripts/afilthybronzekey.lua
  30. 2 2
      server/ItemScripts/agnollpaw.lua
  31. 4 3
      server/ItemScripts/anoldnote.lua
  32. 15 0
      server/ItemScripts/anunfinishedbreastplate.lua
  33. 16 0
      server/ItemScripts/aropedstaff.lua
  34. 82 0
      server/ItemScripts/asandyboneshardClassic.lua
  35. 16 0
      server/ItemScripts/aspikedstrip.lua
  36. 21 21
      server/ItemScripts/cure_test.lua
  37. 16 0
      server/ItemScripts/lockedhandcuffs.lua
  38. 1 1
      server/Quests/Antonica/a_bow_for_a_beauty.lua
  39. 93 0
      server/Quests/Antonica/a_crude_gnoll_map.lua
  40. 2 2
      server/Quests/Antonica/does_the_underforge_exist.lua
  41. 1 0
      server/Quests/Antonica/lord_grimrots_scythe.lua
  42. 166 0
      server/Quests/Antonica/pecketts_patrol.lua
  43. 5 5
      server/Quests/Antonica/qeynosian_civil_service.lua
  44. 3 3
      server/Quests/Antonica/the_balance_of_life.lua
  45. 45 0
      server/Quests/Antonica/the_cavemaws_sinister_map.lua
  46. 60 0
      server/Quests/Antonica/the_whereabouts_of_clan_mcmarrin.lua
  47. 7 1
      server/Quests/Antonica/there_mite_be_trouble.lua
  48. 1 1
      server/Quests/Antonica/visions_of_coldwind_point.lua
  49. 23 14
      server/Quests/Baubbleshire/GatheringRockSamples.lua
  50. 7 5
      server/Quests/Baubbleshire/badger_pelts_for_diggs.lua
  51. 1 1
      server/Quests/Baubbleshire/fight_the_forgotten_guardians.lua
  52. 1 1
      server/Quests/Baubbleshire/in_search_of_the_shrine_of_estle.lua
  53. 1 1
      server/Quests/Baubbleshire/in_search_of_the_tower_of_the_order_of_three.lua
  54. 13 9
      server/Quests/Baubbleshire/nylas_pie_thief.lua
  55. 1 1
      server/Quests/Baubbleshire/oro_rootforlozoria.lua
  56. 8 4
      server/Quests/Baubbleshire/picnic_basket_for_yola.lua
  57. 8 6
      server/Quests/Baubbleshire/spindlecogs_new_job_.lua
  58. 52 0
      server/Quests/BeggarsCourt/99_bottles_of_beer_in_my_hand.lua
  59. 56 0
      server/Quests/BeggarsCourt/advanced_problem_solving.lua
  60. 52 0
      server/Quests/BeggarsCourt/an_errand_for_the_queen.lua
  61. 52 0
      server/Quests/BeggarsCourt/antius_package.lua
  62. 61 0
      server/Quests/BeggarsCourt/big_trouble_in_beggars_court.lua
  63. 52 0
      server/Quests/BeggarsCourt/casing_the_joint.lua
  64. 74 0
      server/Quests/BeggarsCourt/deliver_help_to_janus_fieri.lua
  65. 52 0
      server/Quests/BeggarsCourt/finding_the_stash_.lua
  66. 52 0
      server/Quests/BeggarsCourt/free_wares_for_silentblade.lua
  67. 53 0
      server/Quests/BeggarsCourt/get_rich_quick.lua
  68. 41 0
      server/Quests/BeggarsCourt/into_the_sewers_for_lucius.lua
  69. 50 0
      server/Quests/BeggarsCourt/joining_the_gang.lua
  70. 51 0
      server/Quests/BeggarsCourt/marcus_cantariuss_monumental_hatred.lua
  71. 45 0
      server/Quests/BeggarsCourt/meet_the_inquisitor.lua
  72. 56 0
      server/Quests/BeggarsCourt/problem_solving.lua
  73. 53 0
      server/Quests/BeggarsCourt/running_for_a_candidate.lua
  74. 34 14
      server/Quests/BeggarsCourt/saving_history.lua
  75. 51 0
      server/Quests/BeggarsCourt/siricus_and_the_militia.lua
  76. 51 0
      server/Quests/BeggarsCourt/the_nyghtfallow_heirloom.lua
  77. 52 0
      server/Quests/BeggarsCourt/to_spite_a_darkleaf.lua
  78. 53 0
      server/Quests/BeggarsCourt/tricking_the_traitor.lua
  79. 74 0
      server/Quests/BigBend/a_subtle_reminder_.lua
  80. 73 0
      server/Quests/BigBend/ay_theres_the_rubbish.lua
  81. 93 0
      server/Quests/BigBend/bronas_guard_check.lua
  82. 52 0
      server/Quests/BigBend/bronas_thralls.lua
  83. 52 0
      server/Quests/BigBend/donations_from_the_banker.lua
  84. 46 0
      server/Quests/BigBend/dwarven_payback.lua
  85. 53 0
      server/Quests/BigBend/funny_rat_smashing.lua
  86. 69 0
      server/Quests/BigBend/gnomore_gnomesteaks.lua
  87. 51 0
      server/Quests/BigBend/hops_for_galenus.lua
  88. 46 0
      server/Quests/BigBend/more_barshing.lua
  89. 125 0
      server/Quests/BigBend/much_ado_about_rallos.lua
  90. 52 0
      server/Quests/BigBend/muzmogs_rat_smashing_fun.lua
  91. 52 0
      server/Quests/BigBend/paying_the_tab.lua
  92. 54 0
      server/Quests/BigBend/rat_barsh.lua
  93. 56 0
      server/Quests/BigBend/search_for_the_shrubbery.lua
  94. 82 0
      server/Quests/BigBend/secret_of_the_troll.lua
  95. 53 0
      server/Quests/BigBend/skaggas_signs.lua
  96. 54 0
      server/Quests/BigBend/skin_for_skaaga.lua
  97. 53 0
      server/Quests/BigBend/sorios_dog_hunt.lua
  98. 52 0
      server/Quests/BigBend/sorios_giantslayer_problem.lua
  99. 54 0
      server/Quests/BigBend/swamp_water_stew.lua
  100. 51 0
      server/Quests/BigBend/that_slippery_toad.lua

+ 34 - 0
server/ItemScripts/AcommemorativeFreeportCoin.lua

@@ -0,0 +1,34 @@
+--[[
+    Script Name    : ItemScripts/AcommemorativeFreeportCoin.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.10.06 02:10:53
+    Script Purpose : 
+                   : 
+--]]
+
+function examined(Item, Player)
+conversation = CreateConversation()
+PlayFlavor(Player,"voiceover/english/tullia_domna/fprt_hood04/quests/tulladomna/tulla_x1_initial.mp3","","",309451026,621524268,Player)
+--PlayFlavor(Player,"voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech.mp3","","",2912329438, 4090300715,Player)
+
+	local choice = MakeRandomInt(1,6)
+
+	if choice == 1 then
+		PlayFlavor(Player, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_4.mp3", "You show potential, but there are many who seek the auspices of Lucan, and I only have time for champions.", "", 2060818628, 3998142234, Player, 0)
+	elseif choice == 2 then
+		PlayFlavor(Player, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_5.mp3", "Prove yourself, and I shall grant you shelter at the edge of my city, and the chance to earn your place as a proud citizen of Freeport.", "", 4115014723, 2723692261, Player, 0)
+	elseif choice == 3 then
+		PlayFlavor(Player, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_8.mp3", "Together we will restore the glory of ages past, crush the Sons of Zek, and sweep aside the decadent nation of Qeynos!", "", 140890899, 2835297833, Player, 0)
+	elseif choice == 4 then
+		PlayFlavor(Player, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_9.mp3", "With my guidance, you shall gain power and glory as you have never imagined, but should you turn against me, you will find that my wrath is a terrible thing ... Now go!", "", 3855854568, 2247480313, Player, 0)
+	elseif choice == 5 then
+		PlayFlavor(Player, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_7.mp3", "Succeed, and you will share the fortunes of Freeport as we reshape this broken world.", "", 2666628260, 1943756642, Player, 0)
+	elseif choice == 6 then
+		PlayFlavor(Player, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_6.mp3", "Go now, and begin the trials that I have set for you.", "", 1244918730, 586509135, Player, 0)
+	end
+
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "As you clutch the coin in your hand, you hear a voice magically speaking in your mind.")
+
+end
+

+ 151 - 5
server/ItemScripts/AcommemorativeQeynosCoin.lua

@@ -2,24 +2,170 @@
     Script Name    : ItemScripts/AcommemorativeQeynosCoin.lua
     Script Author  : Dorbin
     Script Date    : 2022.05.30 08:05:12
-    Script Purpose : 
+    Script Purpose : a commemorative coin speech broken into sections EMU players can hear.
                    : 
 --]]
-require "SpawnScripts/Generic/DialogModule"
 
 function examined(Item, Player)
-if HasCompletedQuest(Player,164) then
+choice = MakeRandomInt(0,100)
+if choice >=2 then
 conversation = CreateConversation()
+PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_1.mp3", "", "", 499186274, 1744595600, Player)
+    -- PlayFlavor(Player,"voiceover/english/tullia_domna/fprt_hood04/quests/tulladomna/tulla_x1_initial.mp3","","",309451026,621524268,Player)
+    --	PlayFlavor(Player,"voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech.mp3","","", 2297205435, 1273418227,Player)
+AddConversationOption(conversation, "\"Many among you...\"", "visage03")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "As you clutch the coin in your hand, you hear a voice magically speaking in your mind.                                                                                                                                      \"Good traveler, you have seen much in your journey, and now you seek refuge in our humble City of Qeynos. As ruler and servant of the good people of Qeynos, I, Antonia Bayle, welcome you.\"")
+else
+conversation = CreateConversation() -- A SECRET DEEP DIVE INTO ANTONIA'S THOUGHTS (This is in jest, obviously)
 PlayFlavor(Player,"voiceover/english/tullia_domna/fprt_hood04/quests/tulladomna/tulla_x1_initial.mp3","","",309451026,621524268,Player)
 AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
 StartDialogConversation(conversation, 2, Item, Player, "As you clutch the coin in your hand, you hear a voice magically speaking in your mind.")
-else
+end
+end
+
+function visage03(Item, Player)
+conversation = CreateConversation()
+PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_2.mp3", "", "", 2366466723, 1207173576, Player)
+AddConversationOption(conversation, "\"If you are tired...\"", "visage04")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"Many among you have traveled great distances, enduring hardships and facing terrible dangers.\"")
+end
+
+function visage04(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_3.mp3", "", "", 1841028977, 3133868486, Player)
+AddConversationOption(conversation, "\"You shall...\"", "visage05")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"If you are tired, cold or hungry, if you flee persecution, poverty or injustice, be comforted, there is a place at our hearth for you.\"")
+end
+
+function visage05(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_4.mp3", "", "", 2202564065, 871912515, Player)
+AddConversationOption(conversation, "\"Our own...\"", "visage06")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"You shall find rest in Qeynos.\"")
+end
+
+function visage06(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_5.mp3", "", "", 1129117607, 63248962, Player)
+AddConversationOption(conversation, "\"Your safety...\"", "visage07")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"Our own Qeynos guard pledges its service to your security.\"")
+end
+
+function visage07(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_6.mp3", "", "", 1663362626, 2717555718, Player)
+AddConversationOption(conversation, "\"The tribulations of Qeynos...\"", "visage08")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"Your safety and peace is our sacred trust.\"")
+end
+
+function visage08(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_7.mp3", "", "", 3755081144, 1816040948, Player)
+AddConversationOption(conversation, "\"If Qeynos has endured...\"", "visage09")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"The tribulations of Qeynos during the Age of Cataclysms are legendary -- destruction, plagues, horrors both natural and unnatural...\"")
+end
+
+function visage09(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_8.mp3", "", "", 1646438592, 3991623974, Player)
+AddConversationOption(conversation, "\"Prepare yourself...\"", "visage10")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"If Qeynos has endured, it is because of the steadfast loyalty and courage of her people.\"")
+end
+
+function visage10(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_9.mp3", "", "", 2292019727, 2112049669, Player)
+AddConversationOption(conversation, "\"All who yearn...\"", "visage11")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"Prepare yourself. When you enter the city gates, you accept the challenge of citizenship.\"")
+end
+
+function visage11(Item, Player)
 conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_10.mp3", "", "", 1463066361, 618547599, Player)
+AddConversationOption(conversation, "\"Your loyalty...\"", "visage12")
 AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
-StartDialogConversation(conversation, 2, Item, Player, "The coin is cold and unresponsive.  You feel a slight twinge of guilt, as if the coin knows you didn't obtain it appropriately.")
+StartDialogConversation(conversation, 2, Item, Player, "\"All who yearn to fully participate in the center of Qeynos must first prove themselves.\"")
 end
+
+function visage12(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_11.mp3", "", "", 3316158990, 3680571955, Player)
+AddConversationOption(conversation, "\"Qeynosians are...\"", "visage13")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"Your loyalty will be tested, for you must earn the right to be called citizen.\"")
+end
+
+function visage13(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_12.mp3", "", "", 2036336595, 3509341224, Player)
+AddConversationOption(conversation, "\"No doubt...\"", "visage14")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"Qeynosians are generous to travelers, but harsh with traitors.\"")
+end
+
+function visage14(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_13.mp3", "", "", 2730892750, 1805998546, Player)
+AddConversationOption(conversation, "\"I see...\"", "visage15")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"No doubt you have heard the boasting of Lucan De'Lere.\"")
+end
+
+function visage15(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_14.mp3", "", "", 1986999100, 3686223802, Player)
+AddConversationOption(conversation, "\"I trust...\"", "visage16")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"I see, however, that his lies have not enticed you into Freeport. Be grateful and thank the gods; you would not find a restful sanctuary there.\"")
+end
+
+function visage16(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_15.mp3", "", "", 3873638463, 3215411094, Player)
+AddConversationOption(conversation, "\"If this be not...\"", "visage17")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"I trust that you do not share in Lucan's deceit, and that the well-being of Qeynos and its people is in your heart.\"")
 end
 
+function visage17(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_16.mp3", "", "", 3813230568, 886823992, Player)
+AddConversationOption(conversation, "\"If, however...\"", "visage18")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"If this be not the truth, take heed: treachery will not be suffered here.\"")
+end
+
+function visage18(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_17.mp3", "", "", 3518095686, 1014640100, Player)
+AddConversationOption(conversation, "\"Now enter...\"", "visage19")
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"If, however, you are as true and loyal as you seem, then may your life in Qeynos be abundant in blessings.\"")
+end
+
+function visage19(Item, Player)
+conversation = CreateConversation()
+    PlayFlavor(Player, "voiceover/english/queen_antonia_bayle/qey_north/antonia_isle_speech_18.mp3", "", "", 1587099913, 694440967, Player)
+AddConversationOption(conversation, "Put the coin away.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"Now enter good traveler, and find your place among us.\"")
+end
+
+
+
+
+
+
+
+
 function CloseConvo(Item,Player)
     CloseItemConversation(Item,Player)
 end

+ 18 - 0
server/ItemScripts/AquaticResearchNotebook.lua

@@ -0,0 +1,18 @@
+--[[
+    Script Name    : ItemScripts/AquaticResearchNotebook.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.25 06:09:58
+    Script Purpose : 
+                   : 
+--]]
+
+function examined(Item, Player)
+  local zone = GetZone(Player)
+if GetZoneID(zone)~= 325 then
+    	SendMessage(Player, "The notebook is a research manual for aquatic creatures living on the Isle of Refuge.  It won't do you any good now that you have left the isle.")
+else
+if not HasQuest(Player,5757) and not HasCompletedQuest(Player, 5757) then
+ OfferQuest(nil,Player,5757)
+end
+end
+end

+ 113 - 0
server/ItemScripts/BasicMiningGuidePartOne.lua

@@ -0,0 +1,113 @@
+--[[
+    Script Name    : ItemScripts/BasicMiningGuidePartOne.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.27 03:07:27
+    Script Purpose : 
+                   : 
+--]]
+
+local BasicMinersGuidePartOne = 5705
+
+function examined(Item, Player)
+if not HasQuest(Player, BasicMinersGuidePartOne) and not HasCompletedQuest(Player, BasicMinersGuidePartOne) then
+OfferQuest(nil, Player, BasicMinersGuidePartOne)
+end
+conversation = CreateConversation()
+AddConversationOption(conversation, "Entry One", "EntryOne")
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The mining way is the way of the future.  It is also the way of the past.  Come, pups, I will tell you why the Sabertooth gnolls are famous for mining!  You will learn much.")
+   end
+
+function EntryOne(Item, Player)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartOne, 1) then
+AddConversationOption(conversation, "Entry Two", "EntryTwo")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "It is dark.  In the mines we work by the light of our lamps.   We must dig for ore.  Ore can be sold.  Ore can be made into things.  Therefore, we mine.  Gnolls, the Sabertooth gnolls, have a keen sense of smell.  We smell the ore beneath the earth, behind the rocks and underground.  That led us to Blackburrow many, many years ago.")
+end
+
+function EntryTwo(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartOne, 2)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartOne, 3) then
+AddConversationOption(conversation, "Entry Three", "EntryThree")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Unlike the trotters, we Sabertooth gnolls are clever.  We found something precious and we stay with it.  Before mining, we preyed on what caught our fancy.  Then we were enlightened and some of us turned to mining to support our Clan.  For it was told to us by the Great Sage, \"The furless light their darkness and we can be their light!\"")
+end
+
+function EntryThree(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartOne, 4)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartOne, 5) then
+AddConversationOption(conversation, "Entry Four", "EntryFour")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The Great Sage was not a miner.  He knew the language of the furless and taught it to us.  He taught us many things he learned in his travels.  Not a trotter, no!  He went among them to learn their ways and teach us so that we would be strong.  Our mines we had, but mostly kept them because even if we did not use them, we did not want anyone else to use them.")
+end
+
+function EntryFour(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartOne, 6)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartOne, 7) then
+AddConversationOption(conversation, "Entry Five", "EntryFive")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "We learned what rocks would sell to the furless.  Sometimes they would try to remove the Clan by force, but we would chase them from the lowest caverns to the entrance.  They were trained to run swiftly away through the many tunnels.  We chased them for sport.  We chased them to keep them away from our mines.  They never learned.")
+end
+
+function EntryFive(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartOne, 8)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartOne, 9) then
+AddConversationOption(conversation, "Entry Six", "EntrySix")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The furless fought each other, which was good for the Clan.  If they fought each other, they would not bother us.  We worked in the dark in our mines, our paws flowing with ore.  While the furless fought, we kept to ourselves.  The Clan is not interested in the wars of those who do not believe in the Great Sage.")
+end
+
+
+function EntrySix(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartOne, 10)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartOne, 11) then
+AddConversationOption(conversation, "Entry Seven", "EntrySeven")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Now, a word about mining itself, pups.  To mine successfully, get a pick.  A pick has a sharp, pointed end like a fang.  You swing this at the stones hiding the ore.  Swing, swing again.  The stones crumble and are pulled away.  The ore shows.  Then the miners bring carts that are rolled from the depths full of ore.  That is the basic mining principle. Now back to our history.")
+end
+
+function EntrySeven(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartOne, 12)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartOne, 13) then
+AddConversationOption(conversation, "Entry Eight", "EntryEight")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "We mined into the depths, we used the mining ways of old.  Remove stone, find ore.  Remove ore.  For generations, we mined the Blackburrow.  In some of the hollows, we kept our mates and offspring.  In some of the hollows, we stored our food.  Through the years the furless fought, we kept our ways.")
+end
+
+function EntryEight(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartOne, 14)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartOne, 15) then
+AddConversationOption(conversation, "Entry Nine", "EntryNine")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "But the furless were not content with fighting each other.  No! They brought their wars to the Clan.  Not interested in our ore, but our tunnels.  The tunnels! Worthless to any but the gnoll who can see fine in the dark.  They came in anyway, forcing us from our hollows.  They were huge and green and fur would not improve their looks.")
+end
+
+function EntryNine(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartOne, 16)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartOne, 17) then
+AddConversationOption(conversation, "Entry Ten", "EntryTen")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The Clan is clever.  We let them think we gave way before them.  But we had other, secret ways beneath the Blackburrow.  Some of the furless found them.  They used our secret, sacred tunnels to gather their strength.  They ate our stores of food.  They drove away the weak.  Curse them, in our secret places!")
+end
+
+function EntryTen(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartOne, 18)
+end

+ 114 - 0
server/ItemScripts/BasicMiningGuidePartTwo.lua

@@ -0,0 +1,114 @@
+--[[
+    Script Name    : ItemScripts/BasicMiningGuidePartTwo.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.27 05:07:56
+    Script Purpose : 
+                   : 
+--]]
+
+local  SabertoothMinersGuidePartTwo = 5706
+
+function examined(Item, Player)
+if not HasQuest(Player, SabertoothMinersGuidePartTwo) and not HasCompletedQuest(Player, SabertoothMinersGuidePartTwo) then
+OfferQuest(nil, Player, SabertoothMinersGuidePartTwo)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Entry One", "EntryOne")
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "This is the second part of the Sabertooth gnoll's mining history, covering their history after Blackburrow was invaded by the Horde.")
+end
+   end
+
+function EntryOne(Item, Player)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartTwo, 1) then
+AddConversationOption(conversation, "Entry Two", "EntryTwo")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The Great Sage had said, \"Dark times mean there's not enough light.\"  He was right.  They came up from beneath us, surprising us within our own mines.  We fled to deeper tunnels only to find them overrun by the furless as well.  They attacked our young pups.  They ate our stores of food.  We howled with rage and our voices echoed, but still the furless came.")
+end
+
+function EntryTwo(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartTwo, 2)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartTwo, 3) then
+AddConversationOption(conversation, "Entry Three", "EntryThree")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "They said at first they were just passing through.  Most of them did, going on to battle the furless of the walled cities.  But many more came and stayed.  There were many of them.  They offered to remove us from our mines and we refused.  First, they started attacking our miners.  Later, we decided to let them stay if we had our pickings from the battlefields.  They agreed.")
+end
+
+function EntryThree(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartTwo, 4)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartTwo, 5) then
+AddConversationOption(conversation, "Entry Four", "EntryFour")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Around this time, we picked up some of their words.  Not many, only a few.  Handy for knowing their secrets.  They had already taken the furless north.  They were going to take the furless south, too.  Our tunnels and mines would be famous!  We wished it were famous because of us.  Then we remembered the words of the Great Sage, \"Famous is as famous does.\"  We have no idea what that means.  It comforted us.")
+end
+
+function EntryFour(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartTwo, 6)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartTwo, 7) then
+AddConversationOption(conversation, "Entry Five", "EntryFive")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "For many years the furless trooped through the Blackburrow.  They ate all our stores.  They stole what ore we had produced.  Then, suddenly as they appeared, they retreated.  Some of our best scouts reported that something bad had happened on the battlefield.  The bodies of furless were piled high.  Their faces were twisted in pain.  Maybe it was something they ate.")
+end
+
+
+function EntryFive(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartTwo, 8)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartTwo, 9) then
+AddConversationOption(conversation, "Entry Six", "EntrySix")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "After that time, the Clan rebuilt some of the deepest tunnels.  We closed off some of our secret entrances.  They weren't as secret as we'd thought.  Some of the tunnels were so wide across it took years to close them off.  We could have saved the effort if we'd known what would be coming within a generation or so.")
+end
+
+
+function EntrySix(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartTwo, 10)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartTwo, 11) then
+AddConversationOption(conversation, "Entry Seven", "EntrySeven")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The shaking woke everyone up.  Big stones fell in the mines.  Some miners were killed.  Some lost their tails.  We left the lowest tunnels.  Many tunnels filled with water.  When the water would drain away, the walls fell in.  Many of the excavators grumbled about the wasted work below.  Sometimes, whole tunnels collapsed on themselves.  It was an uneasy time.")
+end
+
+function EntrySeven(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartTwo, 12)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartTwo, 13) then
+AddConversationOption(conversation, "Entry Eight", "EntryEight")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The furless called this time \"the Rending,\" and were afraid.  The Clan wasn't afraid.  We were disappointed.  All our work to close off the lowest tunnels was already done.  The Clan is clever.  If we'd known, we'd have saved our strength for other things.  Since we no longer needed to block old entries, we cleaned up the upper levels.  The furless came to us, begging for shelter.  We put them in the storerooms till we needed them.")
+end
+
+function EntryEight(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartTwo, 14)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartTwo, 15) then
+AddConversationOption(conversation, "Entry Nine", "EntryNine")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Things were quiet for generations.  Then the moon, the new one, broke up in the sky.  The furless fell to the ground, begging for help from their gods.  The Clan was not afraid.  We have the words of the Great Sage to guide us.  He had said, \"Dig deep,\" so we did.  Some of the Clan had forgot that the lowest tunnels were gone.  We never saw them again.")
+end
+
+function EntryNine(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartTwo, 16)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, BasicMinersGuidePartTwo, 17) then
+AddConversationOption(conversation, "Entry Ten", "EntryTen")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Lucky for us, we have an underground home.  The surface was hit by big rocks.  A lot of things died.  We were safe in the Blackburrow.  Some of the old tunnels are filled with spiders.  Big spiders.  We mine the other levels.  Some went down to clear out the spiders.  They got stuck in the webs.  These are big spiders.")
+end
+
+function EntryTen(Item, Player)
+SetStepComplete(Player, BasicMinersGuidePartTwo, 18)
+end

+ 16 - 0
server/ItemScripts/BloodofRallosEnemies.lua

@@ -0,0 +1,16 @@
+--[[
+    Script Name    : ItemScripts/BloodofRallosEnemies.lua
+    Script Author  : torsten
+    Script Date    : 2022.07.12 11:07:45
+    Script Purpose : 
+                   : 
+--]]
+
+local TheFumeFireCeremony = 5635
+
+function examined(Item, Player)
+    if not QuestStepIsComplete(Player, TheFumeFireCeremony, 5) then
+        SetStepComplete(Player, TheFumeFireCeremony, 5)
+    end
+end
+

+ 43 - 0
server/ItemScripts/CastleviewHamletcitizenshiptask.lua

@@ -0,0 +1,43 @@
+--[[
+    Script Name    : ItemScripts/CastleviewHamletcitizenshiptask.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.01 04:09:34
+    Script Purpose : 
+                   : 
+--]]
+
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog2")
+StartDialogConversation(conversation, 2, Item, Player, "By order of the Circle of Five, all residents wishing to become a full member of the city must complete a trial to prove their worth.")
+
+end
+
+
+function Dialog2(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read about where tokens are found]","Dialog3")
+StartDialogConversation(conversation, 2, Item, Player, "Tokens are scattered throughout the surrounding area. You must find five of these tokens to earn the right to speak to a city official.")
+end
+
+function Dialog4(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Player,5719) and not HasCompletedQuest(Player,5719)then
+AddConversationOption(conversation, "[write this in your quest journal]","StartQuest")
+end
+if HasQuest(Player,5719) or  HasCompletedQuest(Player,5719) then
+AddConversationOption(conversation, "[continue]","StartQuest")
+end
+AddConversationOption(conversation, "[put the note away]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Castleview Hamlet residents must gather five tokens from the Oakmyst Forest.")
+end
+
+function StartQuest(Item,Player)
+ if not HasQuest(Player,5719) and not HasCompletedQuest(Player,5719)then
+   OfferQuest(Item,Player,5719)
+end
+conversation = CreateConversation()
+AddConversationOption(conversation, "[put the note]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "After you complete your task, report to Marshal Glorfel using the citizenship sign.")
+end

+ 149 - 0
server/ItemScripts/DeepMarshes.lua

@@ -0,0 +1,149 @@
+--[[
+    Script Name    : ItemScripts/DeepMarshes.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.06.05 02:06:06
+    Script Purpose : 
+                   : 
+--]]
+
+
+local Deep = 5582
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Entry One","Page1")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"Deep Marshes.\" After the sudden invasion of Gukta by the new Rallosian Army, a band of frogloks heads north to seek help.")
+end
+
+function Page1(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Spawn,Deep) and not HasCompletedQuest(Spawn,Deep)then
+QuestStart(Item,Player)
+end
+if GetQuestStep(Player,Deep) >=2 then
+AddConversationOption(conversation, "Entry Two","Page2")
+end
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Without the aid of the Avatar of War, the ogres could never have planned such an attack. Gukta had been the site of many battles over the years, but the force arrayed by General Urduuk proved strongest of all. Now, though they were loathe to do so, the frogloks were on the run. The ogres had never before had such a force, despite their brute strength. No, it was not a newly intelligent ogre that bested the froglok, but the Avatar of War itself.")
+end
+
+function Page2(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Deep)==2 then
+    QuestStepIsComplete(Player,Deep,2)
+end
+if GetQuestStep(Player,Deep) >=4 then
+AddConversationOption(conversation, "Entry Three","Page3")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page1")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Down into the tunnels they ran, many clutching the eggs which would be a new generation of froglok. They had had time to clear the hatchery before flight. Though retreat is not the froglok way, the elders knew that living to fight another day and bearing away the eggs would be the better thing for them to do. A small garrison was left to distract the ogres and defend Gukta. The rest hurried into the dark.")
+end
+
+function Page3(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Deep)==4 then
+    QuestStepIsComplete(Player,Deep,4)
+end
+if GetQuestStep(Player,Deep) >=6 then
+AddConversationOption(conversation, "Entry Four","Page4")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page2")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"The ogre army will not be content with taking a swamp,\" said Agakk, one of the elders. \"We must send word to the outsiders, to warn them of the danger these ogres cause.\" \"I will go,\" said Guruup, bowing deeply. \"My unit and I will make our way out to Freeport. The Overlord must hear of this villainous turn of events.\" Agakk nodded. \"Yes, I agree. Go at once, Guruup and may Mithaniel Marr protect you.\"")
+end
+
+function Page4(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Deep)==6 then
+    QuestStepIsComplete(Player,Deep,6)
+end
+if GetQuestStep(Player,Deep) >=8 then
+AddConversationOption(conversation, "Entry Five","Page5")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page3")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "There are many ways through the woods and so it is with the swamps. Guruup's unit was small, for speed would be their best defense. At Innothule's northernmost point, the froglok unit conferred quickly. If they traveled up through the river valley, they would then need to cut east across the Commonlands to reach Freeport. Or, they could turn west to Qeynos instead. The direct route through the Desert of Ro was not favored, but it had the advantage of being the most direct route to Freeport.")
+end
+
+function Page5(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Deep)==8 then
+    QuestStepIsComplete(Player,Deep,8)
+end
+if GetQuestStep(Player,Deep) >=10 then
+AddConversationOption(conversation, "Entry Six","Page6")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page4")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"We must make haste, Guruup,\" whispered Barab, one of his lieutenants. \"Though the Desert is dangerously dry, it would be the way anyone would least likely expect us to take.\" Guruup nodded and said, \"You speak the truth, Barab. Through the Desert of Ro!\" They caked their skin with mud to protect it from the hot desert air, then pushed onward. To increase their chances of survival, they subdivided into smaller units that one by one crossed into the unforgiving desert.")
+end
+
+function Page6(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Deep)==10 then
+    QuestStepIsComplete(Player,Deep,10)
+end
+if GetQuestStep(Player,Deep) >=12 then
+AddConversationOption(conversation, "Entry Seven","Page7")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page5")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Traveling by night to keep out of the sun, the frogloks struggled through the swirling sands. Their skin was soft and supple by nature. Even with a layer of dried mud upon it, the frogloks felt the oppressive dryness in the air that seemed to suck every last ounce of energy from them. Gusts of wind drove the sand into their faces, rubbing them raw. As their skin cracked from lack of moisture, some of the frogloks picked at the scabs that formed almost instantly in the heat, licking their wounds to moisten their tongues with their own blood.")
+end
+
+function Page7(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Deep)==12 then
+    QuestStepIsComplete(Player,Deep,12)
+end
+if GetQuestStep(Player,Deep) >=14 then
+AddConversationOption(conversation, "Entry Eight","Page8")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page6")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "They were a tired, footsore and bedraggled group when they reached Freeport at last. Though many had not survived the harsh crossing, between the heat and the sand giants, more than three-quarters of Guruup's was still unit intact. The frogloks paused briefly to take rooms at a local inn and to cleanse themselves, then they hurried to gain an audience with the Overlord.")
+end
+
+function Page8(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Deep)==14 then
+    QuestStepIsComplete(Player,Deep,14)
+end
+if GetQuestStep(Player,Deep) >=16 then
+AddConversationOption(conversation, "Entry Nine","Page9")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page7")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "An audience with the Overlord is not always granted, and certainly never at the first request. Guruup and his lieutenants waited three days before the Overlord would see them. Even then, it was clear that he was doing so for his own hidden purpose. He met with Guruup in the long hallway and Guruup had to complete his petition before the Overlord reached the opposite end of the hall.")
+end
+
+function Page9(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Deep)==16 then
+    QuestStepIsComplete(Player,Deep,16)
+end
+if GetQuestStep(Player,Deep) >=18 then
+AddConversationOption(conversation, "Entry Ten","Page10")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page8")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Guruup was unable to convince the Overlord of the seriousness of the ogre forces. \"Come now, little one,\" the Overlord said upon reaching the hall's end. \"You have been fighting everyone for control of Grobb -- that is, Gukta -- for many generations. This is another petty squabble; I'm afraid Freeport's military cannot be spared on something like this. You'll have better luck elsewhere.\" Guruup bowed, concealing his anger as the Overlord exited the hall.")
+end
+
+function Page10(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Deep)==18 then
+    QuestStepIsComplete(Player,Deep,18)
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page9")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"The Overlord will not get involved,\" Guruup told the frogloks. \"We have rested here long enough; let us proceed now to Qeynos. May the hand of Marr guide us.\" \"May the hand of Marr guide us,\" Guruup's unit repeated reverently. And so, the frogloks prepared for their next journey: across the Commonlands and through the plains of Karana to reach the city of Qeynos.")
+end
+
+
+function QuestStart(Item,Player)
+	    CloseItemConversation(Item,Player)
+		OfferQuest(nil, Player, Deep)
+end

+ 10 - 0
server/ItemScripts/DwarvenBattleBread.lua

@@ -0,0 +1,10 @@
+--[[
+	Script Name		:	ItemScripts/abasicfirework.lua
+	Script Purpose	:	
+	Script Author	:	Neatz09
+	Script Date		:	8.18.2019
+	Script Notes	:	
+--]]
+function used(Item, Player, Target)
+CastSpell(Player, 5491, 1) 
+end

+ 32 - 0
server/ItemScripts/FallenPiratesMap.lua

@@ -0,0 +1,32 @@
+--[[
+    Script Name    : ItemScripts/FallenPiratesMap.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.20 12:09:47
+    Script Purpose : 
+                   : 
+--]]
+local Xspot = 5747
+
+function examined(Item, Player)
+    conversation = CreateConversation()
+    if not HasQuest(Player, Xspot) and not HasCompletedQuest(Player,Xspot) then
+    AddConversationOption(conversation, "[Inspect the map further]", "Dialog1")
+    end
+    AddConversationOption(conversation, "[Put the map away]", "CloseItemConversation")
+    StartDialogConversation(conversation, 2, Item, Player, "You have in your hands what appears to be a crude map of the island.  There is a marking on the map with a large X.  There is also some scribbling as well.")
+
+end
+
+function Dialog1(Item,Player)
+    conversation = CreateConversation()
+    AddConversationOption(conversation, "[Pursue the X on the map]", "QuestStart")
+    AddConversationOption(conversation, "[Put the map away]", "CloseItemConversation")
+    StartDialogConversation(conversation, 2, Item, Player, "The X on the map seems to be placed just east of a waterfall on the map in the north east corner of the island.  Markings also show a large tree and cave close by.  You can make out the writing to say, \"Rockbelly's resting place\".")
+end
+
+function QuestStart(Item,Player)
+    CloseItemConversation(Item,Player)
+    if not HasQuest(Player,Xspot) then
+        OfferQuest(nil,Player,Xspot)
+    end
+end

+ 26 - 0
server/ItemScripts/GoblinAttackPlan.lua

@@ -0,0 +1,26 @@
+--[[
+    Script Name    : ItemScripts/GoblinAttackPlan.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.20 02:09:29
+    Script Purpose : 
+                   : 
+--]]
+local saboteur = 5748
+function examined(Item, Player)
+    conversation = CreateConversation()
+    if not HasQuest(Player, saboteur) and not HasCompletedQuest(Player,saboteur) then
+    AddConversationOption(conversation, "[Read the scribbles on the note]", "QuestStart")
+    end
+    AddConversationOption(conversation, "[Put the parchment away]", "CloseItemConversation")
+    StartDialogConversation(conversation, 2, Item, Player, "The note is tattered and wrinkled with dirt smudges here and there.  There are crude scrawlings and scribbles all over the page.  You may be able to make some of it out.")
+end
+
+
+
+function QuestStart(Item,Player)
+    OfferQuest(nil,Player,saboteur)
+    conversation = CreateConversation()
+    AddConversationOption(conversation, "[Put the parchment away]", "CloseItemConversation")
+    
+    StartDialogConversation(conversation, 2, Item, Player, "\"Bossy say to break floaties.  Go hide down at beach on goblin side.  Smash and bash next floaty that come.  Use hot stickies to burn down floaty.  No let more big peoples come here.\"")
+end

+ 5 - 2
server/ItemScripts/GoblinTerritoryMarker.lua

@@ -14,7 +14,7 @@ if not HasQuest(Player, LANGUAGE_QUEST) or GetQuestStep(Player,LANGUAGE_QUEST)==
 AddConversationOption(conversation, "Closely inspect the territory marker.", "Study")
 end
 AddConversationOption(conversation, "Hold on to the territory marker for use later","CloseItemConversation")
-StartDialogConversation(conversation, 2, Item, Player, "After some inspection, you notice Norrathian words printed next to the Goblish scribbles and gibberish on this scrap.  Perhaps deciphering more of these will offer you understand their meaning.")
+StartDialogConversation(conversation, 2, Item, Player, "This plank looks like it is part of a goblin signpost. There are words on it written both in Norrathian and some other indecipherable script. It seems to be a goblin territory marker. ")
 end
 
 
@@ -26,5 +26,8 @@ function Study(Item,Player)
 	    CloseItemConversation(Item,Player)
         RemoveItem(Player,7832,1) --territory marker
         SummonItem(Player,13528)-- studied territory marker
-	end
+conversation = CreateConversation()
+AddConversationOption(conversation, "Put away the studied marker.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "With what little of the note appeared in both languages you were able to study it and gain a better understanding of the goblin language.")
+end
 end

+ 49 - 0
server/ItemScripts/GraystoneYardcitizenshiptask.lua

@@ -0,0 +1,49 @@
+--[[
+    Script Name    : ItemScripts/GraystoneYardcitizenshiptask.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.01 04:09:01
+    Script Purpose : 
+                   : 
+--]]
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog2")
+StartDialogConversation(conversation, 2, Item, Player, "By order of the Circle of Five, all residents wishing to become a full member of the city must complete a trial to prove their worth.")
+
+end
+
+
+function Dialog2(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read about where tokens are found]","Dialog3")
+StartDialogConversation(conversation, 2, Item, Player, "Tokens are scattered throughout the surrounding area. You must find five of these tokens to earn the right to speak to a city official.")
+end
+
+function Dialog3(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog4")
+
+StartDialogConversation(conversation, 2, Item, Player, "Each village has been assigned an area in which to hunt for their tokens. Only tokens from within that area will be accepted.")
+end
+
+function Dialog4(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Player,5720) and not HasCompletedQuest(Player,5720)then
+AddConversationOption(conversation, "[write this in your quest journal]","StartQuest")
+end
+if HasQuest(Player,5720) or  HasCompletedQuest(Player,5720) then
+AddConversationOption(conversation, "[continue]","StartQuest")
+end
+AddConversationOption(conversation, "[put the note away]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Graystone Yard residents must gather five tokens from the Oakmyst Forest.")
+end
+
+function StartQuest(Item,Player)
+ if not HasQuest(Player,5720) and not HasCompletedQuest(Player,5720)then
+   OfferQuest(Item,Player,5720)
+end
+conversation = CreateConversation()
+AddConversationOption(conversation, "[put the note]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "After you complete your task, report to Marshal Glorfel using the citizenship sign.")
+end

+ 17 - 0
server/ItemScripts/Incense.lua

@@ -0,0 +1,17 @@
+--[[
+    Script Name    : ItemScripts/Incense.lua
+    Script Author  : torsten
+    Script Date    : 2022.07.12 11:07:58
+    Script Purpose : 
+                   : 
+--]]
+
+local TheFumeFireCeremony = 5635
+
+function examined(Item, Player)
+    if not QuestStepIsComplete(Player, TheFumeFireCeremony, 3) then
+        SetStepComplete(Player, TheFumeFireCeremony, 3)
+    end
+end
+
+

+ 41 - 0
server/ItemScripts/Nettlevillecitizenshiptask.lua

@@ -0,0 +1,41 @@
+--[[
+    Script Name    : ItemScripts/Nettlevillecitizenshiptask.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.01 04:09:29
+    Script Purpose : 
+                   : 
+--]]
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog2")
+StartDialogConversation(conversation, 2, Item, Player, "By order of the Circle of Five, all residents wishing to become a full member of the city must complete a trial to prove their worth.")
+
+end
+
+
+function Dialog2(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read about where tokens are found]","Dialog3")
+StartDialogConversation(conversation, 2, Item, Player, "Tokens are scattered throughout the surrounding area. You must find five of these tokens to earn the right to speak to a city official.")
+end
+
+function Dialog4(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Player,5721) and not HasCompletedQuest(Player,5721)then
+AddConversationOption(conversation, "[write this in your quest journal]","StartQuest")
+end
+if HasQuest(Player,5721) or  HasCompletedQuest(Player,5721) then
+AddConversationOption(conversation, "[continue]","StartQuest")
+end
+AddConversationOption(conversation, "[put the note away]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Nettleville Hovel residents must gather five tokens from the Peat Bog.")
+end
+
+function StartQuest(Item,Player)
+ if not HasQuest(Player,5721) and not HasCompletedQuest(Player,5721)then
+   OfferQuest(Item,Player,5721)
+end
+AddConversationOption(conversation, "[put the note away]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "After you complete your task, report to Marshal Glorfel using the citizenship sign.")
+end

+ 15 - 0
server/ItemScripts/SkinsoftheInferior.lua

@@ -0,0 +1,15 @@
+--[[
+    Script Name    : ItemScripts/SkinsoftheInferior.lua
+    Script Author  : torsten
+    Script Date    : 2022.07.12 11:07:56
+    Script Purpose : 
+                   : 
+--]]
+
+local TheFumeFireCeremony = 5635
+
+function examined(Item, Player)
+    if not QuestStepIsComplete(Player, TheFumeFireCeremony, 4) then
+        SetStepComplete(Player, TheFumeFireCeremony, 4)
+    end
+end

+ 50 - 0
server/ItemScripts/StarcrestCommunecitizenshiptask.lua

@@ -0,0 +1,50 @@
+--[[
+    Script Name    : ItemScripts/StarcrestCommunecitizenshiptask.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.01 04:09:38
+    Script Purpose : 
+                   : 
+--]]
+
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog2")
+StartDialogConversation(conversation, 2, Item, Player, "By order of the Circle of Five, all residents wishing to become a full member of the city must complete a trial to prove their worth.")
+
+end
+
+
+function Dialog2(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read about where tokens are found]","Dialog3")
+StartDialogConversation(conversation, 2, Item, Player, "Tokens are scattered throughout the surrounding area. You must find five of these tokens to earn the right to speak to a city official.")
+end
+
+function Dialog3(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog4")
+
+StartDialogConversation(conversation, 2, Item, Player, "Each village has been assigned an area in which to hunt for their tokens. Only tokens from within that area will be accepted.")
+end
+
+function Dialog4(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Player,5722) and not HasCompletedQuest(Player,5722)then
+AddConversationOption(conversation, "[write this in your quest journal]","StartQuest")
+end
+if HasQuest(Player,5722) or  HasCompletedQuest(Player,5722) then
+AddConversationOption(conversation, "[continue]","StartQuest")
+end
+AddConversationOption(conversation, "[put the note away]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Starcrest Commune residents must gather five tokens from the Down Below.")
+end
+
+function StartQuest(Item,Player)
+ if not HasQuest(Player,5722) and not HasCompletedQuest(Player,5722)then
+   OfferQuest(Item,Player,5722)
+end
+conversation = CreateConversation()
+AddConversationOption(conversation, "[put the note]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "After you complete your task, report to Marshal Glorfel using the citizenship sign.")
+end

+ 49 - 0
server/ItemScripts/TheBaubbleshirecitizenshiptask.lua

@@ -0,0 +1,49 @@
+--[[
+    Script Name    : ItemScripts/TheBaubbleshirecitizenshiptask.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.01 12:09:16
+    Script Purpose : 
+                   : 
+--]]
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog2")
+StartDialogConversation(conversation, 2, Item, Player, "By order of the Circle of Five, all residents wishing to become a full member of the city must complete a trial to prove their worth.")
+
+end
+
+
+function Dialog2(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read about where tokens are found]","Dialog3")
+StartDialogConversation(conversation, 2, Item, Player, "Tokens are scattered throughout the surrounding area. You must find five of these tokens to earn the right to speak to a city official.")
+end
+
+function Dialog3(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog4")
+
+StartDialogConversation(conversation, 2, Item, Player, "Each village has been assigned an area in which to hunt for their tokens. Only tokens from within that area will be accepted.")
+end
+
+function Dialog4(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Player,5718) and not HasCompletedQuest(Player,5718)then
+AddConversationOption(conversation, "[write this in your quest journal]","StartQuest")
+end
+if HasQuest(Player,5718) or  HasCompletedQuest(Player,5718) then
+AddConversationOption(conversation, "[continue]","StartQuest")
+end
+AddConversationOption(conversation, "[put the note away]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Baubbleshire residents must gather five tokens from the Caves.")
+end
+
+function StartQuest(Item,Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[put the note]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "After you complete your task, report to Marshal Glorfel using the citizenship sign.")
+ if not HasQuest(Player,5718) and not HasCompletedQuest(Player,5718)then
+   OfferQuest(Item,Player,5718)
+end
+end

+ 150 - 0
server/ItemScripts/TheCommandersWife.lua

@@ -0,0 +1,150 @@
+
+--[[
+    Script Name    : ItemScripts/TheLadyoftheLake.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.06.07 03:06:23
+    Script Purpose : 
+                   : 
+--]]
+
+local Wife = 5584
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Entry One","Page1")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "This autobiography sketches the life of Araminda Bayle, the wife of Kane Bayle, the Commander of the Qeynos' City Guard who was executed for his treasonous association with the Bloodsabers during the War of Plagues.")
+end
+
+function Page1(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Spawn,Wife) and not HasCompletedQuest(Spawn,Wife)then
+QuestStart(Item,Player)
+end
+if GetQuestStep(Player,Wife) >=2 then
+AddConversationOption(conversation, "Entry Two","Page2")
+end
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Days pass, stretching before me like an abyss. That it should come to this: my husband Kane, the Commander of the Qeynos City Guard regiment, is sentenced to death. I look back, now on the eve of his execution, and wonder whether I could have saved him. I know his mother feels the same. She is old now and frail; the look in her eyes haunts me. Yet, I look into the mirror and see the same expression. Sorrow, guilt and remorse.")
+end
+
+function Page2(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Wife)==2 then
+    QuestStepIsComplete(Player,Wife,2)
+end
+if GetQuestStep(Player,Wife) >=4 then
+AddConversationOption(conversation, "Entry Three","Page3")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page1")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Our marriage was as happy as might be expected. Our parents linked our names from my birth and Kane, a lad of thirteen at the time, took the news of our betrothal poorly. I do not blame him; he was young and vigorous while I was still toddling around my mother's knee. Still, in time he grew to love me in his own fashion. Our wedding was truly the happiest day of my life. We wed on my twentieth birthday.")
+end
+
+function Page3(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Wife)==4 then
+    QuestStepIsComplete(Player,Wife,4)
+end
+if GetQuestStep(Player,Wife) >=6 then
+AddConversationOption(conversation, "Entry Four","Page4")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page2")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Our great sorrow occurred within a year of our wedding. I gave birth to Kane's first son, but within hours the babe sickened and died. For many days I lay abed, unable to speak or care for myself. Kane's sorrow was surely as great as mine. We cried together over our son's death. But then, with me so ill, it seemed prudent for Kane to take up rooms elsewhere in our home. He did not move back into my room, even after I recovered.")
+end
+
+function Page4(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Wife)==6 then
+    QuestStepIsComplete(Player,Wife,6)
+end
+if GetQuestStep(Player,Wife) >=8 then
+AddConversationOption(conversation, "Entry Five","Page5")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page3")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Kane's military career progressed quickly, and not only because he was a member of the Bayle family. He distinguished himself in arranging the City Guard into smaller subunits that could respond to danger more quickly than they had been able to in the old days. We entertained the other officers in the evenings and during the day, I did charity work with the other wives.")
+end
+
+function Page5(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Wife)==8 then
+    QuestStepIsComplete(Player,Wife,8)
+end
+if GetQuestStep(Player,Wife) >=10 then
+AddConversationOption(conversation, "Entry Six","Page6")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page4")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "It was during one of my scheduled visits to the infirmary that I first heard rumors of my husband's infidelities. The other wives were afraid to speak of it for fear of retaliation, but my special friend Greda pulled me aside and told me that everyone knew how things stood between he and I. \"How does anyone know where a man stands with his wife but his wife alone?\" I replied. I stayed until the end of my shift; I am not one to shirk my public duties.")
+end
+
+function Page6(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Wife)==10 then
+    QuestStepIsComplete(Player,Wife,10)
+end
+if GetQuestStep(Player,Wife) >=12 then
+AddConversationOption(conversation, "Entry Seven","Page7")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page5")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Now that the trial is over, I know how many women claimed that my husband was unfaithful to me. My husband was...is not a perfect man, but he is respectful of my position. My father is Lord Mrallon, who has long been a friend to the Bayle family. Kane could not disgrace my family as well as his by sinking to the levels some of these women claim. They lie, though it appears their lies are more persuasive than mine.")
+end
+
+function Page7(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Wife)==12 then
+    QuestStepIsComplete(Player,Wife,12)
+end
+if GetQuestStep(Player,Wife) >=14 then
+AddConversationOption(conversation, "Entry Eight","Page8")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page6")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Do we not all lie to ourselves at some point? How many nights had I sat beside this window wishing Kane would come to me, and instead seeing him slip down the street in the dark? I told myself then it was an emergency, the Guard needed him. And so, of all the truths and lies told about my husband, what do I want to believe now? That he was seeing other women or that he was using his strategic skills to aid our enemies?")
+end
+
+function Page8(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Wife)==14 then
+    QuestStepIsComplete(Player,Wife,14)
+end
+if GetQuestStep(Player,Wife) >=16 then
+AddConversationOption(conversation, "Entry Nine","Page9")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page7")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The questions twist in my mind like knives. When I think of my husband, I see the young man on our wedding day, handsome and proud. I see him trying to comfort me after the death of our only child. I see him in his dress uniform, smiling at me as we dance at the head of a regimental function. Who is the Kane Bayle that tonight breathes the last breaths of this life? Where has my husband gone?")
+end
+
+function Page9(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Wife)==16 then
+    QuestStepIsComplete(Player,Wife,16)
+end
+if GetQuestStep(Player,Wife) >=18 then
+AddConversationOption(conversation, "Entry Ten","Page10")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page8")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "This at least the gods grant me: we have no children. I could not bear to leave a helpless being without his parents. It will be no easier to leave one's parents behind; I see my parents' faces as they were through the trial, struggling between sympathy for me and hatred for my husband. I see his parents' faces: his father, stoic and his mother unable to tear her eyes from Kane's face. How her cries torment me; she is crying yet and no one can comfort her. No one can comfort me.")
+end
+
+function Page10(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Wife)==18 then
+    QuestStepIsComplete(Player,Wife,18)
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page9")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The sun rises. I see the shining city of Qeynos below. The sparrows fly from their nest beneath my window sill. The war has brought death and uncertainty to many lives but oh, so much more to mine. I cannot bear knowing what they think of Kane. This day, they execute my husband but through their words, they have already condemned and executed me. May my parents forgive me. May my flight prove swiftly fatal.")
+end
+
+
+function QuestStart(Item,Player)
+	    CloseItemConversation(Item,Player)
+		OfferQuest(nil, Player, Wife)
+end
+

+ 116 - 0
server/ItemScripts/TheGreatFloodofBlackburrow.lua

@@ -0,0 +1,116 @@
+--[[
+    Script Name    : ItemScripts/TheGreatFloodofBlackburrow.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.22 05:07:31
+    Script Purpose : 
+                   : 
+--]]
+local TheGreatFlood = 5689
+
+function examined(Item, Player)
+if not HasQuest(Player, TheGreatFlood) and not HasCompletedQuest(Player, TheGreatFlood) then
+OfferQuest(nil, Player, TheGreatFlood)
+end
+conversation = CreateConversation()
+AddConversationOption(conversation, "Entry One", "EntryOne")
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "While the pages of this book appear blank at first glance, there is actually faint writing on each of the existing pages.  They are the observations of someone who was trapped in Blackburrow when the waters rose to fill the lower tunnels.")
+end
+
+function EntryOne(Item, Player)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, TheGreatFlood, 1) then
+AddConversationOption(conversation, "Entry Two", "EntryTwo")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The route through the Blackburrow of the gnolls from Everfrost is dark, twisting and deep.  I have quite often gotten lost as I do not use any source of light.  That would reveal my presence to the cursed gnolls.  My business is my own, taking me through these dark passages every fortnight.")
+end
+
+function EntryTwo(Item, Player)
+SetStepComplete(Player, TheGreatFlood, 2)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, TheGreatFlood, 3) then
+AddConversationOption(conversation, "Entry Three", "EntryThree")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "My home is Halas of the North.  My business takes me to Qeynos Hills and for that reason alone, I must suffer the trek through the stench of the gnoll pits.  Sometimes I will send ahead my pet wolf Silkie to find sport in the darkness.  She enjoys the exercise, for the gnolls cannot outrun her.  I can follow their cries and need not use any of the dark methods I have learned to see in the dark.")
+end
+
+function EntryThree(Item, Player)
+SetStepComplete(Player, TheGreatFlood, 4)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, TheGreatFlood, 5) then
+AddConversationOption(conversation, "Entry Four", "EntryFour")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "On this journey, Silkie and I found the snows melting by day and freezing at night.  Daggers of ice hung from the rocky outcroppings, sometimes breaking off and shattering on the ground below with a loud crack.  Her tail between her legs, her ears darting back and forth, Silkie panted and paced, uneasy.  Her troubled behavior made me uneasy as well.")
+end
+
+
+function EntryFour(Item, Player)
+SetStepComplete(Player, TheGreatFlood, 6)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, TheGreatFlood, 7) then
+AddConversationOption(conversation, "Entry Five", "EntryFive")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "At the entrance to the tunnels, we found the gnoll guards had abandoned their posts, leaving behind nothing but the cold embers of their watch fires.  There used to be snow at this level, but there was not.  The ground was moist with melting snow.  Silkie refused to enter the tunnel until I threatened her.  Then she scuttled ahead sideways, like a crab, trying to see both ahead of us and behind.")
+end
+
+
+function EntryFive(Item, Player)
+SetStepComplete(Player, TheGreatFlood, 8)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, TheGreatFlood, 9) then
+AddConversationOption(conversation, "Entry Six", "EntrySix")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Down we went on our usual route, encountering nothing.  The tunnels were silent, but for the constant drip-drip-drip of water in the dark.  As we emerged from one narrow tunnel into a wider space, Silkie whimpered and whined, her misery echoing around the chamber.  \"Be still!\"  I commanded her.  She fell silent and I was aware that the entire world had gone silent as well.")
+end
+
+function EntrySix(Item, Player)
+SetStepComplete(Player, TheGreatFlood, 10)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, TheGreatFlood, 11) then
+AddConversationOption(conversation, "Entry Seven", "EntrySeven")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Suddenly came a large rending sound that shook the marrow of the mountains and threw me and Silkie to the ground.  She scrambled to her feet and ran howling away through the darkness.  I lay pressed against the rocky ground, hugging it as though I could stop its convulsions.  Finally, it grew still.  \"Silkie!\" I called into the silence.  She did not answer.")
+end
+
+function EntrySeven(Item, Player)
+SetStepComplete(Player, TheGreatFlood, 12)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, TheGreatFlood, 13) then
+AddConversationOption(conversation, "Entry Eight", "EntryEight")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "No, Silkie did not come at my call, though I could still hear her terrified, high-pitched whimper echoing.  Then she fell silent and I heard something else -- a roar that I have never heard in those tunnels before.  It reminded me of the scream the snow makes as it tumbles down a mountainside on a sleigh of ice.  A roar covered in velvet.")
+end
+
+function EntryEight(Item, Player)
+SetStepComplete(Player, TheGreatFlood, 14)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, TheGreatFlood, 15) then
+AddConversationOption(conversation, "Entry Nine", "EntryNine")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "I too scrambled to my feet, but with the unseen roar echoing through the chamber, could not know which way to turn.  I began my enchantment, though my teeth chattered.  A heavy wind rushed into the chamber, bringing with it the smell of generations of foul gnolls from somewhere deep in the Blackburrow.  It broke my concentration and my spell dissipated before I could cast.")
+end
+
+function EntryNine(Item, Player)
+SetStepComplete(Player, TheGreatFlood, 16)
+conversation = CreateConversation()
+if QuestStepIsComplete(Player, TheGreatFlood, 17) then
+AddConversationOption(conversation, "Entry Ten", "EntryTen")
+end
+AddConversationOption(conversation, "Put book away", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "And then the water surrounded me.  It tumbled me over and over like a pebble on the sea shore.  I could not tell what was skyward and which way led to death in its depths.  The waters rushed onward, as frantic as I to find an outlet.  After an eternity, the waters threw me onto an unseen ledge near the roof of the cavern before swirling away.")
+end
+
+function EntryTen(Item, Player)
+SetStepComplete(Player, TheGreatFlood, 18)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Close Book.", "CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Though I lay on the ledge for days, the water did not drain.  I was finally able to cast my light-giving spell and saw the ruin of the cavern below.  My thoughts lay on my certain death and I was bitter and angry to die like a gnoll and not with honor in battle.  I would not die unsung.  You who read this, know that the world was shaken and I survived.  For a little while.")
+end

+ 70 - 0
server/ItemScripts/TheJournaloftheSunWolf.lua

@@ -0,0 +1,70 @@
+--[[
+    Script Name    : ItemScripts/TheJournaloftheSunWolf.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.05.24 01:05:51
+    Script Purpose : 
+                   : 
+--]]
+
+local SunWolf = 5559
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Open the journal.","Page1")
+AddConversationOption(conversation, "Put the journal away.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The journal is damp and weather worn. The title and author's name have been blurred beyond recognition. A lock that once bound it shut has rusted and corroded now allowing entry into the secrets within.")
+end
+
+function Page1(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Turn to the next entry.","Page2")
+AddConversationOption(conversation, "Put the journal away.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "...many tales of this mythical creature. It has been sighted since the Age of Turm…the southern border of the great Jaggedpine Forest...many sought the magical properties bound to the majestic coat of the Sun... slain him while he sit and sip from a spiraling brook, something he could only do in corporeal form. It was at…was taken to the city...where it was sold to a family of aristocrats...")
+end
+
+function Page2(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Turn to the next entry.","Page3")
+AddConversationOption(conversation, "Turn back to previous entry.","Page1")
+AddConversationOption(conversation, "Put the journal away.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "...has been a personal quest to discover the truth...Sun Wolf as most woodsman of old have called it. Tales now place this beast...is difficult to believe such a beast stalks so closely to the hold of valor, but... Will now visit the places within the Peat Bog rumored to be frequented be ...although he may have lost his ... he is bound to the city now …")
+end
+
+function Page3(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Turn to the next entry.","Page4")
+AddConversationOption(conversation, "Turn back to previous entry.","Page2")
+AddConversationOption(conversation, "Put the journal away.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "...has been sighted by the great outlet leading from the city. This drainage point is what keeps this place in its boggy state. Why the Sun Wolf has been seen howling at these bars is a mystery bound to the citizens of Qeynos. Perhaps it is within the walls of the city that a piece of this creature still calls to him. Perhaps the tales of... a golden fur cape... such an item would be quite rare and quite...")
+end
+
+function Page4(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Turn to the next entry.","Page5")
+AddConversationOption(conversation, "Turn back to previous entry.","Page3")
+AddConversationOption(conversation, "Put the journal away.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "...recalling what it means to thirst the Sun Wolf...the pond within the center of the bog offers little along the lines of purified water, but to a creature that truly neither breathes nor thirsts...lurking within the safety of the hollowed ... materializing into a much more whole form to arch forward and sip from…here he was in front of me not more than…from the darkness he tared with piercing eyes...")
+end
+
+function Page5(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Turn to the next entry.","Page6")
+AddConversationOption(conversation, "Turn back to previous entry.","Page4")
+AddConversationOption(conversation, "Put the journal away.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "I followed...the rain pelted the already soaked land with great ferocity…there by the trees they call the firing squad… was sniffing about the hollowed...it was husk on the end that offered the Sun Wolf...would a mythical beast need shelter for?...")
+end
+
+function Page6(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Spawn,SunWolf) and not HasCompletedQuest(Spawn,Sunwolf)then
+AddConversationOption(conversation, "Attempt to determine the path of the Sun Wolf.","QuestStart")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page5")
+AddConversationOption(conversation, "Put the journal away.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "...the final encounter... I tracked the wolf to the lone stump ring. He exited, lurking out of the ring and into a niche between the ancient bark and stone. I followed the ... Finally we met face to face! The great wolf displayed his deadly fangs...I ran...amazingly I escaped, or did the Sun Wolf let me go?...")
+end
+
+function QuestStart(Item,Player)
+	    CloseItemConversation(Item,Player)
+		OfferQuest(nil, Player, SunWolf)
+end

+ 148 - 0
server/ItemScripts/TheLadyoftheLake.lua

@@ -0,0 +1,148 @@
+--[[
+    Script Name    : ItemScripts/TheLadyoftheLake.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.06.07 03:06:23
+    Script Purpose : 
+                   : 
+--]]
+
+local Lake = 5583
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "Entry One","Page1")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Waiting for an inevitable war is never easy. In this book, we meet two Qeynosian Guards at an outpost on LakeRathetear who find themselves on the edge of war and far from home.")
+end
+
+function Page1(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Spawn,Lake) and not HasCompletedQuest(Spawn,Lake)then
+QuestStart(Item,Player)
+end
+if GetQuestStep(Player,Lake) >=2 then
+AddConversationOption(conversation, "Entry Two","Page2")
+end
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "The drums echoed in the RatheMountains and reverberated through the deep waters of LakeRathetear. They were victory drums, sounded by the ogres of the new Rallosian Army. They had taken the mountains and now their drums warned of their advance to the Lake itself. Aviak scouts reported their progress and numbers. There were so many ogres and trolls, it was said that the road was blackened by their shadows as far as the aviak eye could see.")
+end
+
+function Page2(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Lake)==2 then
+    QuestStepIsComplete(Player,Lake,2)
+end
+if GetQuestStep(Player,Lake) >=4 then
+AddConversationOption(conversation, "Entry Three","Page3")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page1")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"Why do they come here?\" asked Ilkalla, one of the Qeynosian guards stationed at the Lake. \"Because they can,\" responded Gerren, the other guard. \"And here we are, unable to send word to Qeynos. We will die fighting alongside these savages.\" \"Do not say such a thing,\" Ilkalla said uncomfortably. \"They have treated us very kindly since word of the Rallosian Army reached them. You may not like them, but the aviaks have offered us shelter in these uncertain times.\"")
+end
+
+function Page3(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Lake)==4 then
+    QuestStepIsComplete(Player,Lake,4)
+end
+if GetQuestStep(Player,Lake) >=6 then
+AddConversationOption(conversation, "Entry Four","Page4")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page2")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Smoke curled on the opposite shore of the LakeRathetear, which obscured whatever the Rallosian Army was doing. The drums in the mountains had stopped. Other than the acrid tang of smoke drifting across the water, one might forget that the ogres were there. A squadron of aviaks swooped low into the smoke to get a closer look; their report was not encouraging. The ogres were apparently cutting down massive numbers of trees, stripping their bark and sharpening their ends into spikes.")
+end
+
+function Page4(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Lake)==6 then
+    QuestStepIsComplete(Player,Lake,6)
+end
+if GetQuestStep(Player,Lake) >=8 then
+AddConversationOption(conversation, "Entry Five","Page5")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page3")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Ilkalla wondered what the ogres would do with spikes the size of trees. It seemed unlikely they would build a fortification; they were on the offense not defense. \"We must get closer...but so far the aqua goblins in the Lake are not cooperating with us. I must make them understand the danger to us all. If I can get safe passage, I could find out what the Rallosians are planning.\" The aqua goblins had for the most part retreated to their lairs in the midst of the Lake, trusting its deep waters to keep them safe.")
+end
+
+function Page5(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Lake)==8 then
+    QuestStepIsComplete(Player,Lake,8)
+end
+if GetQuestStep(Player,Lake) >=10 then
+AddConversationOption(conversation, "Entry Six","Page6")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page4")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "One of the aviaks that Ilkalla had befriended went with her to the aqua goblins' chief. The discussion was disappointing to some extent, as the chief was more interested in the baubles Ilkalla had brought as gifts than he was in the danger posed by the Rallosians. It took the better part of the morning before he agreed to allow her safe conduct through the Lake. \"I don't speak for them sharks, though,\" the chief said with a snicker. Ilkalla was a strong swimmer though and knew how to deal with the sharks.")
+end
+
+function Page6(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Lake)==10 then
+    QuestStepIsComplete(Player,Lake,10)
+end
+if GetQuestStep(Player,Lake) >=12 then
+AddConversationOption(conversation, "Entry Seven","Page7")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page5")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Under cover of darkness, Ilkalla slipped off through the black water. She opted for a small coracle and paddled silently across the Lake. The smoke that drifted across the water may have hidden the ogres' activities but it also provided Ilkalla with excellent concealment from any watching eyes. She soon found out that if anyone were watching her, it wasn't the ogres. They were apparently so confident of victory that they set no watch along the shore.")
+end
+
+function Page7(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Lake)==12 then
+    QuestStepIsComplete(Player,Lake,12)
+end
+if GetQuestStep(Player,Lake) >=14 then
+AddConversationOption(conversation, "Entry Eight","Page8")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page6")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Though she was tired from her trip across the Lake, Ilkalla knew she could not stop to rest. She must find out what the ogres were doing and then paddle back across the Lake without being caught. Pausing to listen for indications that she had been seen, Ilkalla methodically investigated the narrow beach until she found what she was seeking. The ogres were not using the sharpened tree trunks to build a fort; they were building a raft.")
+end
+
+function Page8(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Lake)==14 then
+    QuestStepIsComplete(Player,Lake,14)
+end
+if GetQuestStep(Player,Lake) >=16 then
+AddConversationOption(conversation, "Entry Nine","Page9")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page7")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Quickly, Ilkalla returned to the coracle and paddled quickly back where Gerren and the aviak leaders waited for her. \"They're planning to transport themselves across the Lake,\" Ilkalla panted as soon as she stepped ashore. \"They are building a raft, a barge of immense size to carry their troops. It is nearly done.\" She sank to the shore and inhaled deeply. \"We need help.\"")
+end
+
+function Page9(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Lake)==16 then
+    QuestStepIsComplete(Player,Lake,16)
+end
+if GetQuestStep(Player,Lake) >=18 then
+AddConversationOption(conversation, "Entry Ten","Page10")
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page8")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Gerren pushed back his hair and said, \"The time to send for help is long past. The aqua goblins may have let you pass once, but they will surely side with the ogres and trolls.\" Ilkalla nodded, adding, \"We must make for Karana and thence to Qeynos.\" Gerren laughed, \"I would not let you take all the glory, my friend. You crossed the Lake; I will cross the mountains. The aviaks will not be able to stand alone.\"")
+end
+
+function Page10(Item, Player)
+conversation = CreateConversation()
+if GetQuestStep(Player,Lake)==18 then
+    QuestStepIsComplete(Player,Lake,18)
+end
+AddConversationOption(conversation, "Turn back to previous entry.","Page9")
+AddConversationOption(conversation, "Close the book.","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "\"They stand not alone,\" said a deep, rumbling voice nearby. Ilkalla and Gerren turned, startled to see a centaur. He bowed and said, \"The aviaks sent word to us. While we have not always agreed on things, this is different. This is war.\" Ilkalla slowly stood, looking over her shoulder across the dark water. \"Yes,\" she said softly, \"This is definitely war.\"")
+end
+
+
+function QuestStart(Item,Player)
+	    CloseItemConversation(Item,Player)
+		OfferQuest(nil, Player, Lake)
+end

+ 8 - 3
server/ItemScripts/VisionsofColdwindPoint.lua

@@ -9,6 +9,7 @@
 local VisionsOfColdwindPoint = 5332 -- Visions of Coldwind Point quest
 
 function examined(Item, Player)
+conversation = CreateConversation()
 if not HasQuest(Player, VisionsOfColdwindPoint) then
 OfferQuest(nil, Player, VisionsOfColdwindPoint)
 end
@@ -18,30 +19,34 @@ StartDialogConversation(conversation, 2, Item, Player, "\"Visions of Coldwind Po
 end
 
 function page1(Item, Player)
+conversation = CreateConversation()
 AddConversationOption(conversation, "Next poem", "page2")
 AddConversationOption(conversation, "Close the book", "CloseItemConversation")
 StartDialogConversation(conversation, 2, Item, Player, "The Peeking Tree - The tree peeked over the hill to see what it could see. A great big ocean is all that it be. An ocean of cold wind dancing upon the waves. An ocean of deep blue beauty and deep blue danger and mariner graves. The tree stood and smiled all by its lonesome on its hill in the bright day. It was on the land and safe from deep blue death and harms way.")
 end
 
 function page2(Item, Player)
+conversation = CreateConversation()
 AddConversationOption(conversation, "Next poem", "page3")
-AddConversationOption(conversation, "Last poem", "page1")
+AddConversationOption(conversation, "Previous poem", "page1")
 AddConversationOption(conversation, "Close the book", "CloseItemConversation")
 StartDialogConversation(conversation, 2, Item, Player, "The Sword Like No Other - There it rose out of the fields of mist. A great blade of stone a blade from the past. It rises to the gods and declares its existence. It shouts at evil and all that offend. It is a sword like no other, the defender of the great. It is the Qeynos Claymore and it prepares to meet fate.")
 end
 
 function page3(Item, Player)
+conversation = CreateConversation()
 AddConversationOption(conversation, "Next poem", "page4")
-AddConversationOption(conversation, "Last poem", "page2")
+AddConversationOption(conversation, "Previous poem", "page2")
 AddConversationOption(conversation, "Close the book", "CloseItemConversation")
 StartDialogConversation(conversation, 2, Item, Player, "The King of the Thicket - The King of the Thicket rustles in the wind. It tangles with the others smaller, meeker than it. The branches of the lesser strike at it back and forth, but the King stands above them ruling the forest. No little stumps, no axes of steel, no force on Norrath will take it to the mill. In a thicket of oak this elder does stand. It is the King of the Thicket and it will always be grand.")
 end
 
 function page4(Item, Player)
+conversation = CreateConversation()
 if not QuestStepIsComplete(Player, VisionsOfColdwindPoint, 1) then
 SetStepComplete(Player, VisionsOfColdwindPoint, 1)
 end
-AddConversationOption(conversation, "Last poem", "page3")
+AddConversationOption(conversation, "Previous poem", "page3")
 AddConversationOption(conversation, "Close the book", "CloseItemConversation")
 StartDialogConversation(conversation, 2, Item, Player, "The Vigilant Giant - Around and around the mighty cyclops goes. Searching and seeking perils from below. Monsters of stone and granite attack and they mock. They strike at the walls of the vessels that rock. But beware all ye behemoths from sand deep below. This cyclops is not evil it is righteous and you its foe.")
 end

+ 50 - 0
server/ItemScripts/WillowWoodcitizenshiptask.lua

@@ -0,0 +1,50 @@
+--[[
+    Script Name    : ItemScripts/WillowWoodcitizenshiptask.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.01 04:09:40
+    Script Purpose : 
+                   : 
+--]]
+
+
+function examined(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog2")
+StartDialogConversation(conversation, 2, Item, Player, "By order of the Circle of Five, all residents wishing to become a full member of the city must complete a trial to prove their worth.")
+
+end
+
+
+function Dialog2(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read about where tokens are found]","Dialog3")
+StartDialogConversation(conversation, 2, Item, Player, "Tokens are scattered throughout the surrounding area. You must find five of these tokens to earn the right to speak to a city official.")
+end
+
+function Dialog3(Item, Player)
+conversation = CreateConversation()
+AddConversationOption(conversation, "[read more]","Dialog4")
+
+StartDialogConversation(conversation, 2, Item, Player, "Each village has been assigned an area in which to hunt for their tokens. Only tokens from within that area will be accepted.")
+end
+
+function Dialog4(Item, Player)
+conversation = CreateConversation()
+if not HasQuest(Player,5723) and not HasCompletedQuest(Player,5723)then
+AddConversationOption(conversation, "[write this in your quest journal]","StartQuest")
+end
+if HasQuest(Player,5723) or  HasCompletedQuest(Player,5723) then
+AddConversationOption(conversation, "[continue]","StartQuest")
+end
+AddConversationOption(conversation, "[put the note away]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "Willow Wood residents must gather five tokens from the Forest Ruins.")
+end
+
+function StartQuest(Item,Player)
+ if not HasQuest(Player,5723) and not HasCompletedQuest(Player,5723)then
+   OfferQuest(Item,Player,5723)
+end
+conversation = CreateConversation()
+AddConversationOption(conversation, "[put the note]","CloseItemConversation")
+StartDialogConversation(conversation, 2, Item, Player, "After you complete your task, report to Marshal Glorfel using the citizenship sign.")
+end

+ 60 - 0
server/ItemScripts/aBagofBasicProvisions.lua

@@ -0,0 +1,60 @@
+--[[
+    Script Name    : ItemScripts/aBagofBasicProvisions.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.09 07:09:55
+    Script Purpose : 
+                   : 
+--]]
+
+function examined(Item, Player)
+RemoveItem(Player,1001011,1)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36684,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SummonItem(Player, 36211,0)
+SendMessage(Player, "You found 20 flasks of water in the bag.")
+SendMessage(Player, "You found 20 rations in the bag.")
+--[[		alignment = GetDeity(Player)  --THESE ARE COMMEMORATIVE COINS.  THIS ITEM HAS BEEN GIVEN TO THE AMBASSADORS FOR PLAYERS SELECTING THEIR CITY.  THIS REDUCES THE CHANCE THE WRONG COIN IS GIVEN.
+		if alignment == 0 then
+			SummonItem(Player, 1413,1) -- evil rewards
+		else
+			SummonItem(Player, 1414,1) -- good rewards
+		end]]--
+end
+

+ 16 - 0
server/ItemScripts/aTarnishedsilverkey.lua

@@ -0,0 +1,16 @@
+--[[
+    Script Name    : ItemScripts/aTarnishedsilverkey.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.30 09:07:45
+    Script Purpose : 
+                   : 
+--]]
+
+local aTarnishedSilverKey = 5709
+
+function examined(Item, Player)
+if not HasQuest(Player, aTarnishedSilverKey) then
+OfferQuest(nil, Player, aTarnishedSilverKey)
+  end
+end
+

+ 16 - 0
server/ItemScripts/abadlypolishedsteelkey.lua

@@ -0,0 +1,16 @@
+--[[
+    Script Name    : ItemScripts/abadlypolishedsteelkey.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.29 09:07:45
+    Script Purpose : 
+                   : 
+--]]
+
+local Polishedsteelkey = 5708
+
+function examined(Item, Player)
+if not HasQuest(Player, Polishedsteelkey) then
+OfferQuest(nil, Player, Polishedsteelkey)
+  end
+end
+

+ 16 - 0
server/ItemScripts/abrokenmorningstar.lua

@@ -0,0 +1,16 @@
+--[[
+    Script Name    : ItemScripts/abrokenmorningstar.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.23 11:07:59
+    Script Purpose : 
+                   : 
+--]]
+
+local TheChomper = 5696
+
+function examined(Item, Player)
+if not HasQuest(Player, TheChomper) then
+OfferQuest(nil, Player, TheChomper)
+end
+   end
+

+ 16 - 0
server/ItemScripts/afilthybronzekey.lua

@@ -0,0 +1,16 @@
+--[[
+    Script Name    : ItemScripts/afilthybronzekey.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.29 09:07:27
+    Script Purpose : 
+                   : 
+--]]
+
+local AFilthybronzekey = 5707 -- quest ID
+
+function examined(Item, Player)
+if not HasQuest(Player, AFilthybronzekey) then
+OfferQuest(nil, Player, AFilthybronzekey)
+   end
+end
+

+ 2 - 2
server/ItemScripts/agnollpaw.lua

@@ -12,12 +12,12 @@ function examined(Item, Player)
 if not HasQuest(Player, LoreAndLegendGnoll) and not HasCompletedQuest(Player, LoreAndLegendGnoll) then
 OfferQuest(nil, Player, LoreAndLegendGnoll)
 elseif not QuestStepIsComplete(Player, LoreAndLegendGnoll, 4) then
-conversation = CreateConversation()    
+    conversation = CreateConversation()    
 AddConversationOption(conversation, "Begin to study...", "Step_Complete")
 AddConversationOption(conversation, "No, put away", "CloseItemConversation")
 StartDialogConversation(conversation, 2, Item, Player, "This item can be used to learn the secrets of the gnoll. Do you wish to study it?")
-end
    end
+end
 
 function Step_Complete(Item, Player)
 SetStepComplete(Player, LoreAndLegendGnoll, 4)

+ 4 - 3
server/ItemScripts/anoldnote.lua

@@ -5,12 +5,13 @@
 	Script Date	    : 2017.05.09
 	Script Notes	:
 --]]
---[[
+
 local quest = 235
 
 function examined(Item, Player)
 	if not HasQuest(Player, quest) and not HasCompletedQuest(Player, quest) then
-		OfferQuest(Item, Player, quest)
+		OfferQuest(nil, Player, quest)
+	else
 		--remove quest starter
 	end
-end]]--
+end

+ 15 - 0
server/ItemScripts/anunfinishedbreastplate.lua

@@ -0,0 +1,15 @@
+--[[
+    Script Name    : ItemScripts/anunfinishedbreastplate.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.26 05:07:51
+    Script Purpose : 
+                   : 
+--]]
+
+local UnfinishedBreastplate = 5700
+
+function examined(Item, Player)
+if not HasQuest(Player, UnfinishedBreastplate) then
+OfferQuest(nil, Player, UnfinishedBreastplate)
+end
+   end

+ 16 - 0
server/ItemScripts/aropedstaff.lua

@@ -0,0 +1,16 @@
+--[[
+    Script Name    : ItemScripts/aropedstaff.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.24 01:07:42
+    Script Purpose : 
+                   : 
+--]]
+
+local Mancatcher = 5697
+
+function examined(Item, Player)
+if not HasQuest(Player, Mancatcher) then
+OfferQuest(nil, Player, Mancatcher)
+ end
+end
+

+ 82 - 0
server/ItemScripts/asandyboneshardClassic.lua

@@ -0,0 +1,82 @@
+--[[
+    Script Name    : ItemScripts/asandyboneshardClassic.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.09.16 09:09:30
+    Script Purpose : Classic Version of a Sandy Bone Shard quest.
+                   : 
+--]]
+local BoneShard = 5746
+
+function examined(Item, Player)
+if not HasQuest(Player, BoneShard) and not HasCompletedQuest(Player, BoneShard) then
+    Dialog1(Item,Player)
+elseif GetQuestStep(Player,BoneShard)==1 or GetQuestStep(Player,BoneShard)==2 then
+    Dialog2(Item,Player)
+elseif GetQuestStep(Player,BoneShard)==3 or GetQuestStep(Player,BoneShard)==4 then
+    Dialog3(Item,Player)
+elseif GetQuestStep(Player,BoneShard)==5 or GetQuestStep(Player,BoneShard)==6 then
+    Dialog4(Item,Player)
+elseif  HasCompletedQuest(Player, BoneShard)then
+    Completed(Item,Player)
+end
+end
+
+function Dialog1(Item,Player)
+    conversation = CreateConversation()
+    AddConversationOption(conversation, "I should try to see if other crabs have more missing pieces to the token.", "Dialog2")
+    AddConversationOption(conversation, "[Put the Piece Away]", "CloseItemConversation")
+    StartDialogConversation(conversation, 2, Item, Player, "It appears as if there once were other pieces to the token and this is only one part. If you could find the rest and a chain or strap you might be able to fashion a necklace from the repaired trinket and gain a momento of the island. The other pieces may be near where you found this one.")
+end
+
+function Dialog2(Item,Player)
+    conversation = CreateConversation()
+    if not HasQuest(Player, BoneShard) and not HasCompletedQuest(Player, BoneShard) then
+    OfferQuest(nil,Player,BoneShard)
+    end
+    if GetQuestStep(Player,BoneShard)==2 then
+    AddConversationOption(conversation, "[Assemble the Pieces]", "Dialog3")
+    end
+    AddConversationOption(conversation, "[Put the Piece Away]", "CloseItemConversation")
+    StartDialogConversation(conversation, 2, Item, Player, "This old and yellowed piece of bone seems to be more than it first appears. Intricate etchings appear on the surface as you brush away the sand.")
+end
+
+
+function Dialog3(Item,Player)
+    conversation = CreateConversation()
+    if GetQuestStep(Player,BoneShard)==4 then
+    AddConversationOption(conversation, "[Glue the Pieces Together]", "Dialog4")
+    end
+    if GetQuestStep(Player,BoneShard)==2 then
+    SetStepComplete(Player,BoneShard,2)
+    end    
+    AddConversationOption(conversation, "[Put the Piece Away]", "CloseItemConversation")
+    StartDialogConversation(conversation, 2, Item, Player, "As you assemble the pieces of the taken the intricate carving of a ship becomes clear. The pieces can be repaired but some sort of glue will be needed to hold them together again. Fish skin may be a good start to create the glue.")
+end
+
+function Dialog4(Item,Player)
+    conversation = CreateConversation()
+    if GetQuestStep(Player,BoneShard)==6 then
+    AddConversationOption(conversation, "[Add the Leather Cord]", "QuestFinish")
+    end
+    if GetQuestStep(Player,BoneShard)==4 then
+    SetStepComplete(Player,BoneShard,4)
+    end    
+    AddConversationOption(conversation, "[Put the Token Away]", "CloseItemConversation")
+    StartDialogConversation(conversation, 2, Item, Player, "The glue holds well and the lines made by the cracks are barely visible. The small hoop that had been carved long ago at the top only needs a cord of leather and the necklace will be complete.")
+end
+
+function QuestFinish(Item,Player)
+    CloseItemConversation(Item,Player)
+    if GetQuestStep(Player,BoneShard)==6 then
+    SetStepComplete(Player,BoneShard,6)
+    end    
+    if HasItem(Player,1001012) then
+        RemoveItem(Player,1001012,1)
+    end
+end
+    
+function Completed(Item,Player)
+    conversation = CreateConversation()
+    AddConversationOption(conversation, "[Throw the token]", "QuestFinish")
+    StartDialogConversation(conversation, 2, Item, Player, "This piece of bone looks like the talisman you've already remade.  It may be best to throw it back into the sea for another crab to find.")
+end

+ 16 - 0
server/ItemScripts/aspikedstrip.lua

@@ -0,0 +1,16 @@
+--[[
+    Script Name    : ItemScripts/aspikedstrip.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.24 03:07:36
+    Script Purpose : 
+                   : 
+--]]
+
+local SpikedBracelet = 5699
+
+function examined(Item, Player)
+if not HasQuest(Player, SpikedBracelet) then
+OfferQuest(nil, Player, SpikedBracelet)
+  end
+end
+

+ 21 - 21
server/ItemScripts/cure_test.lua

@@ -1,21 +1,21 @@
---[[
-	Script Name		:	ItemScripts/cure_test.lua
-	Script Purpose	:	
-	Script Author	:	Emagi/Image
-	Script Date		:	7.1.2022
-	Script Notes	:	This is to test having a used item CureByType and pass a target via ItemScripts
---]]
-function used(Item, Player, Target)
-	local effect_type = GetItemEffectType(Item)
-	
-	if effect_type < 7 then -- 7 is cure all
-		CureByType(1, effect_type, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
-	elseif effect_type == 7 then
-		CureByType(1, 1, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
-		CureByType(1, 2, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
-		CureByType(1, 3, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
-		CureByType(1, 4, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
-		CureByType(1, 5, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
-		CureByType(1, 6, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
-	end
-end
+  --[[
+    	Script Name		:	ItemScripts/cure_test.lua
+    	Script Purpose	:	
+    	Script Author	:	Emagi/Image
+    	Script Date		:	7.1.2022
+    	Script Notes	:	This is to test having a used item CureByType and pass a target via ItemScripts
+    --]]
+    function used(Item, Player, Target)
+    	local effect_type = GetItemEffectType(Item)
+    	
+    	if effect_type < 7 then -- 7 is cure all
+    		CureByType(1, effect_type, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
+    	elseif effect_type == 7 then
+    		CureByType(1, 1, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
+    		CureByType(1, 2, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
+    		CureByType(1, 3, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
+    		CureByType(1, 4, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
+    		CureByType(1, 5, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
+    		CureByType(1, 6, "", (GetLevel(Player) * 1.08) + 1, Target, Player)
+    	end
+    end

+ 16 - 0
server/ItemScripts/lockedhandcuffs.lua

@@ -0,0 +1,16 @@
+--[[
+    Script Name    : ItemScripts/lockedhandcuffs.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.07.24 02:07:16
+    Script Purpose : 
+                   : 
+--]]
+
+local OrcishManacles = 5698
+
+function examined(Item, Player)
+if not HasQuest(Player, OrcishManacles) then
+OfferQuest(nil, Player, OrcishManacles)
+ end
+end
+

+ 1 - 1
server/Quests/Antonica/a_bow_for_a_beauty.lua

@@ -35,7 +35,7 @@ end
 function Step1Complete(Quest, QuestGiver, Player)
 	UpdateQuestStepDescription(Quest, 1, "I have gathered all the earthcrawler leg joints.")
 
-	AddQuestStepZoneLoc(Quest, 2, "I should polish these earthcrawler leg joints for Landwyn. The water in Crater pond should work well.", 10, "I need to gather perfectly polished earthcrawler leg joints for Landwyn.", 2514, 78, -24, 436, 12 )
+	AddQuestStepZoneLoc(Quest, 2, "I should polish these earthcrawler leg joints for Landwyn. The water in Crater pond should work well.", 50, "I need to polish the earthcrawler leg joints for Landwyn.", 2514,128.12, -24.96, 481.58, 12 )
 	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
 end
 

+ 93 - 0
server/Quests/Antonica/a_crude_gnoll_map.lua

@@ -0,0 +1,93 @@
+--[[
+    Script Name    : Quests/Antonica/a_crude_gnoll_map.lua
+    Script Author  : Dorbin
+    Script Date    : 2022.07.14 04:07:07
+    Script Purpose : 
+
+        Zone       : Antonica
+        Quest Giver: a crude gnoll map
+        Preceded by: None
+        Followed by: 
+--]]
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "Speak to Walcott", 1, "I must find a person named Walcott in Antonica. The map suggests near the North Gates of Qeynos.", 11, 120078)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "Spoke to farmer Walcott")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I found farmer Walcott standing at his fields in Antonica.")
+
+	AddQuestStepKill(Quest, 2, "Slay some witherstraw scarecrows", 1, 70, "I need a pristine witherstraw scarecrow cap.", 115, 120077)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 2, "Slew some witherstraw scarecrows.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I found a pristine witherstraw scarecrow cap.")
+
+	AddQuestStepKill(Quest, 3, "Slay Darkpaw mystics", 1, 60, "I need to hunt down Darkpaw mystics in hopes of finding a spool of Darkpaw sinew thread.", 781, 120015)
+	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
+end
+
+function Step3Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 3, "Found the spool.")
+	UpdateQuestTaskGroupDescription(Quest, 3, "I found a spool of Darkpaw sinew thread on one of the Darkpaw mystics in Antonica.")
+
+	AddQuestStep(Quest, 4, "Inspect a bale of hay for enchanted quiverstraw", 1, 100, "I need to find a hay bale of quiverstraw in Antonica. Who would be using enchanted straw?", 315)
+	AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
+end
+
+function Step4Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 4, "I have some quiverstraw.")
+	UpdateQuestTaskGroupDescription(Quest, 4, "I found a bundle of gnoll quiverstraw in Antonica.")
+
+	AddQuestStepKill(Quest, 5, "Slay some sparrow hawks", 1, 66, "I need to slay some sparrow hawks in Antonica in hopes of finding a rare rainbow feather.", 150, 120064)
+	AddQuestStepCompleteAction(Quest, 5, "Step5Complete")
+end
+
+function Step5Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 5, "Slew some sparrow hawks.")
+	UpdateQuestTaskGroupDescription(Quest, 5, "I found a rare rainbow feather on a sparrow hawk in Antonica.")
+
+	AddQuestStepChat(Quest, 6, "Speak to farmer Walcott", 1, "I need to return to farmer Walcott in Antonica to deliver his components.", 11, 120078)
+	AddQuestStepCompleteAction(Quest, 6, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 6, "Spoke to farmer Walcott.")
+	UpdateQuestTaskGroupDescription(Quest, 6, "I delivered the components to farmer Walcott.")
+
+	UpdateQuestDescription(Quest, "I helped farmer Walcott gather the components necessary to construct a magical scarecrow that might help defend his crops from gnoll intrusions.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+		Step2Complete(Quest, QuestGiver, Player)
+	elseif Step == 3 then
+		Step3Complete(Quest, QuestGiver, Player)
+	elseif Step == 4 then
+		Step4Complete(Quest, QuestGiver, Player)
+	elseif Step == 5 then
+		Step5Complete(Quest, QuestGiver, Player)
+	elseif Step == 6 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end

+ 2 - 2
server/Quests/Antonica/does_the_underforge_exist.lua

@@ -7,11 +7,11 @@
         Zone       : Antonica
         Quest Giver: 
         Preceded by: None
-        Followed by: 
+        Followed by: Nightbow's Deposit
 --]]
 
 function Init(Quest)
-	AddQuestStepZoneLoc(Quest, 1, "	I need to find the Underforge.", 10, "I should see if I could find the Underforge within Stormhold.", 11, -130, -1, -55, 15)
+	AddQuestStepZoneLoc(Quest, 1, "I need to find the Underforge.", 10, "I should see if I could find the Underforge within Stormhold.", 11, -130, -1, -55, 15)
 	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
 end
 

+ 1 - 0
server/Quests/Antonica/lord_grimrots_scythe.lua

@@ -23,6 +23,7 @@ end
 function Accepted(Quest, QuestGiver, Player)
 		FaceTarget(QuestGiver, Player)
 	local conversation = CreateConversation()
+    PlayFlavor(QuestGiver, "voiceover/english/ignar_steadirt/antonica/quests/firemyst/ignar_steadirt_006.mp3", "", "", 3647805338, 2173571937, Player)
 	AddConversationOption(conversation, "I can do that.")
 	StartConversation(conversation, QuestGiver, Player, "I need those darned dispatches brought back to me! You'd think that folks who get to run around looking for danger would realize how important it is to send word back to ... well, me.  Since they haven't, I need someone to knock them upside their heads and get the information, then bring it back to me.")
 end

+ 166 - 0
server/Quests/Antonica/pecketts_patrol.lua

@@ -0,0 +1,166 @@
+--[[
+    Script Name    : Quests/Antonica/pecketts_patrol.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.08.11 08:08:59
+    Script Purpose : 
+
+        Zone       : Antonica
+        Quest Giver: 
+        Preceded by: None
+        Followed by: 
+--]]
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "Speak to Corporal Peckett.", 1, "I must speak to Corporal Peckett near the lighthouse at Coldwind Point in Antonica.", 11, 120097)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "Spoke to Corporal Peckett.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I spoke to Corporal Peckett at the lighthouse on Coldwind Point.")
+
+	AddQuestStepZoneLoc(Quest, 2, "Walk the trailhead.", 10, "I will patrol the Coldwind Trail that begins near the lighthouse bridge in Antonica.", 11, 405, -24, 668, 12)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 2, "Walked the trailhead.")
+
+	AddQuestStepZoneLoc(Quest, 3, "Follow the trail you are on.", 10, "I will patrol the Coldwind Trail that begins near the lighthouse bridge in Antonica.", 11, 421, -26, 590, 12)
+	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
+end
+
+function Step3Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 3, "Followed the trail.")
+
+	AddQuestStepZoneLoc(Quest, 4, "Follow the trail you are on.", 10, "I will patrol the Coldwind Trail that begins near the lighthouse bridge in Antonica.", 11, 296, -21, 471, 12)
+	AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
+end
+
+function Step4Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 4, "Walked the midtrail.")
+
+	AddQuestStepZoneLoc(Quest, 5, "Walk the trailend.", 10, "I will patrol the Coldwind Trail that begins near the lighthouse bridge in Antonica.", 11, 319, -19, 404, 12)
+	AddQuestStepCompleteAction(Quest, 5, "Step5Complete")
+end
+
+function Step5Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 5, "Walked the trailend.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I patrolled the Coldwind Trail that begins near the lighthouse bridge in Antonica.")
+
+	AddQuestStepChat(Quest, 6, "Speak to Corporal Batton.", 1, "I must check in with Corporal Batton at the South Gate of Qeynos in Antonica.", 11, 120446)
+	AddQuestStepCompleteAction(Quest, 6, "Step6Complete")
+end
+
+function Step6Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 6, "Spoke to Corporal Batton.")
+	UpdateQuestTaskGroupDescription(Quest, 3, "I checked in with Corporal Batton at the South Gate of Qeynos in Antonica.")
+
+	AddQuestStepZoneLoc(Quest, 7, "Walk the north bank.", 10, "I must patrol the banks of Crater Pond just east of the South Gate of Qeynos.", 11, 149, -24, 392, 12)
+	AddQuestStepCompleteAction(Quest, 7, "Step7Complete")
+end
+
+function Step7Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 7, "Walked the north bank.")
+
+	AddQuestStepZoneLoc(Quest, 8, "Walk the south bank.", 10, "I must patrol the banks of Crater Pond just east of the South Gate of Qeynos.", 11, 162, -21, 542, 12)
+	AddQuestStepCompleteAction(Quest, 8, "Step8Complete")
+end
+
+function Step8Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 8, "Walked the south bank.")
+	UpdateQuestTaskGroupDescription(Quest, 4, "I patrolled the banks of Crater Pond just east of the South Gate of Qeynos.")
+
+	AddQuestStepZoneLoc(Quest, 9, "Walk the trailhead of Black Glade Trail.", 10, "I must patrol Black Glade Trail just northeast of Crater Pond in Antonica. I should start where Black Glade Trail meets the road to Qeynos and then follow it south.", 11, -31, -9, 231, 12)
+	AddQuestStepCompleteAction(Quest, 9, "Step9Complete")
+end
+
+function Step9Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 9, "Walked the trailhead.")
+
+	AddQuestStepZoneLoc(Quest, 10, "Follow the trail you are on.", 10, "I must patrol Black Glade Trail just northeast of Crater Pond in Antonica. I should start where Black Glade Trail meets the road to Qeynos and then follow it south.", 11, -78, -26, 367, 12)
+	AddQuestStepCompleteAction(Quest, 10, "Step10Complete")
+end
+
+function Step10Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 10, "Followed the trail.")
+
+	AddQuestStepZoneLoc(Quest, 11, "Follow the trail you are on.", 10, "I must patrol Black Glade Trail just northeast of Crater Pond in Antonica. I should start where Black Glade Trail meets the road to Qeynos and then follow it south.", 11, -70, -27, 477, 12)
+	AddQuestStepCompleteAction(Quest, 11, "Step11Complete")
+end
+
+function Step11Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 11, "Followed the trail.")
+
+	AddQuestStepZoneLoc(Quest, 12, "Follow the trail you are on.", 10, "I must patrol Black Glade Trail just northeast of Crater Pond in Antonica. I should start where Black Glade Trail meets the road to Qeynos and then follow it south.", 11, -66, -24, 552, 12)
+	AddQuestStepCompleteAction(Quest, 12, "Step12Complete")
+end
+
+function Step12Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 12, "Walked the midtrail.")
+	UpdateQuestTaskGroupDescription(Quest, 5, "I patrolled Black Glade Trail just northeast of Crater Pond in Antonica.")
+
+	AddQuestStepChat(Quest, 13, "Speak to Captain Antillin.", 1, "I should speak to Captain Antillin of the Coldwind Point Garrison. I have run into him on Black Glade Trail.", 11, 120264)
+	AddQuestStepCompleteAction(Quest, 13, "Step13Complete")
+end
+
+function Step13Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 13, "Spoke to Captain Antillin.")
+	UpdateQuestTaskGroupDescription(Quest, 6, "I spoke to Captain Antillin of the Coldwind Point Garrison. I ran into him on Black Glade Trail.")
+
+	AddQuestStepChat(Quest, 14, "Speak to Corporal Peckett.", 1, "I must return to Corporal Peckett at the lighthouse in Antonica.", 11, 120097)
+	AddQuestStepCompleteAction(Quest, 14, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 14, "Spoke to Corporal Peckett.")
+	UpdateQuestTaskGroupDescription(Quest, 7, "I returned to Corporal Peckett at the lighthouse in Antonica.")
+
+	UpdateQuestDescription(Quest, "I patrolled the lighthouse sector of Antonica for Corporal Peckett. I found Captain Antillin and learned that he has discovered a gnoll den. He returned to plot its location.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+		Step2Complete(Quest, QuestGiver, Player)
+	elseif Step == 3 then
+		Step3Complete(Quest, QuestGiver, Player)
+	elseif Step == 4 then
+		Step4Complete(Quest, QuestGiver, Player)
+	elseif Step == 5 then
+		Step5Complete(Quest, QuestGiver, Player)
+	elseif Step == 6 then
+		Step6Complete(Quest, QuestGiver, Player)
+	elseif Step == 7 then
+		Step7Complete(Quest, QuestGiver, Player)
+	elseif Step == 8 then
+		Step8Complete(Quest, QuestGiver, Player)
+	elseif Step == 9 then
+		Step9Complete(Quest, QuestGiver, Player)
+	elseif Step == 10 then
+		Step10Complete(Quest, QuestGiver, Player)
+	elseif Step == 11 then
+		Step11Complete(Quest, QuestGiver, Player)
+	elseif Step == 12 then
+		Step12Complete(Quest, QuestGiver, Player)
+	elseif Step == 13 then
+		Step13Complete(Quest, QuestGiver, Player)
+	elseif Step == 14 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end

+ 5 - 5
server/Quests/Antonica/qeynosian_civil_service.lua

@@ -41,11 +41,11 @@ end
 
 function CheckProgress(Quest, QuestGiver, Player)
     if QuestStepIsComplete(Player, 463, 1) and QuestStepIsComplete(Player, 463, 2) and QuestStepIsComplete(Player, 463, 3) then
- 	UpdateQuestTaskGroupDescription(Quest, 1, "I've killed the vermin that Sir Alesso tasked me with.")
-	AddQuestStepChat(Quest, 4, "I need to speak with Knight-Lieutenant Alesso.", 1, "I've killed a great many vermin that once infested Antonica.  I should return to Knight-Lieutenant Alesso.", 11, 120083,121828)
-	AddQuestStepCompleteAction(Quest, 4, "QuestComplete")
-end	
-   end
+ 	    UpdateQuestTaskGroupDescription(Quest, 1, "I've killed the vermin that Sir Alesso tasked me with.")
+	    AddQuestStepChat(Quest, 4, "I need to speak with Knight-Lieutenant Alesso.", 1, "I've killed a great many vermin that once infested Antonica.  I should return to Knight-Lieutenant Alesso.", 11, 120083,121828)
+	    AddQuestStepCompleteAction(Quest, 4, "QuestComplete")
+    end	
+end
 
 function QuestComplete(Quest, QuestGiver, Player)
 	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around

+ 3 - 3
server/Quests/Antonica/the_balance_of_life.lua

@@ -2,7 +2,7 @@
     Script Name    : Quests/Antonica/the_balance_of_life.lua
     Script Author  : Premierio015
     Script Date    : 2021.08.27 09:08:38
-    Script Purpose : 
+    Script Purpose : Revamped version of this quest.  After Willow Wood is disabled.
 
         Zone       : Antonica
         Quest Giver: 
@@ -13,8 +13,8 @@
 
 function Init(Quest)
 	AddQuestStepKill(Quest, 1, "I must kill ten sea turtles in the waters near Antonica.", 10, 100, "I must bring down ten sea turtles to lower their population.", 201, 120033, 121212)
-	AddQuestStepKill(Quest, 2, "I must kill some red tailed hawks in Antonica.", 3, 100, "I must slay three of the red tailed hawks in Antonica.", 201, 120029, 121208) -- need correct icon
-	AddQuestStepKill(Quest, 3, "I must kill seven darkclaw crabs on the shores of Antonica.", 7, 100, "I must destroy seven darkclaw crabs on the shores of Antonica.", 201, 120118, 120762, 121265) -- need correct icon
+	AddQuestStepKill(Quest, 2, "I must kill some red tailed hawks in Antonica.", 3, 100, "I must slay three of the red tailed hawks in Antonica.", 80, 120029) -- need correct icon
+	AddQuestStepKill(Quest, 3, "I must kill seven darkclaw crabs on the shores of Antonica.", 7, 100, "I must destroy seven darkclaw crabs on the shores of Antonica.", 77, 120118, 120762, 121265) -- need correct icon
 	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
 	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
 	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")

+ 45 - 0
server/Quests/Antonica/the_cavemaws_sinister_map.lua

@@ -0,0 +1,45 @@
+--[[
+    Script Name    : Quests/Antonica/the_cavemaws_sinister_map.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.08.11 06:08:20
+    Script Purpose : 
+
+        Zone       : Antonica
+        Quest Giver: 
+        Preceded by: None
+        Followed by: 
+--]]
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I need to slay the Cavemaw tunnelers in the Antonican caves.", 5, 100, "The cavemaw gnolls are up to no good, planning to dig their way all the way to Qeynos for a staged attack.  I cannot stop them all, but I can certainly slow them down.", 104, 120290)
+	AddQuestStepCompleteAction(Quest, 1, "QuestComplete")
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 1, "I have slain the Cavemaw tunnelers, I am sure my efforts helped to some degree.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have slain a large amount of Cavemaw tunnelers.")
+
+	UpdateQuestDescription(Quest, "I have slain a large amount of the seemingly limitless supply of Cavemaw tunnelers.  I hope my efforts slowed them down a bit.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 60 - 0
server/Quests/Antonica/the_whereabouts_of_clan_mcmarrin.lua

@@ -0,0 +1,60 @@
+--[[
+    Script Name    : Quests/Antonica/the_whereabouts_of_clan_mcmarrin.lua
+    Script Author  : Premierio015
+    Script Date    : 2022.08.17 08:08:47
+    Script Purpose : 
+
+        Zone       : Antonica
+        Quest Giver: 
+        Preceded by: None
+        Followed by: 
+--]]
+
+require "SpawnScripts/Generic/DialogModule"
+
+function Init(Quest)
+	AddQuestStepZoneLoc(Quest, 1, "I should search for a clue in the Thundering Steppes.", 10, "I should find some clue to the whereabouts of Clan McMarrin somewhere in the Thundering Steppes.", 11, 1345, -2, -81, 12)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	FaceTarget(QuestGiver, Player)
+	Dialog.New(QuestGiver, Player)
+    PlayFlavor(QuestGiver,"","","agree",0,0,Player)
+	Dialog.AddDialog("You would?  Aye, that is good to hear.  I like Qeynos and all, but us barbarians need a place we can call our own, you know?")
+	Dialog.AddOption("I can understand that.")
+	Dialog.Start()
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I should return to Tanen Danos.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I found a journal amidst the wreckage of a settlement while exploring the Thundering Steppes.")
+
+	AddQuestStepChat(Quest, 2, "I should return to Tanen Danos.", 1, "I should return to Tanen Danos and show him this journal.", 195, 120289)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 2, "I sold the journal to Tanen Danos.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I sold the journal to Tanen Danos.")
+
+	UpdateQuestDescription(Quest, "I found a journal of Clan McMarrian at a destroyed site in the Thundering Steppes. I sold the journal to Tanen Danos as he was eager to learn the fate of the clan. I don't think there is much hope for the clan considering the mess I found.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end

+ 7 - 1
server/Quests/Antonica/there_mite_be_trouble.lua

@@ -10,6 +10,7 @@
 	Preceded by		:	None
 	Followed by		:	None
 --]]
+require "SpawnScripts/Generic/DialogModule"
 
 
 function Init(Quest)
@@ -18,7 +19,12 @@ function Init(Quest)
 end
 
 function Accepted(Quest, QuestGiver, Player)
-	-- Add dialog here for when the quest is accepted
+	FaceTarget(QuestGiver, Player)
+	Dialog.New(QuestGiver, Player)
+	Dialog.AddDialog("Thank the lost gods! I know you can't exterminate all these pests, but please do your best. I'll reward you with what I can. Don't worry, little barley ... help is on the way.")
+	Dialog.AddVoiceover("voiceover/english/farmer_walcott/antonica/farmerwalcott002.mp3", 1854564329, 3891746852)
+    Dialog.AddOption("I will end your mite problems.")
+	Dialog.Start()
 end
 
 function Declined(Quest, QuestGiver, Player)

+ 1 - 1
server/Quests/Antonica/visions_of_coldwind_point.lua

@@ -33,7 +33,7 @@ function Step1Complete(Quest, QuestGiver, Player)
 	AddQuestStepZoneLoc(Quest, 2, "Visit the vigilant giant.", 10, "I must visit the four location in Antonica mentioned in \"Visions of Coldwind Point\".", 11, 347, -9, 812, 12)
 	AddQuestStepZoneLoc(Quest, 3, "Visit the tree that peeks.", 10, "I must visit the four location in Antonica mentioned in \"Visions of Coldwind Point\".", 11,  -25, -5, 671, 12)
 	AddQuestStepZoneLoc(Quest, 4, "Visit the sword like no other.", 10, "I must visit the four location in Antonica mentioned in \"Visions of Coldwind Point\".", 11, -435, 1, 553, 12)
-	AddQuestStepZoneLoc(Quest, 5, "Visit the King of the thicket.", 10, "I must visit the four location in Antonica mentioned in \"Visions of Coldwind Poin\".", 11, -698, -3, 596, 12)
+	AddQuestStepZoneLoc(Quest, 5, "Visit the King of the thicket.", 10, "I must visit the four location in Antonica mentioned in \"Visions of Coldwind Point\".", 11, -698, -3, 596, 12)
 		AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
 	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
 	AddQuestStepCompleteAction(Quest, 4, "Step4Complete")

+ 23 - 14
server/Quests/Baubbleshire/GatheringRockSamples.lua

@@ -10,45 +10,54 @@
 	Preceded by		:	None
 	Followed by		:	None
 --]]
+require "SpawnScripts/Generic/DialogModule"
 
 local GEOLOGIST_QUARDIFLE_ID = 2380036
 
 function Init(Quest)
-	AddQuestStepLocation(Quest, 1, "Find a mine in the Caves to obtain a windspirit crystal sample.", 20, "I need to visit three mines in the Caves to gather crystal samples.", 1159, 58.11, 2.93, -119.94)
+	AddQuestStepZoneLoc(Quest, 1, "Find a mine in the Caves to obtain a windspirit crystal sample.", 20, "I need to visit three mines in the Caves to gather crystal samples.", 1159, 58.11, 2.93, -119.94,826)
+	AddQuestStepZoneLoc(Quest, 2, "Find a mine in the Caves to obtain an elddar spark crystal sample.", 20, "I need to visit three mines in the Caves to gather crystal samples.", 1168, 66.73, 12.41, -70.69,826)
+	AddQuestStepZoneLoc(Quest, 3, "Find a mine in the Caves to obtain a prexus tear crystal sample.", 20, "I need to visit three mines in the Caves to gather crystal samples.", 1177, -49.35, 16.59, -133.75,826)
 	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
+    UpdateQuestZone(Quest,"Caves")
 end
 
 function Accepted(Quest, QuestGiver, Player)
 	FaceTarget(QuestGiver, Player)
-	conversation = CreateConversation()
-	UpdateQuestZone(Quest, "The Caves")
-	PlayFlavor(QuestGiver, "voiceover/english/geologist_quardifle/qey_village06/geologistquardifle003.mp3", "", "", 3141164092, 1027825871, Player)
-	AddConversationOption(conversation, "Alright. I'll see what I can find!")
-	StartConversation(conversation, QuestGiver, Player, "Great! You'll find that these caves are largely unexplored. Seek out intricate areas of these caves and bring me back some unique rock samples and I'll be happy!")
-end
+	Dialog.New(QuestGiver, Player)
+	Dialog.AddDialog("Great! You'll find some unexplored caves in this area. To get there, ring one of the dock bells. Once you arrive, seek out intricate areas of the caves. Bring me back some unique rock samples and I'll be happy!")
+	Dialog.AddVoiceover("voiceover/english/geologist_quardifle/qey_village06/geologistquardifle003.mp3", 3141164092, 1027825871)
+    PlayFlavor(QuestGiver, "", "", "smile", 0, 0, Player)
+--	Dialog.AddLanguage(6)
+	Dialog.AddOption("Alright, I'll see what I can find!")
+	Dialog.Start()
+	end
 
 function Step1Complete(Quest, QuestGiver, Player)
 	UpdateQuestStepDescription(Quest, 1, "I found a windpsirit sample.")
-
-	AddQuestStepLocation(Quest, 2, "Find a mine in the Caves to obtain an elddar spark crystal sample.", 20, "I need to visit three mines in the Caves to gather crystal samples.", 1168, 66.73, 12.41, -70.69)
-	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+    QuestCheck(Quest, QuestGiver, Player)
 end
 
 function Step2Complete(Quest, QuestGiver, Player)
 	UpdateQuestStepDescription(Quest, 2, "I found an elddar spark crystal formation.")
-
-	AddQuestStepLocation(Quest, 3, "Find a mine in the Caves to obtain a prexus tear crystal sample.", 20, "I need to visit three mines in the Caves to gather crystal samples.", 1177, -49.35, 16.59, -133.75)
-	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
+    QuestCheck(Quest, QuestGiver, Player)
 end
 
 function Step3Complete(Quest, QuestGiver, Player)
 	UpdateQuestStepDescription(Quest, 3, "I found a prexus tear sample.")
+    QuestCheck(Quest, QuestGiver, Player)
+end
+
+function QuestCheck(Quest, QuestGiver, Player)
+if QuestStepIsComplete(Player,504,1) ==true and QuestStepIsComplete(Player,504,2) ==true and QuestStepIsComplete(Player,504,3) ==true then
 	UpdateQuestTaskGroupDescription(Quest, 1, "I gathered the three samples from the different parts of the caves.")
-    
     UpdateQuestZone(Quest, "Baubbleshire")
 	AddQuestStepChat(Quest, 4, "I need to speak with Geologist Quardifle.", 1, "I need to give the samples I gathered to Geologist Quardifle.", 11, GEOLOGIST_QUARDIFLE_ID)
 	AddQuestStepCompleteAction(Quest, 4, "QuestComplete")
 end
+end
 
 function QuestComplete(Quest, QuestGiver, Player)
 	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around

+ 7 - 5
server/Quests/Baubbleshire/badger_pelts_for_diggs.lua

@@ -9,19 +9,21 @@
 	Preceded by: None
 	Followed by: None
 --]]
+require "SpawnScripts/Generic/DialogModule"
 
 
 function Init(Quest)
-	AddQuestStepKill(Quest, 1, "I need ten badger pelts.", 10, 80, "I must collect ten badger pelts in the Forest Ruins or Oakmyst Forest.", 93, 1960011, 1960017, 1950035, 1950039)
+	AddQuestStepKill(Quest, 1, "I need ten badger pelts.", 10, 100, "I must collect ten badger pelts in the Forest Ruins or Oakmyst Forest.", 93, 1960011, 1960017, 1950035, 1950039)
 	AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedBadgers")
 end
 
 function Accepted(Quest, QuestGiver, Player)
 	FaceTarget(QuestGiver, Player)
-	conversation = CreateConversation()
-
-	AddConversationOption(conversation, "Ok.")
-	StartConversation(conversation, QuestGiver, Player, "Try to make them high quality pelts!")
+	Dialog.New(QuestGiver, Player)
+	Dialog.AddDialog("Then prepare for a hunting trip in the Forest Ruins.  I'll pay you handsomely for a bundle of badger pelts.  I may even toss in a bit of Diggs' finest armor.")
+	Dialog.AddVoiceover("voiceover/english/merchant_diggin_diggs/qey_village06/merchantdiggindiggs002.mp3", 2590912109, 2110560767)
+	Dialog.AddOption("I will return with the bundle of badger pelts. ", "Dialog8")
+	Dialog.Start()
 end
 
 function Declined(Quest, QuestGiver, Player)

+ 1 - 1
server/Quests/Baubbleshire/fight_the_forgotten_guardians.lua

@@ -19,7 +19,7 @@ end
 function Accepted(Quest, QuestGiver, Player)
 	FaceTarget(QuestGiver, Player)
 	conversation = CreateConversation()
-		UpdateQuestZone(Quest, "Oakmyst Forest")
+	UpdateQuestZone(Quest, "Forest Ruins")	
 
 	AddConversationOption(conversation, "I will return victorious!")
 	StartConversation(conversation, QuestGiver, Player, "Good! Return when you've bested them!")

+ 1 - 1
server/Quests/Baubbleshire/in_search_of_the_shrine_of_estle.lua

@@ -19,7 +19,7 @@ end
 function Accepted(Quest, QuestGiver, Player)
 local conversation = CreateConversation()
 FaceTarget(QuestGiver, Player)
-AddConversationOption(conversation, "Sorry to cut you off, but the down below beckons.")
+AddConversationOption(conversation, "Sorry to cut you off, but the Down Below beckons.")
 StartConversation(conversation, QuestGiver, Player, "Deep down in the catacombs there are many shrines to protect the fallen - the heroes of Bristlebane and Rodcet Nife - who carried Qeynos through trials and tribulations, who fought hordes of undead, who...")
 PlayAnimation (NPC, orate)
 end

+ 1 - 1
server/Quests/Baubbleshire/in_search_of_the_tower_of_the_order_of_three.lua

@@ -21,7 +21,7 @@ function Accepted(Quest, QuestGiver, Player)
 	conversation = CreateConversation()
 
 
-	AddConversationOption(conversation, "I will find the mage tower ruins.")
+	AddConversationOption(conversation, "I'll be back shortly, I hope.")
 	StartConversation(conversation, QuestGiver, Player, "Good! I can't wait to hear about it!")
     PlayFlavor(QuestGiver, "","","clap",0,0,Player)
 end

+ 13 - 9
server/Quests/Baubbleshire/nylas_pie_thief.lua

@@ -10,6 +10,7 @@
         Preceded by: None
         Followed by: 
 --]]
+require "SpawnScripts/Generic/DialogModule"
 
 function Init(Quest)
 	AddQuestStepLocation(Quest, 1, "I must check 'The Ringing Hammer' smithy.", 5, "I need to check the smithy for someone who may have taken the pie.", 2558, 850.34, -18.22, -514.64, 238)
@@ -17,11 +18,14 @@ function Init(Quest)
 end
 
 function Accepted(Quest, QuestGiver, Player)
-    FaceTarget(QuestGiver, Player)
- conversation = CreateConversation()
- AddConversationOption(conversation, "I'll be back once I look around!")
- StartConversation(conversation, QuestGiver, Player, "You'd do that? Tell you what, you search for the missing pie and when you return I'll have a fresh baked pie waiting for you. I'll give the culprit such a scolding they'll think twice before taking one of my pies.")
-end
+	FaceTarget(QuestGiver, Player)
+	Dialog.New(QuestGiver,Player)
+	Dialog.AddDialog("You'd do that? Tell you what, you search for the missing pie and when you return I'll have a fresh baked pie waiting for you. Oh, and I'll give the culprit such a scolding, he'll think twice before taking another one of my pies!")
+	Dialog.AddVoiceover("voiceover/english/nyla_diggs/qey_village06/nyladiggs002.mp3", 1037348617, 3974383553)
+    Dialog.AddLanguage(8)
+	Dialog.AddOption("I'll return as soon as I find out more about that pie!")
+	Dialog.Start()
+ end
 
 function Declined(Quest, QuestGiver, Player)
 end
@@ -31,7 +35,7 @@ end
 
 function step1beentothesmithy(Quest, QuestGiver, Player)
 	UpdateQuestStepDescription(Quest, 1, "I checked 'The Ringing Hammer'")
-	UpdateQuestTaskGroupDescription(Quest, 1, "I checked the smithy, but found no one who took the pie")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I checked the smithy, but found no trace of the pie")
 
 	AddQuestStepLocation(Quest, 2, "I need to check 'The Qeynos Exchange'.", 5, "I need to check the bank for someone who may have taken the pie", 2558, 895.18, -18.01, -480.29, 238)
 	AddQuestStepCompleteAction(Quest, 2, "step2beentobank")
@@ -39,7 +43,7 @@ end
 
 function step2beentobank(Quest, QuestGiver, Player)
 	UpdateQuestStepDescription(Quest, 2, "I checked 'The Qeynos Exchange'")
-	UpdateQuestTaskGroupDescription(Quest, 2, "I checked the bank, but found no one who took the pie")
+	UpdateQuestTaskGroupDescription(Quest, 2, "The bank seems fairly quiet.  The banker is tending to his ledger, and there are no tell-tale crumbs lying around on the floor or desk.  No one here took Nyla's pie!")
 
     AddQuestStepLocation(Quest, 3, "I need to investigate 'The Deepmug Tavern'.", 5, "I need to check the tavern for someone who may have taken the pie", 2558, 880.47, -18.31, -443.50, 238)
 	AddQuestStepCompleteAction(Quest, 3, "step3deepmug")
@@ -47,7 +51,7 @@ end
 
 function step3deepmug(Quest, QuestGiver, Player)
 	UpdateQuestStepDescription(Quest, 3, "I smell the pie in 'The Deepmug Tavern'")
-	UpdateQuestTaskGroupDescription(Quest, 3, "I smell the pie coming from someone in The Deepmug Tavern")
+	UpdateQuestTaskGroupDescription(Quest, 3, "I smell fresh pie in the tavern! Someone in here is the pie thief.")
 
 	AddQuestStepChat(Quest, 4, "I need to ask the The Deepmug Tavern patrons about the pie.", 1, "Someone in the tavern must know about the pie.", 0, 2380030)
 	AddQuestStepCompleteAction(Quest, 4, "step4Thief")
@@ -57,7 +61,7 @@ function step4Thief(Quest, QuestGiver, Player)
 	UpdateQuestStepDescription(Quest, 4, "Lozoria Shinkicker took the pie!")
 	UpdateQuestTaskGroupDescription(Quest, 4, "Sadly, Lozoria Shinkicker couldn't resist eating the pie.")
 
-	AddQuestStepChat(Quest, 5, "I should tell Nyla about her pie.", 1, "Nyla needs to know Lozoria Shinkicker took her pie.", 0, 2380023)
+	AddQuestStepChat(Quest, 5, "I should tell Nyla about her pie.", 1, "I need to tell Nyla Diggs that Lozoria was the thief.", 0, 2380023)
 	AddQuestStepCompleteAction(Quest, 5, "QuestComplete")
 end
 

+ 1 - 1
server/Quests/Baubbleshire/oro_rootforlozoria.lua

@@ -38,7 +38,7 @@ function step1_complete_beetles(Quest, QuestGiver, Player)
 end
 
 function quest_complete(Quest, QuestGiver, Player)
-	UpdateQuestStepDescription(Quest, 2, "I have returned to Lozoria Shinkicker.")
+	UpdateQuestStepDescription(Quest, 2, "I returned with the oro root that Lozoria needed for his next batch of brew.")
 	UpdateQuestTaskGroupDescription(Quest, 2, "I have given the Oro roots to Lozoria Shinkicker.")
 	UpdateQuestDescription(Quest, "I managed to collect the ten roots that Lozoria wanted for their new brew. He seems to like the ale it makes just fine, that's for certain! He's rather charming in an odd sort of way!")
 	GiveQuestReward(Quest, Player)

+ 8 - 4
server/Quests/Baubbleshire/picnic_basket_for_yola.lua

@@ -9,6 +9,7 @@
         Preceded by: None
         Followed by: 
 --]]
+require "SpawnScripts/Generic/DialogModule"
 
 function Init(Quest)
     AddQuestStepChat(Quest, 1, "I need to deliver a basket to Yola.", 1, "I need to deliver a picnic basket to Yola over by the pond.", 2695, 2380032)
@@ -16,10 +17,13 @@ function Init(Quest)
 end
 
 function Accepted(Quest, QuestGiver, Player)
-  conversation = CreateConversation()
-      PlayFlavor(QuestGiver,"","","nod",0,0,Player)
-  AddConversationOption(conversation, "I'll dash right over.")
-  StartConversation(conversation, QuestGiver, Player, "Great, let me know when you get done with that delivery!")
+	FaceTarget(QuestGiver, Player)
+	Dialog.New(QuestGiver, Player)
+	Dialog.AddDialog("I prepared a picnic basket for Yola, and I need it delivered to her at the little lake.  You'll find her at the lunch spot.  I'll spot you a few coins if you're quick on your toes!  Hehe. Off with ya!")
+	Dialog.AddVoiceover("voiceover/english/tapster_bregun/qey_village06/tapsterbregun002.mp3", 895648320,2977770410)
+    PlayFlavor(QuestGiver,"","","chuckle",0,0,Player)
+	Dialog.AddOption("Alright.  I'll make sure she gets this!")
+	Dialog.Start()
 end   
 
 

+ 8 - 6
server/Quests/Baubbleshire/spindlecogs_new_job_.lua

@@ -9,6 +9,7 @@
         Preceded by: None
         Followed by: Reconstructed manually
 --]]
+require "SpawnScripts/Generic/DialogModule"
 
 function Init(Quest)
 	AddQuestStepKill(Quest, 1, "I must get ten fledgling antelope sinews in the Thundering Steppes.", 10, 100, "Tinkerer Spindlecog needs ten fledgling antelope sinews from the Thundering Steppes.", 99, 2490056)
@@ -17,12 +18,13 @@ function Init(Quest)
 end
 
 function Accepted(Quest, QuestGiver, Player)
-    conversation = CreateConversation()
-    FaceTarget(QuestGiver, Player)
-	PlayFlavor(QuestGiver, "voiceover/english/tinkerer_spindlecog/qey_village06/tinkererspindlecog003.mp3", "", "no", 2508515239, 4260547544, Player)
-	AddConversationOption(conversation, "I'll be back with these items.")
-	AddConversationOption(conversation, "Try not to blow anything up.")
-	StartConversation(conversation, QuestGiver, Player, "Of course not!  That's horribly inefficient!  Why would I ever do something by hand when I can build a machine to do it for me? If I could only connect these two ... Ah! Brilliant! Brilliant! Let me jot this down for you, and once you get this stuff, bring it back straightaway!  It's a bit of a trek, but I'm sure you are up to the challenge!")
+	FaceTarget(QuestGiver, Player)
+	Dialog.New(QuestGiver, Player)
+	Dialog.AddDialog("Of course not!  That's horribly inefficient!  Why would I ever do something by hand when I can build a machine to do it for me? If I could only connect these two ... Ah! Brilliant! Brilliant! Let me jot this down for you, and once you get this stuff, bring it back straightaway!  It's a bit of a trek, but I'm sure you are up to the challenge!")
+	Dialog.AddVoiceover("voiceover/english/tinkerer_spindlecog/qey_village06/tinkererspindlecog003.mp3", 2508515239, 4260547544)
+	Dialog.AddLanguage(6)
+	Dialog.AddOption("I'll see what I can do.", "Dialog1")
+	Dialog.Start()
 end
 
 function Step1Complete(Quest, QuestGiver, Player)

+ 52 - 0
server/Quests/BeggarsCourt/99_bottles_of_beer_in_my_hand.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	99_bottles_of_beer_in_my_hand.lua
+	Script Purpose	:	Handles the quest, "99 Bottles Of Beer In My Hand"
+	Script Author	:	torsten
+	Script Date		:	15.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Festus Septimius
+	Preceded by		:	None
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I need to find enough sand in the bulky brine sifters' glizzards.", 5, 100, "I need to kill enough bulky brine sifters in the Sunken City.", 11, 1240007, 1240045)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I've found enough sand in the bulky brine sifters' glizzards.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've found enough sand in the bulky brine sifters' glizzards.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Festus Septimius.", 1, "I should return to Festus Septimius to deliver the sand.", 11, 1370024)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Festus Septimius was happy with the result.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 56 - 0
server/Quests/BeggarsCourt/advanced_problem_solving.lua

@@ -0,0 +1,56 @@
+--[[
+	Script Name		:	advanced_problem_solving.lua
+	Script Purpose	:	Handles the quest, "Advanced Problem Solving"
+	Script Author	:	torsten
+	Script Date		:	17.07.2022
+	Script Notes	:	
+
+	Zone			:	The Sprawl
+	Quest Giver		:	Crispin Luvinius
+	Preceded by		:	Problem Solving
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "Defeat Giantslayer thugs", 5, 100, "I've heard that Giantslayer thugs hang out in the Sprawl.  I should pay them a little visit.  I can reach the Sprawl by using any of the bells in and around the City of Freeport.", 611, 1260013)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I've beat down five Giantslayer thugs")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've sent the Giantslayers a message that they shouldn't listen to vagrants who tell tall tales.")
+
+	AddQuestStepChat(Quest, 2, "Talk with Crispin", 1, "I should let Crispin in the Sprawl know that he and his gang have nothing to worry about.  I can reach the Sprawl by using any of the bells in and around the City of Freeport.", 11, 1370126)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 2, "I've spoken with Crispin")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I've let Crispin know these guys won't be bothering them anymore.")
+
+	UpdateQuestDescription(Quest, "I've taken care of Crispin's problem. It seems that the guy isn't as tough as he acts.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 52 - 0
server/Quests/BeggarsCourt/an_errand_for_the_queen.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	an_errand_for_the_queen.lua
+	Script Purpose	:	Handles the quest, "An Errand for the Queen"
+	Script Author	:	torsten
+	Script Date		:	15.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Tullia Domna
+	Preceded by		:	None
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I must kill five Giantslayer bashers", 5, 100, "I need to venture to the Sprawl and kill five Giantslayer Bashers.", 611, 1260022)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have killed the Giantslayer bashers")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've killed the Giantslayer Bashers as part of the trick I'm playing on the mad woman.")
+
+	AddQuestStepChat(Quest, 2, "I should return to Tullia Domna.", 1, "I should return to Tullia Domna.", 11, 1370000)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Tullia Domna, the mad woman in Beggar's Court, was going to knight me for killing the Giantslayer Bashers. Even though I was playing along with her insanity, I don't think I should go as far as giving her a sharp instrument to knight me with. This woman really needs help.")
+	GiveQuestReward(Quest, Player)
+end
+
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+    if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end

+ 52 - 0
server/Quests/BeggarsCourt/antius_package.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	antius_package.lua
+	Script Purpose	:	Handles the quest, "Antius' Package"
+	Script Author	:	torsten
+	Script Date		:	15.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Antius Vedrix
+	Preceded by		:	None
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to speak with Mirin.", 1, "I need to bring this package to an Iksar in Scale Yard, I think Antius said the Iksar was named Mirini, or Mirin, or something.", 11, 1390006)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have spoken with Mirin.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I gave the package to Mirin, but now I have a message I need to give back to Antius.")
+	
+	AddQuestStepChat(Quest, 2, "I should return to Antius Vedrix.", 1, "I should return to Antius Vedrix.", 11, 1370008)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Antius Vedrix has been given his message. I have absolutely no idea what's going on, or what I might have gotten myself into. I think I'll just avoid these people for the time being.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 61 - 0
server/Quests/BeggarsCourt/big_trouble_in_beggars_court.lua

@@ -0,0 +1,61 @@
+--[[
+	Script Name		:	big_trouble_in_beggars_court.lua
+	Script Purpose	:	Handles the quest, "Big Trouble in Beggar's Court"
+	Script Author	:	torsten
+	Script Date		:	18.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Alucius Valus
+	Preceded by		:	Saving History
+	Followed by		:	Tricking the Traitor
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to locate Durio and sell this package to him.", 1, "I need to sell a package to Durio for Alucius.", 11, 1370027)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I spoke with Durio and discovered Alucius has betrayed me.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I spoke with Durio and discovered Alucius is a traitor.")
+
+    AddQuestStepChat(Quest, 2, "I will locate and deliver documents to Kaseo Volcatius.", 1, "I turn over the documents to the Freeport Militia.", 11, 1370057)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 2, "I turned over the documents to the Freeport Militia.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I turned over the documents to the Freeport Militia and was rewarded for my loyalty.")
+
+    AddQuestStepChat(Quest, 3, "I should return to Alucius.", 1, "I should return to Alucius.", 11, 1370005)
+	AddQuestStepCompleteAction(Quest, 3, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "That snake Alucius was trying to sell off the fake documents I obtained for him earlier! I turned over the documents to a captain of the Freeport Militia as Durio suggested. Not only was I rewarded, but it felt good to be able to help Freeport and preserve the reputation of the Overlord.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    Step2Complete(Quest, QuestGiver, Player)
+	elseif Step == 3 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end

+ 52 - 0
server/Quests/BeggarsCourt/casing_the_joint.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	casing_the_joint.lua
+	Script Purpose	:	Handles the quest, "Casing the Joint"
+	Script Author	:	torsten
+	Script Date		:	15.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Lucius Vulso
+	Preceded by		:	None
+	Followed by		:	Into The Sewers For Lucius
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "Talk to Banker Kaman, in the bank in Stonestair Byway.", 1, "Talk to Banker Kamen, in the bank in Stonestair Byway.", 11, 1350044)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have spoken with Banker Kamen.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Banker Kamen.")
+	
+	AddQuestStepChat(Quest, 2, "I should return to Lucius Vulso.", 1, "I should return to Lucius Vulso.", 11, 1370036)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I don't know if Lucius was happy with the result, but he has another task for me.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 74 - 0
server/Quests/BeggarsCourt/deliver_help_to_janus_fieri.lua

@@ -0,0 +1,74 @@
+--[[
+	Script Name		:	deliver_help_to_janus_fieri.lua
+	Script Purpose	:	Handles the quest, "Deliver Help to Janus Fieri"
+	Script Author	:	torsten
+	Script Date		:	16.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Marcus Cantarius
+	Preceded by		:	Marcus Cantarius's Monumental Hatred
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "Deliver note to Janus Fieri.", 1, "I need to deliver this note to Janus Fieri at the Crossroads in the Commonlands.", 75, 330171)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "Located Janus Fieri.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I found Janus Fieri and delivered Marcus' note.")
+	
+	AddQuestStep(Quest, 2, "Investigate the nomad's camp and find the journal.", 1, "Investigate the nomad's camp in the Commonlands and find the journal.", 11)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 2, "I found the journal.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I found the journal in a stack of books.")
+
+	AddQuestStepChat(Quest, 3, "I should return to Janus.", 1, "I should return to Janus in the Crossroads to deliver the journal.", 75, 330171)
+	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
+end
+
+function Step3Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 3, "I returned to Janus.")
+	UpdateQuestTaskGroupDescription(Quest, 3, "I returned to Janus in the Crossroads and delivered the journal.")
+
+	AddQuestStepKill(Quest, 4, "I need to kill ten Bloodskull lumberjacks.", 10, 100, "I need to kill ten Bloodskull lumberjacks in theCommonlands.", 611, 330125, 331138)
+	AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
+end
+
+function Step4Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 4, "I killed the Bloodskull lumberjacks.")
+	UpdateQuestTaskGroupDescription(Quest, 4, "I killed the Bloodskull lumberjacks in the Commonlands.")
+
+	AddQuestStepChat(Quest, 5, "I should return to Janus.", 1, "I should return to Janus in the Crossroads.", 75, 330171)
+	AddQuestStepCompleteAction(Quest, 5, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I've delivered Marcus' note to Janus and helped Janus with his murder investigation.  Turns out he was investigating his own brother's death.  It was a pleasure to help him take vengeance.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 52 - 0
server/Quests/BeggarsCourt/finding_the_stash_.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	finding_the_stash.lua
+	Script Purpose	:	Handles the quest, "Finding the Stash"
+	Script Author	:	torsten
+	Script Date		:	17.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Alucius Valus
+	Preceded by		:	None
+	Followed by		:	Saving History
+--]]
+
+
+function Init(Quest)
+	AddQuestStep(Quest, 1, "I need to locate the hidden stash of items Alucius is looking for. He said it should be in one of the northwestern rooms.", 1, 100, "Alucius wants me to find a stash of items belonging to a recently departed man.", 11)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I found the hidden items Alucius wanted. I need to return them to him now.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I was able to find the stashed items Alucius was looking for.")
+   
+    AddQuestStepChat(Quest, 2, "I sould return to Alucius.", 1, "I sould return to Alucius at the docks.", 11, 1370005)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I was able to locate the hidden stash Alucius wanted. I have returned what I found to him.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 52 - 0
server/Quests/BeggarsCourt/free_wares_for_silentblade.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	free_wares_for_silentblade.lua
+	Script Purpose	:	Handles the quest, "Free Wares for Silentblade"
+	Script Author	:	torsten
+	Script Date		:	15.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Armsdealer Silentblade
+	Preceded by		:	None
+	Followed by		:	Get Rich Quick!
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I must kill undead battlepriests and collect ten maces.", 10, 100, "I should head over to the Graveyard and collect ten maces from undead battlepriests.", 34, 1250008, 1250018)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I've collected the maces from the battlepriests.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've killed the undead battlepriests and searched through their remains. I've managed to collect ten maces from their bones.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Silentblade.", 1, "I should return to Silentblade.", 11, 1370011)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Silentblade showed me that one of his secrets was to collect up old rusty weapons from the undead. Soaking the weapons in acid and giving them a new coat of paint make them look brand new. I'm not sure I would ever buy anything from him if I wanted to live longer than my next battle.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 53 - 0
server/Quests/BeggarsCourt/get_rich_quick.lua

@@ -0,0 +1,53 @@
+--[[
+	Script Name		:	get_rich_quick.lua
+	Script Purpose	:	Handles the quest, "Get Rich Quick!"
+	Script Author	:	torsten
+	Script Date		:	15.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Armsdealer Silentblade
+	Preceded by		:	Free Wares for Silentblade
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to speak with Blort.", 1, "I need to bring this shipment of maces to Arms Dealer Blort in Big Bend.", 11, 1340023)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I've spoken with Blort.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have given Arms Dealer Blort the maces he's been waiting on.")
+	
+	AddQuestStepChat(Quest, 2, "I should return to Silentblade.", 1, "I should return to Silentblade.", 11, 1370011)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I've been shown by Arms Dealer Silentblade that one of the best ways to make money as an arms dealer is to let other people make it for you. It seems the trick is to get a bunch of people to buy from you, and when they have enough recruits, they can sell those weapons to other Arms Dealers. I may look into this someday. It seems I could get rich quick this way!")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 41 - 0
server/Quests/BeggarsCourt/into_the_sewers_for_lucius.lua

@@ -0,0 +1,41 @@
+--[[
+	Script Name		:	into_the_sewers_for_lucius.lua
+	Script Purpose	:	Handles the quest, "Into The Sewers For Lucius"
+	Script Author	:	torsten
+	Script Date		:	15.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Lucius Vulso
+	Preceded by		:	Casing the Joint
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I must kill six trash hoppers.", 6, 100, "I need to go into the sewers and find six trash hoppers and kill them. Once they're dead, I'll scrape the slime off of their bodies. I sure hope they're not too big.", 611, 1540013)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have killed the trash hoppers.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've managed to kill enough trash hoppers to gather up this slime for Lucius.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Lucius.", 1, "I should return to Lucius.", 11, 1370036)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I've given Lucius Vulso enough slime from the frog's skin to mask his scent. If he manages to pull off this bank heist, I'll have to follow his lead and get out of the city. I'm the only one who was seen asking about the place... what was I thinking?")
+	GiveQuestReward(Quest, Player)
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+    if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 50 - 0
server/Quests/BeggarsCourt/joining_the_gang.lua

@@ -0,0 +1,50 @@
+--[[
+	Script Name		:	joining_the_gang.lua
+	Script Purpose	:	Handles the quest, "Joining the Gang"
+	Script Author	:	torsten
+	Script Date		:	15.07.2022
+	Script Notes	:	
+
+	Zone			:	Sunken City
+	Quest Giver		:	Manius Galla
+	Preceded by		:	None
+	Followed by		:	Donations from the Banker
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "Kill Blackshield raiders", 10, 100, "I need to kill some of the Blackshields in the Sunken City.  I can reach the Sunken City by using any of the bells in and around the City of Freeport.", 611, 1240002)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have killed the Blackshield raiders.")
+    
+	AddQuestStepChat(Quest, 2, "I should return to Manius.", 1, "I've let Manius know that I've done what it takes to pass his test.", 11, 1370127)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I've killed the raider lackeys as Manius asked, completing my test. He said he'll think about letting me join, as he hasn't decided yet. I should check back with him later.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+		QuestComplete(Quest, QuestGiver, Player)
+    end
+end

+ 51 - 0
server/Quests/BeggarsCourt/marcus_cantariuss_monumental_hatred.lua

@@ -0,0 +1,51 @@
+--[[
+	Script Name		:	marcus_cantariuss_monumental_hatred.lua
+	Script Purpose	:	Handles the quest, "Marcus Cantarius's Monumental Hatred"
+	Script Author	:	torsten
+	Script Date		:	16.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Marcus Cantarius
+	Preceded by		:	None
+	Followed by		:	Deliver Help to Janus Fieri
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I need to collect twenty dervish thug scalps.", 20, 100, "I need to collect scalps from the dervish thugs in the Commonlands for Marcus Cantarius.", 138, 330096, 330105)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have enough dervish thug scalps.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I need to take these scalps to Marcus Cantarius in the Beggar's Court.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Marcus.", 1, "I should return to Marcus.", 11, 1370042)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "It was a long and arduous task killing so many dervish thugs, but the reward was well worth the effort!")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+    if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end

+ 45 - 0
server/Quests/BeggarsCourt/meet_the_inquisitor.lua

@@ -0,0 +1,45 @@
+--[[
+	Script Name		:	meet_the_inquisitor.lua
+	Script Purpose	:	Handles the quest, "Meet the Inquisitor"
+	Script Author	:	torsten
+	Script Date		:	18.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Durio Dexus
+	Preceded by		:	Tricking the Traitor
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to locate Inquisitor Thorson. I should use the bell to summon transport to the Sunken City.", 1, "I need to head to the Sunken City to meet Inquisitor Thorson.", 11, 1240024)
+	AddQuestStepCompleteAction(Quest, 1, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 1, "I've met Inquisitor Thorson.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've met Inquisitor Thorson.")
+
+	UpdateQuestDescription(Quest, "I've spoken with Inquisitor Thorson in the Sunken City. I should be able to learn much more from him.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end

+ 56 - 0
server/Quests/BeggarsCourt/problem_solving.lua

@@ -0,0 +1,56 @@
+--[[
+	Script Name		:	problem_solving.lua
+	Script Purpose	:	Handles the quest, "Problem Solving"
+	Script Author	:	torsten
+	Script Date		:	17.07.2022
+	Script Notes	:	
+
+	Zone			:	The Sprawl
+	Quest Giver		:	Crispin Luvinius
+	Preceded by		:	None
+	Followed by		:	Advanced Problem Solving
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "Kill vagrant squatters", 10, 100, "I need to send a message to the vagrant squatters in the Ruins.  The message will involve a lot of them breathing dirt.  I can reach the Ruins by using any of the bells in and around the City of Freeport.", 611, 1270004)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I've dealt with the vagrants.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "Those vagrants got the message loud and clear.")
+
+	AddQuestStepChat(Quest, 2, "Talk with Crispin", 1, "I should let Crispin in Beggar's Court know that his problem has been solved.  I should get paid, too.  I can reach the Sprawl by using any of the bells in and around the City of Freeport.", 11, 1370126)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 2, "I've spoken with Crispin.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I've let Crispin know that I've solved his problem.")
+
+	UpdateQuestDescription(Quest, "I've taken care of Crispin's problem.  I think it won't be too long before his business partner decides to do what he was told to do.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 53 - 0
server/Quests/BeggarsCourt/running_for_a_candidate.lua

@@ -0,0 +1,53 @@
+--[[
+	Script Name		:	running_for_a_candidate.lua
+	Script Purpose	:	Handles the quest, "Running For A Candidate"
+	Script Author	:	torsten
+	Script Date		:	17.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Mariana Darkleaf
+	Preceded by		:	To Spite a Darkleaf
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "Marianna Darklea asks you to deliver a note to Lurina Galla.", 1, "Marianna Darklea asks you to deliver a note to Lurina Galla here in Beggar's Court.", 11, 1370026)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "The note was delivered to Lurina.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "The note was delivered to Lurina in the upper courtyard.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Mariana.", 1, "I should return to Mariana to tell her I delivered the note.", 11, 1370014)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "You finished the final task of Mariana Darfleaf. That's all you want to have to do with this person.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 34 - 14
server/Quests/BeggarsCourt/saving_history.lua

@@ -1,32 +1,52 @@
 --[[
-    Script Name    : Quests/BeggarsCourt/saving_history.lua
-    Script Author  : Shatou
-    Script Date    : 2018.09.03 10:09:33
-    Script Purpose : 
-
-        Zone       : BeggarsCourt
-        Quest Giver: 
-        Preceded by: None
-        Followed by: 
+	Script Name		:	Quests/BeggarsCourt/saving_history.lua
+	Script Purpose	:	Handles the quest, "Saving History"
+	Script Author	:	torsten
+	Script Date		:	17.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Alucius Valus
+	Preceded by		:	Finding the Stash
+	Followed by		:	Big Trouble in Beggar's Court
 --]]
 
+
 function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I need to locate a shady thug who has false historical records concerning the last war.", 1, 100, "I need to locate and retrieve the false war documents from the shady thug who has them.", 11, 1370059)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
 
+function Step1Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 1, "I was able to remove the man and gather the documents. I need to return them to Alucius.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "It was difficult, but I recovered the documents and rid Freeport of a traitor.")
+	
+    AddQuestStepChat(Quest, 2, "I sould return to Alucius.", 1, "I sould return to Alucius at the docks.", 11, 1370005)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
 end
 
-function Accepted(Quest, QuestGiver, Player)
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I was able to locate the hidden stash Alucius wanted. I have returned what I found to him.")
+	GiveQuestReward(Quest, Player)
+end
 
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
 end
 
 function Declined(Quest, QuestGiver, Player)
-
+	-- Add dialog here for when the quest is declined
 end
 
-function quest_complete(Quest, QuestGiver, Player)
-
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
 end
 
 function Reload(Quest, QuestGiver, Player, Step)
-
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
 end
 

+ 51 - 0
server/Quests/BeggarsCourt/siricus_and_the_militia.lua

@@ -0,0 +1,51 @@
+--[[
+	Script Name		:	siricus_and_the_militia.lua
+	Script Purpose	:	Handles the quest, "Siricus and the Militia"
+	Script Author	:	torsten
+	Script Date		:	17.07.2022
+	Script Notes	:	
+	Zone			:	Beggar's Court
+	Quest Giver		:	Siricus Calventius
+	Preceded by		:	None
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to speak with Sentius.", 1, "Siricus wants an update from a person named Sentius. He is supposedly here in Beggar's Court standing in the courtyard drinking some wine next to a merchant.", 11, 1370020)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have spoken with Sentius.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "Sentius claims that the application will take time and that he's working on it.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Siricus.", 1, "I should return to Siricus.", 11, 1370045)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Siricus Calventius is waiting to get into the Militia. I have a good feeling he'll be waiting a lot longer, considering how people treat the gimp.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+        QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 51 - 0
server/Quests/BeggarsCourt/the_nyghtfallow_heirloom.lua

@@ -0,0 +1,51 @@
+--[[
+	Script Name		:	the_nyghtfallow_heirloom.lua
+	Script Purpose	:	Handles the quest, "The Nyghtfallow Heirloom"
+	Script Author	:	torsten
+	Script Date		:	17.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Tsuul Nyghtfallow
+	Preceded by		:	None
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I must kill Dervish hooligans until I find the pendant.", 5, 100, "I should kill Dervish hooligans in The Sprawl until I find Nyghtfallow's Pendant.", 1244, 1260011)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have killed the Dervish hooligans and found the pendant.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have killed some dervishes.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Tsuul.", 1, "I should return to Tsuul in the Beggar's Court.", 11, 1370025)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I found and killed the dervish that held Tsuul Nyghtfallow's family pendant.  The item given in return is nice enough. ")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end

+ 52 - 0
server/Quests/BeggarsCourt/to_spite_a_darkleaf.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	to_spite_a_darkleaf.lua
+	Script Purpose	:	Handles the quest, "To Spite a Darkleaf"
+	Script Author	:	torsten
+	Script Date		:	17.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Mariana Darkleaf
+	Preceded by		:	None
+	Followed by		:	Running For A Candidate
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I must kill 10 Shoreside Asps in the Sprawl.", 10, 100, "Since she taunted you about killing some Shoreside Asps in the Sprawl, you'll do just that.", 98, 1260018)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have killed the Shoreside Asps in the Sprawl.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have killed some Shoreside Asps.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Mariana.", 1, "I should return to Mariana in the Beggar's Court.", 11, 1370014)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "You finished the task of Mariana Darfleaf.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 53 - 0
server/Quests/BeggarsCourt/tricking_the_traitor.lua

@@ -0,0 +1,53 @@
+--[[
+	Script Name		:	tricking_the_traitor.lua
+	Script Purpose	:	Handles the quest, "Tricking the Traitor"
+	Script Author	:	torsten
+	Script Date		:	18.07.2022
+	Script Notes	:	
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Durio Dexus
+	Preceded by		:	Big Trouble in Beggar's Court
+	Followed by		:	Meet the Inquisitor
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to go confront Alucius and convince him of his wrong doing.", 1, "I need to confront Alucius about his actions.", 11, 1370005)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I was able to trick Alucius into believing I helped him. I need to return to durio now to set his mind at ease.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I was able to convince Alucius that I am being protected by the Militia.")
+	
+	AddQuestStepChat(Quest, 2, "I should return to Durio Dexus.", 1, "I should return to Durio Dexus.", 11, 1370027)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I have spoken with Alucius, and was able to convince him I am not to be messed with. I guess the thought of being marked as a traitor by the Overlord worked well.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+    end
+end
+
+

+ 74 - 0
server/Quests/BigBend/a_subtle_reminder_.lua

@@ -0,0 +1,74 @@
+--[[
+	Script Name		:	a_subtle_reminder.lua
+	Script Purpose	:	Handles the quest, "A Subtle Reminder"
+	Script Author	:	torsten
+	Script Date		:	12.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Braz Gutpounder
+	Preceded by		:	None
+	Followed by		:	Trollish Delights
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "Speak to Thick-headed Ruzb about his culinary habits. He should be east of the Freeport gate, in the building with Brona the slaver.", 1, "Speak to Thick-headed Ruzb and convince him that gnomes must remain un-eaten.", 11, 1340024)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 1, "Ruzb needs some incentive to change to a new meat product.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "Ruzb has seen the light. Or at least, he understands that it could go badly for him if he continues to eat gnomes.")
+	
+	AddQuestStepObtainItem(Quest, 2, "I need to buy some dwarf chunks.", 1, 100, "I need to buy some dwarf chunks for Ruzb.", 135, 6633)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 2, "I bought some dwarf chunks.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I bought some dwarf chunks for Ruzb.")
+	
+	AddQuestStepChat(Quest, 3, "I need to return to Ruzb.", 1, "I need to return to Ruzb to give him the meat.", 0, 1340024)
+	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
+end
+
+function Step3Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 3, "I bought some dwarf chunks.")
+	UpdateQuestTaskGroupDescription(Quest, 3, "I bought some dwarf chunks for Ruzb.")
+	RemoveItem(Player, 6633) --Dwarf Chunks
+	
+	AddQuestStepChat(Quest, 4, "I need to return to Braz Gutpounder.", 1, "I need to return to Braz Gutpounder and tell him about Ruzb.", 0, 1340039)
+	AddQuestStepCompleteAction(Quest, 4, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "With Ruzb convinced to stop eating gnomes from the neighboring areas, Braz thanked me. Maybe I should come back later and ask him some more about the trolls.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+    if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    Step2Complete(Quest, QuestGiver, Player)
+	elseif Step == 3 then
+	    Step3Complete(Quest, QuestGiver, Player)
+	elseif Step == 4 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 73 - 0
server/Quests/BigBend/ay_theres_the_rubbish.lua

@@ -0,0 +1,73 @@
+--[[
+	Script Name		:	ay_theres_the_rubbish.lua
+	Script Purpose	:	Handles the quest, "Ay, There's the Rubb'ish"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:
+
+	Zone			:	Big Bend
+	Quest Giver		:	Kroota Gukbutcher
+	Preceded by		:	None
+	Followed by		:	Rat Barsh!
+--]]
+
+
+function Init(Quest)
+	AddQuestStepHarvest(Quest, 1, "Any pieces of rubbish need to be picked up.", 4, 100, "I am to remove the remnants of the fight from around the gates to the City of Freeport.", 2365, 1001007)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 1, "I have removed enough of the junk near the gate.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have cleaned up the rubbish.")
+	while HasItem(Player, 1001007) do
+          RemoveItem(Player, 1001007)
+    end
+	
+	AddQuestStepHarvest(Quest, 2, "Any thrown aside bones need to be picked up.", 2, 100, "I am to remove the remnants of the fight from around the gates to the City of Freeport.", 418, 1001008)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 2, "I have picked up enough bones at the gate. I should return to Kroota.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I have cleaned up the rubbish.")
+	while HasItem(Player, 1001008) do
+          RemoveItem(Player, 1001008)
+    end
+	
+	AddQuestStepChat(Quest, 3, "I should return to Kroota.", 1, "I should return to Kroota, I have cleaned up the rubbish.", 0, 1340040)
+	AddQuestStepCompleteAction(Quest, 3, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 3, "I have removed enough of the junk near the gate.")
+	UpdateQuestTaskGroupDescription(Quest, 3, "I have cleaned up the rubbish.")
+
+	UpdateQuestDescription(Quest, "I cleaned up the trash and other signs of the fight from around the gate to South Freeport.")
+	GiveQuestReward(Quest, Player)
+end
+
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    Step2Complete(Quest, QuestGiver, Player)
+	elseif Step == 3 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 93 - 0
server/Quests/BigBend/bronas_guard_check.lua

@@ -0,0 +1,93 @@
+--[[
+	Script Name		:	bronas_guard_check.lua
+	Script Purpose	:	Handles the quest, "Brona's Guard Check"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Slaver Brona
+	Preceded by		:	Brona's Thralls
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepLocation(Quest, 1, "I need to check the gate in Big Bend", 20, "I'm supposed to check all of the gates that lead into the city.", 11, -2, 3, -67, 134)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 1, "I've checked the gate in Big Bend")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've checked the gate in Big Bend")
+
+    AddQuestStepLocation(Quest, 2, "I need to check the gate in Longshadow Alley", 20, "I'm supposed to check all of the gates that lead into the city.", 11, 13, 3, 67, 138)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 2, "I've checked the gate in Longshadow Alley")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I've checked the gate in Longshadow Alley")
+
+    AddQuestStepLocation(Quest, 3, "I need to check the gate in Scale Yard", 20, "I'm supposed to check all of the gates that lead into the city.", 11, -4, -5, -6, 139)
+	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
+end
+
+function Step3Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 3, "I've checked the gate in Scale Yard")
+	UpdateQuestTaskGroupDescription(Quest, 3, "I've checked the gate Scale Yard")
+
+    AddQuestStepLocation(Quest, 4, "I need to check the gate in Stonestair Byway", 20, "I'm supposed to check all of the gates that lead into the city.", 11, 6, -4, -94, 166)
+	AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
+end
+
+function Step4Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 4, "I've checked the gate in Stonestair Byway")
+	UpdateQuestTaskGroupDescription(Quest, 4, "I've checked the gate in Stonestair Byway")
+
+    AddQuestStepLocation(Quest, 5, "I need to check the gate in Temple Street", 20, "I'm supposed to check all of the gates that lead into the city.", 11, 18, 2, 24, 136)
+	AddQuestStepCompleteAction(Quest, 5, "Step5Complete")
+end
+
+function Step5Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 5, "I've checked the gate in Temple Street")
+	UpdateQuestTaskGroupDescription(Quest, 5, "I've checked all of the gates leading into the city.")
+	
+	AddQuestStepChat(Quest, 6, "I should return to Slaver Brona.", 1, "I should return to Slaver Brona.", 11, 1340030)
+	AddQuestStepCompleteAction(Quest, 6, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "It was easy enough work, but that Brona is up to something and I've unwittingly helped her. I wonder what she is trying to accomplish.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    Step2Complete(Quest, QuestGiver, Player)
+	elseif Step == 3 then
+	    Step3Complete(Quest, QuestGiver, Player)
+	elseif Step == 4 then
+	    Step4Complete(Quest, QuestGiver, Player)
+	elseif Step == 5 then
+	    Step5Complete(Quest, QuestGiver, Player)
+	elseif Step == 6 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 52 - 0
server/Quests/BigBend/bronas_thralls.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	bronas_thralls.lua
+	Script Purpose	:	Handles the quest, "Brona's Thralls"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Slaver Brona
+	Preceded by		:	None
+	Followed by		:	Brona's Guard Check
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to speak with Bartender Icebrew in the Scale Yard.", 1, "I've got to let Bartender Icebrew from the Scale Yard district know that Brona has new thralls for him to choose from.", 11, 1390051)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I've spoken with Bartender Icebrew.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've informed Bartender Icebrew of Brona's new thralls.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Brona.", 1, "I should return to Brona to tell her that I have delivered the message.", 11, 1340030)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Running errands for Slaver Brona wasn't as bad as I had imagined... Perhaps I'll offer my services again.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 52 - 0
server/Quests/BigBend/donations_from_the_banker.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	donations_from_the_banker.lua
+	Script Purpose	:	Handles the quest, "Donations from the Banker"
+	Script Author	:	torsten
+	Script Date		:	15.07.2022
+	Script Notes	:
+
+	Zone			:	Beggar's Court
+	Quest Giver		:	Manius Galla
+	Preceded by		:	Joining the Gang
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to speak with the banker Voranius in Beggar's Court.", 1, "I need to speak with the banker in Beggar's Court and make sure he hands over his 'donation'.", 11, 1370012)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I've spoken with the banker Voranius in Beggar's Court.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "The banker was scared of my threat and gave his 'donation'. He also said some bad things about Manius.")
+    
+    AddQuestStepChat(Quest, 2, "I should return to Manius.", 1, "I should return to Manius.", 11, 1370127)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I've collected the 'donation' from the banker and given it to Manius. I've also told Manius what the banker said about him. Needless to say, he wasn't too happy. I just realized that I forgot to ask him about joining his gang. Maybe I'll ask him some other time.")
+	GiveQuestReward(Quest, Player)
+end
+
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end

+ 46 - 0
server/Quests/BigBend/dwarven_payback.lua

@@ -0,0 +1,46 @@
+--[[
+	Script Name		:	dwarven_payback.lua
+	Script Purpose	:	Handles the quest, "Dwarven Payback"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	a dwarven prisoner
+	Preceded by		:	None
+	Followed by		:	None
+--]]
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "Slay ten ratonga", 10, 100, "Slay ratonga in the Sprawl. Many can be found throughout the area.", 611, 1260008, 1260010, 1260012, 1260014, 1260032)
+	AddQuestStepCompleteAction(Quest, 1, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 1, "Ten ratonga have been slain")
+	UpdateQuestTaskGroupDescription(Quest, 1, "Many ratonga have been slain by my hand.")
+
+	UpdateQuestDescription(Quest, "I've killed a number of ratonga to avenge the dwarf.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 53 - 0
server/Quests/BigBend/funny_rat_smashing.lua

@@ -0,0 +1,53 @@
+--[[
+	Script Name		:	funny_rat_smashing.lua
+	Script Purpose	:	Handles the quest, "Funny Rat Smashing"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Muzmog
+	Preceded by		:	Muzmog's Rat Smashing Fun
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I must kill ten rats here in Freeport.", 10, 100, "If I kill ten rats, that should make Muzmog like me more.", 99,  1540004, 1250014, 1250016, 1250035, 1540031)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have killed the rats.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've killed the rats that Muzmog pointed out.")
+	
+	AddQuestStepChat(Quest, 2, "I should return to Muzmog.", 1, "I should return to Muzmog.", 11, 1340020)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I've tried to make friends with Muzmog, but it seems he's had a bit too much to drink. I think I'll leave him alone from now on.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 69 - 0
server/Quests/BigBend/gnomore_gnomesteaks.lua

@@ -0,0 +1,69 @@
+--[[
+	Script Name		:	gnomore_gnomesteaks.lua
+	Script Purpose	:	Handles the quest, "Gnomore Gnomesteaks"
+	Script Author	:	torsten
+	Script Date		:	13.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Braz Gutpounder
+	Preceded by		:	Troll Patrol
+	Followed by		:	Troll Adventures
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "Check up on Ruzb and see if he's back to eating gnomes again.", 1, "Check in with Ruzb and make sure he's not gone back to eating gnomes again.", 11, 1340024)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "Looks like Ruzb is beyond salvation.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "Looks like Ruzb just couldn't keep away from the gnomesteaks. His loss.")
+	
+	local zone = GetZone(Player)
+	local RuzbNPC = GetSpawnByLocationID(zone, 388762, false)
+    Despawn(RuzbNPC)
+    
+    local Ruzb = GetSpawnByLocationID(zone, 133773787, false)
+    local SpawnRuzb = SpawnByLocationID(zone, 133773787,false)
+
+    AddQuestStepKill(Quest, 2, "I need to kill Ruzb!", 1, 100, "I need to kill Ruzb after he attacked me.", 91, 1340140)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 2, "I needed to kill Ruzb.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I needed to kill Ruzb after he attacked me.")
+    
+    AddQuestStepChat(Quest, 3, "I need to return to Braz.", 1, "I need to return to Braz after I killed Ruzb.", 11, 1340039)
+	AddQuestStepCompleteAction(Quest, 3, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Unfortunately, Ruzb just couldn't keep from eating the gnomes. Much to his discomfort, he had to be put out of his own misery. Or rather, Freeport can't have its citizens eating each other. It's just bad for morale.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    Step2Complete(Quest, QuestGiver, Player)
+	elseif Step == 3 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 51 - 0
server/Quests/BigBend/hops_for_galenus.lua

@@ -0,0 +1,51 @@
+--[[
+	Script Name		:	hops_for_galenus.lua
+	Script Purpose	:	Handles the quest, "Hops for Galenus"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Galenus Fulvianus
+	Preceded by		:	Paying the Tab
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to speak with Hurska.", 1, "I need to find Hurska. She should be near the docks.", 11, 1340041)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have spoken to Hurska.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "Hurska gave me the hops and barley.")
+
+	AddQuestStepChat(Quest, 2, "I should return to Galenus.", 1, "I should return to Galenus to deliver the 'hops and barley'.", 11, 1340016)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I have given Galenus his package of 'hops and barley'. I'm pretty certain it wasn't what he said it was, but I'd rather not ask any questions.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 46 - 0
server/Quests/BigBend/more_barshing.lua

@@ -0,0 +1,46 @@
+--[[
+	Script Name		:	more_barshing.lua
+	Script Purpose	:	Handles the quest, "More Barshing!"
+	Script Author	:	torsten
+	Script Date		:	12.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Kroota Gukbutcher
+	Preceded by		:	The Fume and Fire Ceremony
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to speak with Enforcer Kurdek.", 1, "I need to find Enforcer Kurdek in The Sprawl and see what work he has for me.", 11, 1260017)
+	AddQuestStepCompleteAction(Quest, 1, "QuestComplete")
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	-- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around
+	UpdateQuestStepDescription(Quest, 1, "I have spoken with Enforcer Kurdek.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have found Enforcer Kurdek.")
+
+	UpdateQuestDescription(Quest, "I have spoken to Enforcer Kurdek.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 125 - 0
server/Quests/BigBend/much_ado_about_rallos.lua

@@ -0,0 +1,125 @@
+--[[
+	Script Name		:	much_ado_about_rallos.lua
+	Script Purpose	:	Handles the quest, "Much Ado' About Rallos"
+	Script Author	:	torsten
+	Script Date		:	12.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Kroota Gukbutcher
+	Preceded by		:	Rat Barsh!
+	Followed by		:	The Fume and Fire Ceremony
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "Zukogg is just outside the Freeport Reserve bank in the center of Big Bend.  Speak to her about the skins.", 1, "Rallos' ceremony requires blood of his enemies, skins of the inferior, and incense.", 11, 1340009)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I spoke to Zukogg.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I spoke to Zukogg about the skins.")
+
+	AddQuestStep(Quest, 2, "I need to collect skins.", 1, 100, "I need to collect skins from the barrels nearby.", 0)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 2, "I collected the skins.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I collected the skins from the barrels.")
+
+	AddQuestStepChat(Quest, 3, "I need to talk to Barch about the blood.", 1, "I need to talk to Barch about the blood.", 11, 1340015)
+	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
+end
+
+function Step3Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 3, "I talked to Barch about the blood.")
+	UpdateQuestTaskGroupDescription(Quest, 3, "I talked to Barch about the blood.")
+
+	AddQuestStepHarvest(Quest, 4, "I need to gather a Vase of Qeynosian Origin.", 1, 100, "The vase should be around here somewhere.", 569, 15179)
+	AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
+end
+
+function Step4Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 4, "I found a Vase of Qeynosian Origin.")
+	UpdateQuestTaskGroupDescription(Quest, 4, "I should bring the Vase to Barch.")
+
+	AddQuestStepChat(Quest, 5, "I need to bring the vase to Barch, he will give me the blood hopefully.", 1, "I need to bring the vase to Barch.", 11, 1340015)
+	AddQuestStepCompleteAction(Quest, 5, "Step5Complete")
+end
+
+function Step5Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 5, "I talked to Barch.")
+	UpdateQuestTaskGroupDescription(Quest, 5, "I talked to Barch and he gave me the Blood of Rallos' Enemies.")
+	while HasItem(Player, 15179) do --destroy vase
+        RemoveItem(Player, 15179)
+    end
+
+	AddQuestStepChat(Quest, 6, "I should talk to Crattok next for the Incense.", 1, "I should talk to Crattok next.", 11, 1340025)
+	AddQuestStepCompleteAction(Quest, 6, "Step6Complete")
+end
+
+function Step6Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 6, "I talked to Crattok.")
+	UpdateQuestTaskGroupDescription(Quest, 6, "I talked to Crattok but I will return to Kroota before I pay him.")
+
+	AddQuestStepChat(Quest, 7, "I need to talk with Kroota.", 1, "I need to talk with Kroota.", 11, 1340040)
+	AddQuestStepCompleteAction(Quest, 7, "Step7Complete")
+end
+
+function Step7Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 7, "I talked to Kroota.")
+	UpdateQuestTaskGroupDescription(Quest, 7, "I talked to Kroota and the gave me rat carcass snacks to pay Crattok.")
+
+	AddQuestStepChat(Quest, 8, "I need to talk to Crattok again and pay him with rat carcass snacks", 1, "I need to talk with Crattok.", 11, 1340025)
+	AddQuestStepCompleteAction(Quest, 8, "Step8Complete")
+end
+
+function Step8Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 8, "I talked to Crattok and he gave me the incense.")
+	UpdateQuestTaskGroupDescription(Quest, 8, "I talked to Crattok.")
+
+	AddQuestStepChat(Quest, 9, "I need to return to Kroota with the items I gathered", 1, "I need to return to Kroota.", 11, 1340040)
+	AddQuestStepCompleteAction(Quest, 9, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "The ceremony to honor Rallos Zek will go well, now that the needed items were given to Kroota.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    Step2Complete(Quest, QuestGiver, Player)
+	elseif Step == 3 then
+	    Step3Complete(Quest, QuestGiver, Player)
+	elseif Step == 4 then
+	    Step4Complete(Quest, QuestGiver, Player)
+	elseif Step == 5 then
+	    Step5Complete(Quest, QuestGiver, Player)
+	elseif Step == 6 then
+	    Step6Complete(Quest, QuestGiver, Player)
+	elseif Step == 7 then
+	    Step7Complete(Quest, QuestGiver, Player)
+	elseif Step == 8 then
+	    Step8Complete(Quest, QuestGiver, Player)
+	elseif Step == 9 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 52 - 0
server/Quests/BigBend/muzmogs_rat_smashing_fun.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	muzmogs_rat_smashing_fun.lua
+	Script Purpose	:	Handles the quest, "Muzmog's Rat Smashing Fun"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Muzmog
+	Preceded by		:	None
+	Followed by		:	Funny Rat Smashing
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I need to slay rats.", 10, 100, "I should kill rats to make Muzmog happy. There are rats everywhere throughout the city of Freeport and the Thieves Way.", 99, 1540004, 1250014, 1250016, 1250035, 1540031)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "The rats have been slain.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've killed the rats like Muzmog suggested.")
+	
+	AddQuestStepChat(Quest, 2, "I need to return to Muzmog.", 1, "I need to return to Muzmog.", 11, 1340020)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end 
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I've told Muzmog about what I did to the rats. He liked it so much that he told me I can drink with him any time.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 52 - 0
server/Quests/BigBend/paying_the_tab.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	paying_the_tab.lua
+	Script Purpose	:	Handles the quest, "Paying the Tab"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Galenus Fulvianus
+	Preceded by		:	None
+	Followed by		:	Hops for Galenus
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "Converse with Banker Quintius.", 1, "I need to take the money to the banker in Big Bend.  The bank is found in the district center, a short distance away from Galenus.", 10, 1340011)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have spoken with Banker Quintius.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have given the money to the banker here in Big Bend.")
+	
+	AddQuestStepChat(Quest, 2, "I need to return to Galenus.", 1, "I need to return to Galenus.", 11, 1340016)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I delivered the money that Galenus asked me to. He paid me for my time.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+    if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 54 - 0
server/Quests/BigBend/rat_barsh.lua

@@ -0,0 +1,54 @@
+--[[
+	Script Name		:	rat_barsh.lua
+	Script Purpose	:	Handles the quest, "Rat Barsh!"
+	Script Author	:	torsten
+	Script Date		:	12.07.2022
+	Script Notes	:
+
+	Zone			:	Big Bend
+	Quest Giver		:	Kroota Gukbutcher
+	Preceded by		:	Ay, There's the Rubb'ish
+	Followed by		:	Much Ado' About Rallos
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "Kill rats at the gate leading to the Sprawl.", 6, 100, "I need to go hunt for rats at the gate leading to the Sprawl.", 122, 1340045)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 1, "I have barshed many rats.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I should have enough rat carcasses for the ceremony.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Kroota.", 1, "I have barshed many rats. I should return to Kroota.", 0, 1340040)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I barshed many rats at the gate to the Sprawl for Kroota.  Even though they were not what he had in mind, he still says they will come in useful.")
+	GiveQuestReward(Quest, Player)
+	AddItem(Spawn, 12866, 1)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+		QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 56 - 0
server/Quests/BigBend/search_for_the_shrubbery.lua

@@ -0,0 +1,56 @@
+--[[
+	Script Name		:	search_for_the_shrubbery.lua
+	Script Purpose	:	Handles the quest, "Search for the Shrubbery"
+	Script Author	:	torsten
+	Script Date		:	14.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Graktak Splatterblood
+	Preceded by		:	None
+	Followed by		:	Swamp Water Stew
+--]]
+
+
+function Init(Quest)
+	AddQuestStepHarvest(Quest, 1, "I need to collect shrubs from the center of Big Bend for Graktak.", 5, 100, "Graktak wants me to collect shrubs for his stew. They can be found in the center of Big Bend.", 194, 12772)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 1, "I have collected the shrubs that Graktak wanted for his stew.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have collected what I hope is enough shrubs for the large troll Graktak.")
+	
+    AddQuestStepChat(Quest, 2, "I should return to Graktak.", 1, "I should return to Graktak to deliver the shrubs.", 11, 1340042)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I was able to find the shrubs of 'much goodness' for Graktak. I have determined that most trolls in Freeport only care for two things, killing and eating. Fortunately, it seems if I continue to help Graktak he may decide not to eat me.")
+	GiveQuestReward(Quest, Player)
+	
+	while HasItem(Player, 12772) do --Shrubs
+        RemoveItem(Player, 12772)
+    end
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    Complete(Quest, QuestGiver, Player)
+	end
+end
+

+ 82 - 0
server/Quests/BigBend/secret_of_the_troll.lua

@@ -0,0 +1,82 @@
+--[[
+	Script Name		:	secret_of_the_troll.lua
+	Script Purpose	:	Handles the quest, "Secret of the Troll"
+	Script Author	:	torsten
+	Script Date		:	14.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Graktak Splatterblood
+	Preceded by		:	That Slippery Toad
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to answer Graktak's questions before he will help me get better equipment.", 1, "Graktak wants to ask me some questions before introducing me to his friends.", 11, 1340042)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I answered Graktak's first question.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I need to answer the second question before Graktak introduces me to his friends.")
+
+    AddQuestStepChat(Quest, 2, "I need to answer Graktak's sesond questions before he will help me get better equipment.", 1, "Graktak wants to ask me some questions before introducing me to his friends.", 11, 1340042)
+	AddQuestStepCompleteAction(Quest, 2, "Step2Complete")
+end
+
+function Step2Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 2, "I answered Graktak's second question.")
+	UpdateQuestTaskGroupDescription(Quest, 2, "I need to answer all questions before Graktak introduces me to his friends.")
+
+    AddQuestStepChat(Quest, 3, "I need to answer Graktak's third questions before he will help me get better equipment.", 1, "Graktak wants to ask me some questions before introducing me to his friends.", 11, 1340042)
+	AddQuestStepCompleteAction(Quest, 3, "Step3Complete")
+end
+
+function Step3Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 3, "I answered Graktak's third question.")
+	UpdateQuestTaskGroupDescription(Quest, 3, "I need to answer all questions before Graktak introduces me to his friends.")
+
+    AddQuestStepChat(Quest, 4, "I need to answer Graktak's foueth questions before he will help me get better equipment.", 1, "Graktak wants to ask me some questions before introducing me to his friends.", 11, 1340042)
+	AddQuestStepCompleteAction(Quest, 4, "Step4Complete")
+end
+
+function Step4Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 4, "I answered Graktak's fourth question.")
+	UpdateQuestTaskGroupDescription(Quest, 4, "I need to answer all questions before Graktak introduces me to his friends.")
+
+    AddQuestStepChat(Quest, 5, "I need to answer Graktak's fifth questions before he will help me get better equipment.", 1, "Graktak wants to ask me some questions before introducing me to his friends.", 11, 1340042)
+	AddQuestStepCompleteAction(Quest, 5, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I passed Graktak's simple quest. Being a good troll sounds like it will be easy as long as I remember to eat often, and smash things more than I eat. In the end though, Graktak told me I should speak with Braz Gutpounder on the docks here in Big Bend, or Enforcer Kurdek in The Sprawl if I had already spoken to Braz.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    Step2Complete(Quest, QuestGiver, Player)
+	elseif Step == 3 then
+	    Step3Complete(Quest, QuestGiver, Player)
+	elseif Step == 4 then
+	    Step4Complete(Quest, QuestGiver, Player)
+	elseif Step == 5 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 53 - 0
server/Quests/BigBend/skaggas_signs.lua

@@ -0,0 +1,53 @@
+--[[
+	Script Name		:	skaggas_signs.lua
+	Script Purpose	:	Handles the quest, "Skagga's Signs"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Skagga
+	Preceded by		:	none
+	Followed by		:	Skin for Skagga
+--]]
+
+
+function Init(Quest)
+	AddQuestStepChat(Quest, 1, "I need to speak with the Scribe in Big Bend.", 1, "I should check inside these houses to see if I can find the Scribe.", 11, 1340052)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have spoken with the Scribe")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've found the scribe and he's made me some signs.")
+	
+	AddQuestStepChat(Quest, 2, "I should return to Skagga.", 1, "I should return to Skagga to give her the signs.", 11, 1340008)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Skagga liked her signs, and offered me some coin for my time.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 54 - 0
server/Quests/BigBend/skin_for_skaaga.lua

@@ -0,0 +1,54 @@
+--[[
+	Script Name		:	skin_for_skaaga.lua
+	Script Purpose	:	Handles the quest, "Skin for Skagga"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Skagga
+	Preceded by		:	Skagga's Signs
+	Followed by		:	none
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I need to find a large swath of zombie skin", 1, 10, "I should kill some zombies until I find a skin large enough for Skagga's uses.", 138, 1250011, 1250024, 1250030, 1250008, 1250021)
+    AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have found a large swath of zombie skin.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I have found a large swath of zombie skin.")
+	
+	AddQuestStepChat(Quest, 2, "I should return to Skagga.", 1, "I should return to Skagga.", 11, 1340008)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Skagga doesn't like her signs, but she thinks that zombie skin might help to make them prettier.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+    if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+
+

+ 53 - 0
server/Quests/BigBend/sorios_dog_hunt.lua

@@ -0,0 +1,53 @@
+--[[
+	Script Name		:	sorios_dog_hunt.lua
+	Script Purpose	:	Handles the quest, "Sorio's Dog Hunt"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Captain Sorio
+	Preceded by		:	Sorio's Ciantslayer Problem
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I must kill ten wild dogs in the Sprawl.", 10, 100, "I need to kill ten Wild Dogs to prevent them from breeding any further.", 611, 1260005)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have killed the wild dogs.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've killed the wild dogs as Sorio had asked.")
+
+    AddQuestStepChat(Quest, 2, "I should return to Captain Sorio.", 1, "I should return to Captain Sorio.", 11, 1340032)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Sorio paid me for killing the wild dogs. I'm pretty sure he insulted me at the same time he thanked me. He'll pay one day.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+    if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+    end
+end
+
+

+ 52 - 0
server/Quests/BigBend/sorios_giantslayer_problem.lua

@@ -0,0 +1,52 @@
+--[[
+	Script Name		:	sorios_giantslayer_problem.lua
+	Script Purpose	:	Handles the quest, "Sorio's Giantslayer Problem"
+	Script Author	:	torsten
+	Script Date		:	11.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Captain Sorio
+	Preceded by		:	None
+	Followed by		:	None
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I must kill ten Giantslayer Brutes.", 10, 100, "I need to kill ten of the Giantslayer Thugs to send them a message that the Freeport Militia shouldn't be messed with.", 611, 1260013)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I have killed ten Giantslayer Brutes.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I've killed ten members of the Giantslayer Thug gang.")
+	
+	AddQuestStepChat(Quest, 2, "I should return to Captain Sorio.", 1, "I should return to Captain Sorio.", 11, 1340032)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "Guard Captain Sorio was surprised that I actually did what he asked. He offered me some coin and a militia wristband as payment for my help.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+    if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+

+ 54 - 0
server/Quests/BigBend/swamp_water_stew.lua

@@ -0,0 +1,54 @@
+--[[
+	Script Name		:	swamp_water_stew.lua
+	Script Purpose	:	Handles the quest, "Swamp Water Stew"
+	Script Author	:	torsten
+	Script Date		:	14.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Graktak Splatterblood
+	Preceded by		:	Search for the Shrubbery
+	Followed by		:	That Slippery Toad
+--]]
+
+
+function Init(Quest)
+	AddQuestStep(Quest, 1, "I need to collect some stew from another troll's cooking pot in the center of Big Bend.", 1, 100, "I need to collect some stew from another troll's cooking pot in the center of Big Bend.", 11)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+	UpdateQuestStepDescription(Quest, 1, "I was able to collect the green watery stew, now I need to return it to Graktak.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I was able to suffer the smell long enough to collect the stew for Graktak, now I just need to give it him.")
+	
+	AddQuestStepChat(Quest, 2, "I need to return to Graktak.", 1, "I need to return to Graktak to deliver the stew.", 11, 1340042)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+
+	UpdateQuestDescription(Quest, "I have collected the stew, if you could call it that, for Graktak. He was very pleased when I gave it to him, and suggested that maybe I am not food after all.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+	if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end
+
+

+ 51 - 0
server/Quests/BigBend/that_slippery_toad.lua

@@ -0,0 +1,51 @@
+--[[
+	Script Name		:	that_slippery_toad.lua
+	Script Purpose	:	Handles the quest, "That Slippery Toad"
+	Script Author	:	torsten
+	Script Date		:	14.07.2022
+	Script Notes	:	
+
+	Zone			:	Big Bend
+	Quest Giver		:	Graktak Splatterblood
+	Preceded by		:	Swamp Water Stew
+	Followed by		:	ecret of the Troll
+--]]
+
+
+function Init(Quest)
+	AddQuestStepKill(Quest, 1, "I need to find the froglok in Big Bend, and retrieve Graktak's sword for him.", 1, 100, "I need to find the froglok in Big Bend, and retrieve Graktak's sword for him.", 1682, 1340027)
+	AddQuestStepCompleteAction(Quest, 1, "Step1Complete")
+end
+
+function Step1Complete(Quest, QuestGiver, Player)
+    UpdateQuestStepDescription(Quest, 1, "I was able to find the froglok and get back Graktak's sword.")
+	UpdateQuestTaskGroupDescription(Quest, 1, "I was able to find the froglok and get back Graktak's sword.")
+
+	AddQuestStepChat(Quest, 2, "I should return to Graktak.", 1, "I should return to Graktak to give him the sword.", 1682, 1340042)
+	AddQuestStepCompleteAction(Quest, 2, "QuestComplete")
+end
+
+function QuestComplete(Quest, QuestGiver, Player)
+	UpdateQuestDescription(Quest, "I was able to find and squish the froglok just as Graktak asked. Graktak was very happy when I returned his sword, but seemed more excited that he may get to eat more frog meat.")
+	GiveQuestReward(Quest, Player)
+end
+
+function Accepted(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is accepted
+end
+
+function Declined(Quest, QuestGiver, Player)
+	-- Add dialog here for when the quest is declined
+end
+
+function Deleted(Quest, QuestGiver, Player)
+	-- Remove any quest specific items here when the quest is deleted
+end
+
+function Reload(Quest, QuestGiver, Player, Step)
+    if Step == 1 then
+	    Step1Complete(Quest, QuestGiver, Player)
+	elseif Step == 2 then
+	    QuestComplete(Quest, QuestGiver, Player)
+	end
+end

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