From c837e66b819b8e2ac494607b3ff79ac511ad6ca8 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Mon, 22 Jul 2024 16:39:18 -0300 Subject: [PATCH 001/112] Barbarian Test and The Ice Island Quest - part 1 --- data-otservbr-global/lib/core/quests.lua | 29 ++++--- data-otservbr-global/lib/core/storages.lua | 80 +++++++++---------- data-otservbr-global/npc/a_restless_soul.lua | 12 +-- data-otservbr-global/npc/a_starving_dog.lua | 6 +- data-otservbr-global/npc/buddel.lua | 2 +- data-otservbr-global/npc/buddel_okolnir.lua | 2 +- .../npc/buddel_raider_camp.lua | 2 +- data-otservbr-global/npc/buddel_tyrsung.lua | 2 +- data-otservbr-global/npc/duncan.lua | 2 +- data-otservbr-global/npc/hjaern.lua | 66 +++++++-------- data-otservbr-global/npc/iskan.lua | 38 ++++----- data-otservbr-global/npc/lurik.lua | 51 ++++++------ data-otservbr-global/npc/nilsor.lua | 58 +++++++------- data-otservbr-global/npc/nor.lua | 4 +- data-otservbr-global/npc/siflind.lua | 70 ++++++++-------- data-otservbr-global/npc/sinatuki.lua | 2 +- data-otservbr-global/npc/sven.lua | 61 +++++++------- .../actions/other/others/quest_system2.lua | 4 +- .../actions/quests/barbarian_test/mead.lua | 34 -------- .../actions/quests/ice_islands/charm.lua | 49 ------------ .../scripts/actions/tools/kitchen_knife.lua | 49 +++++++++++- .../scripts/actions/tools/pick.lua | 40 ++++++++++ .../scripts/actions/tools/spoon.lua | 36 +++++++++ .../creaturescripts/customs/freequests.lua | 28 +++---- .../quests/the_ice_islands/husky_kill.lua | 4 +- .../barbarian_test/action_horn.lua} | 29 ++++--- .../quests/barbarian_test/action_mead.lua | 34 ++++++++ .../actions_anthill.lua} | 15 ++-- .../the_ice_islands_quest/actions_charm.lua | 50 ++++++++++++ .../the_ice_islands_quest/actions_cure.lua} | 2 +- .../the_ice_islands_quest/actions_paint.lua} | 10 +-- .../actions_yakchal.lua} | 0 .../movements_helheim.lua} | 6 +- .../movements_nibelor_dog_led.lua} | 8 +- .../startup/tables/door_quest.lua | 6 ++ data-otservbr-global/startup/tables/item.lua | 14 ++++ .../startup/tables/teleport.lua | 7 ++ data/scripts/actions/tools/pick.lua | 8 -- data/scripts/actions/tools/spoon.lua | 8 -- 39 files changed, 533 insertions(+), 395 deletions(-) delete mode 100644 data-otservbr-global/scripts/actions/quests/barbarian_test/mead.lua delete mode 100644 data-otservbr-global/scripts/actions/quests/ice_islands/charm.lua create mode 100644 data-otservbr-global/scripts/actions/tools/pick.lua create mode 100644 data-otservbr-global/scripts/actions/tools/spoon.lua rename data-otservbr-global/scripts/{actions/quests/barbarian_test/horn.lua => quests/barbarian_test/action_horn.lua} (57%) create mode 100644 data-otservbr-global/scripts/quests/barbarian_test/action_mead.lua rename data-otservbr-global/scripts/{actions/quests/ice_islands/anthill.lua => quests/the_ice_islands_quest/actions_anthill.lua} (56%) create mode 100644 data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_charm.lua rename data-otservbr-global/scripts/{actions/quests/ice_islands/cure.lua => quests/the_ice_islands_quest/actions_cure.lua} (81%) rename data-otservbr-global/scripts/{actions/quests/ice_islands/paint.lua => quests/the_ice_islands_quest/actions_paint.lua} (61%) rename data-otservbr-global/scripts/{actions/quests/ice_islands/yakchal.lua => quests/the_ice_islands_quest/actions_yakchal.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_ice_islands/helheim.lua => quests/the_ice_islands_quest/movements_helheim.lua} (76%) rename data-otservbr-global/scripts/{movements/quests/the_ice_islands/nibelor_dog_led.lua => quests/the_ice_islands_quest/movements_nibelor_dog_led.lua} (84%) delete mode 100644 data/scripts/actions/tools/pick.lua delete mode 100644 data/scripts/actions/tools/spoon.lua diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index a35dcb15dea..64c33e1429f 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -3123,12 +3123,12 @@ if not Quests then }, [22] = { name = "The Ice Islands Quest", - startStorageId = Storage.TheIceIslands.Questline, + startStorageId = Storage.Quest.U8_0.TheIceIslands.Questline, startStorageValue = 1, missions = { [1] = { name = "Befriending the Musher", - storageId = Storage.TheIceIslands.Mission01, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission01, missionId = 10233, startValue = 1, endValue = 3, @@ -3143,7 +3143,7 @@ if not Quests then }, [2] = { name = "Nibelor 1: Breaking the Ice", - storageId = Storage.TheIceIslands.Mission02, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission02, missionId = 10234, startValue = 1, endValue = 5, @@ -3158,7 +3158,7 @@ if not Quests then }, [3] = { name = "Nibelor 2: Ecological Terrorism", - storageId = Storage.TheIceIslands.Mission03, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission03, missionId = 10235, startValue = 1, endValue = 3, @@ -3173,7 +3173,7 @@ if not Quests then }, [4] = { name = "Nibelor 3: Artful Sabotage", - storageId = Storage.TheIceIslands.Mission04, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission04, missionId = 10236, startValue = 1, endValue = 2, @@ -3185,7 +3185,7 @@ if not Quests then }, [5] = { name = "Nibelor 4: Berserk Brewery", - storageId = Storage.TheIceIslands.Mission05, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission05, missionId = 10237, startValue = 1, endValue = 6, @@ -3200,7 +3200,7 @@ if not Quests then }, [6] = { name = "Nibelor 5: Cure the Dogs", - storageId = Storage.TheIceIslands.Mission06, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission06, missionId = 10238, startValue = 1, endValue = 8, @@ -3227,20 +3227,19 @@ if not Quests then }, [7] = { name = "The Secret of Helheim", - storageId = Storage.TheIceIslands.Mission07, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission07, missionId = 10239, startValue = 1, endValue = 3, states = { [1] = "Hjaern might have a mission for you. So maybe you go and talk to him.", - [2] = "Hjaern send you to find someone in Svargrond who can give you a passage to \z - Helheim and seek the reason for the unrest there.", + [2] = "Hjaern send you to find someone in Svargrond who can give you a passage to Helheim and seek the reason for the unrest there.", [3] = "You discovered the necromantic altar and should report Hjaern about it.", }, }, [8] = { name = "The Contact", - storageId = Storage.TheIceIslands.Mission08, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission08, missionId = 10240, startValue = 1, endValue = 4, @@ -3255,7 +3254,7 @@ if not Quests then }, [9] = { name = "Formorgar Mines 1: The Mission", - storageId = Storage.TheIceIslands.Mission09, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission09, missionId = 10241, startValue = 1, endValue = 2, @@ -3268,7 +3267,7 @@ if not Quests then }, [10] = { name = "Formorgar Mines 2: Ghostwhisperer", - storageId = Storage.TheIceIslands.Mission10, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission10, missionId = 10242, startValue = 1, endValue = 2, @@ -3279,7 +3278,7 @@ if not Quests then }, [11] = { name = "Formorgar Mines 3: The Secret", - storageId = Storage.TheIceIslands.Mission11, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission11, missionId = 10243, startValue = 1, endValue = 2, @@ -3292,7 +3291,7 @@ if not Quests then }, [12] = { name = "Formorgar Mines 4: Retaliation", - storageId = Storage.TheIceIslands.Mission12, + storageId = Storage.Quest.U8_0.TheIceIslands.Mission12, missionId = 10244, startValue = 1, endValue = 6, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 2b8d9a7783d..b1cb32769ce 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -952,46 +952,6 @@ Storage = { Reward = 51127, RewardRoomText = 51128, }, - BarbarianTest = { - -- Reserved storage from 51140 - 51159 - Questline = 51140, - Mission01 = 51141, - Mission02 = 51142, - Mission03 = 51143, - MeadTotalSips = 51144, - MeadSuccessSips = 51145, - }, - TheIceIslands = { - -- Reserved storage from 51160 - 51199 - Questline = 51160, - Mission01 = 51161, -- Befriending the Musher - Mission02 = 51162, -- Nibelor 1: Breaking the Ice - Mission03 = 51163, -- Nibelor 2: Ecological Terrorism - Mission04 = 51164, -- Nibelor 3: Artful Sabotage - Mission05 = 51165, -- Nibelor 4: Berserk Brewery - Mission06 = 51166, -- Nibelor 5: Cure the Dogs - Mission07 = 51167, -- The Secret of Helheim - Mission08 = 51168, -- The Contact - Mission09 = 51169, -- Formorgar Mines 1: The Mission - Mission10 = 51170, -- Formorgar Mines 2: Ghostwhisperer - Mission11 = 51171, -- Formorgar Mines 3: The Secret - Mission12 = 51172, -- Formorgar Mines 4: Retaliation - PickAmount = 51173, - PaintSeal = 51174, - SulphurLava = 51175, - SporesMushroom = 51176, - FrostbiteHerb = 51177, - FlowerCactus = 51178, - FlowerBush = 51179, - MemoryCrystal = 51180, - Obelisk01 = 51181, - Obelisk02 = 51182, - Obelisk03 = 51183, - Obelisk04 = 51184, - yakchalDoor = 51185, - HuskyKill = 51186, - HuskyKillStatus = 51187, - }, TheWayToYalahar = { -- Reserved storage from 51200 - 51209 QuestLine = 51200, @@ -2040,7 +2000,14 @@ Storage = { }, U8_0 = { -- update 8.0 - Reserved Storages 41151 - 41350 BarbarianArena = {}, - BarbarianTest = {}, + BarbarianTest = { + Questline = 51140, + Mission01 = 51141, + Mission02 = 51142, + Mission03 = 51143, + MeadTotalSips = 51144, + MeadSuccessSips = 51145, + }, BerserkPotion = {}, FishingBox = {}, FormorgarMinesHoist = {}, @@ -2052,7 +2019,36 @@ Storage = { NorsemanOutfits = {}, Sinatuki = {}, SkeletonDecoration = {}, - TheIceIslands = {}, + TheIceIslands = { + Questline = 51160, + Mission01 = 51161, -- Befriending the Musher + Mission02 = 51162, -- Nibelor 1: Breaking the Ice + Mission03 = 51163, -- Nibelor 2: Ecological Terrorism + Mission04 = 51164, -- Nibelor 3: Artful Sabotage + Mission05 = 51165, -- Nibelor 4: Berserk Brewery + Mission06 = 51166, -- Nibelor 5: Cure the Dogs + Mission07 = 51167, -- The Secret of Helheim + Mission08 = 51168, -- The Contact + Mission09 = 51169, -- Formorgar Mines 1: The Mission + Mission10 = 51170, -- Formorgar Mines 2: Ghostwhisperer + Mission11 = 51171, -- Formorgar Mines 3: The Secret + Mission12 = 51172, -- Formorgar Mines 4: Retaliation + PaintSeal = 51174, + SulphurLava = 51175, + SporesMushroom = 51176, + FrostbiteHerb = 51177, + FlowerCactus = 51178, + FlowerBush = 51179, + MemoryCrystal = 51180, + Obelisk01 = 51181, + Obelisk02 = 51182, + Obelisk03 = 51183, + Obelisk04 = 51184, + yakchalDoor = 51185, + HuskyKill = 51186, + HuskyKillStatus = 51187, + FormorgarMinesDoor = 51188, + }, WaterskinOfMead = {}, }, U8_1 = { -- update 8.1 - Reserved Storages 41351 - 41650 diff --git a/data-otservbr-global/npc/a_restless_soul.lua b/data-otservbr-global/npc/a_restless_soul.lua index e6535b38f99..ccd088038b2 100644 --- a/data-otservbr-global/npc/a_restless_soul.lua +++ b/data-otservbr-global/npc/a_restless_soul.lua @@ -49,10 +49,10 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.TheIceIslands.Questline) < 37 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) < 37 then npcHandler:setMessage(MESSAGE_GREET, "Uhhhh...") return false - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 37 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 37 then npcHandler:setMessage(MESSAGE_GREET, "Ahhhh! At last someone that can listen to my {story}!") end return true @@ -68,15 +68,15 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "story") then local player = Player(creature) - if player:getStorageValue(Storage.TheIceIslands.Questline) == 37 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 37 then npcHandler:say({ "I was captured and tortured to death by the cultists here. They worship a being that they call Ghazbaran ...", "In his name they have claimed the mines and started to melt the ice to free an army of vile demons that have been frozen here for ages ...", "Their plan is to create a new demon army for their master to conquer the world. Hjaern and the other shamans must learn about it! Hurry before its too late.", }, npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 38) - player:setStorageValue(Storage.TheIceIslands.Mission10, 2) -- Questlog The Ice Islands Quest, Formorgar Mines 2: Ghostwhisperer - player:setStorageValue(Storage.TheIceIslands.Mission11, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 3: The Secret + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 38) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission10, 2) -- Questlog The Ice Islands Quest, Formorgar Mines 2: Ghostwhisperer + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission11, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 3: The Secret end end return true diff --git a/data-otservbr-global/npc/a_starving_dog.lua b/data-otservbr-global/npc/a_starving_dog.lua index 246c7dc4e75..52957464476 100644 --- a/data-otservbr-global/npc/a_starving_dog.lua +++ b/data-otservbr-global/npc/a_starving_dog.lua @@ -56,9 +56,9 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "meat") then if player:removeItem(3577, 1) then npcHandler:say("", npc, creature) - if player:getStorageValue(Storage.TheIceIslands.Mission01) == 1 then - player:setStorageValue(Storage.TheIceIslands.Questline, 2) - player:setStorageValue(Storage.TheIceIslands.Mission01, 2) -- Questlog The Ice Islands Quest, Befriending the Musher + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission01) == 1 then + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 2) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission01, 2) -- Questlog The Ice Islands Quest, Befriending the Musher end npcHandler:removeInteraction(npc, creature) end diff --git a/data-otservbr-global/npc/buddel.lua b/data-otservbr-global/npc/buddel.lua index 051e79a2299..5bf04262904 100644 --- a/data-otservbr-global/npc/buddel.lua +++ b/data-otservbr-global/npc/buddel.lua @@ -99,7 +99,7 @@ end, function(player) end, function(player) return player:removeItem(3097, 1) end, function(player) - return player:getStorageValue(Storage.TheIceIslands.Questline) < 30 + return player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) < 30 end) addTravelKeyword("tyrsung", "*HICKS* Big, big island east of here. Venorian hunters settled there ..... I could bring you north of their camp.", Position(32333, 31227, 7), function() return randomDestination[math.random(#randomDestination)] diff --git a/data-otservbr-global/npc/buddel_okolnir.lua b/data-otservbr-global/npc/buddel_okolnir.lua index 387009f9df1..b4115ee2d9e 100644 --- a/data-otservbr-global/npc/buddel_okolnir.lua +++ b/data-otservbr-global/npc/buddel_okolnir.lua @@ -110,7 +110,7 @@ end, function(player) end, function(player) return player:removeItem(3097, 1) end, function(player) - return player:getStorageValue(Storage.TheIceIslands.Questline) < 30 + return player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) < 30 end) addTravelKeyword("tyrsung", "*HICKS* Big, big island east of here. Venorian hunters settled there ..... I could bring you north of their camp.", Position(32333, 31227, 7), function() return randomDestination[math.random(#randomDestination)] diff --git a/data-otservbr-global/npc/buddel_raider_camp.lua b/data-otservbr-global/npc/buddel_raider_camp.lua index 2c6d9781296..4ddaa816df0 100644 --- a/data-otservbr-global/npc/buddel_raider_camp.lua +++ b/data-otservbr-global/npc/buddel_raider_camp.lua @@ -110,7 +110,7 @@ end, function(player) end, function(player) return player:removeItem(3097, 1) end, function(player) - return player:getStorageValue(Storage.TheIceIslands.Questline) < 30 + return player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) < 30 end) addTravelKeyword("tyrsung", "*HICKS* Big, big island east of here. Venorian hunters settled there ..... I could bring you north of their camp.", Position(32333, 31227, 7), function() return randomDestination[math.random(#randomDestination)] diff --git a/data-otservbr-global/npc/buddel_tyrsung.lua b/data-otservbr-global/npc/buddel_tyrsung.lua index 541739f2f53..f1b069a0cf6 100644 --- a/data-otservbr-global/npc/buddel_tyrsung.lua +++ b/data-otservbr-global/npc/buddel_tyrsung.lua @@ -110,7 +110,7 @@ end, function(player) end, function(player) return player:removeItem(3097, 1) end, function(player) - return player:getStorageValue(Storage.TheIceIslands.Questline) < 30 + return player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) < 30 end) addTravelKeyword("camp", "Both of you look like you could defend yourself! If you want to go there, ask me for a passage.", Position(32021, 31294, 7), function() return randomDestination[math.random(#randomDestination)] diff --git a/data-otservbr-global/npc/duncan.lua b/data-otservbr-global/npc/duncan.lua index 2bc4df38712..14ef0101885 100644 --- a/data-otservbr-global/npc/duncan.lua +++ b/data-otservbr-global/npc/duncan.lua @@ -189,7 +189,7 @@ local function creatureSayCallback(npc, creature, type, message) ) player:setStorageValue(Storage.TheShatteredIsles.TortoiseEggNargorDoor, 2) player:setStorageValue(Storage.TheShatteredIsles.ReputationInSabrehaven, 16) - if player:getStorageValue(Storage.TheIceIslands.Questline) >= 9 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 9 then player:addAchievement("Animal Activist") end npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/hjaern.lua b/data-otservbr-global/npc/hjaern.lua index 42dbd2bb9c8..667f1d85c65 100644 --- a/data-otservbr-global/npc/hjaern.lua +++ b/data-otservbr-global/npc/hjaern.lua @@ -59,23 +59,23 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 3 then - if player:getStorageValue(Storage.TheIceIslands.Mission02) < 1 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 3 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02) < 1 then npcHandler:say({ "We could indeed need some help. These are very cold times. The ice is growing and becoming thicker everywhere ...", "The problem is that the chakoyas may use the ice for a passage to the west and attack Svargrond ...", "We need you to get a pick and to destroy the ice at certain places to the east. You will quickly recognise those spots by their unstable look ...", "Use the pickaxe on at least three of these places and the chakoyas probably won't be able to pass the ice. Once you are done, return here and report about your mission.", }, npc, creature) - player:setStorageValue(Storage.TheIceIslands.Mission02, 1) -- Questlog The Ice Islands Quest, Nibelor 1: Breaking the Ice + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02, 1) -- Questlog The Ice Islands Quest, Nibelor 1: Breaking the Ice npcHandler:setTopic(playerId, 0) end - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 4 then npcHandler:say("The spirits are at peace now. The threat of the chakoyas is averted for now. I thank you for your help. Perhaps you should ask Silfind if you can help her in some matters. ", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 5) - player:setStorageValue(Storage.TheIceIslands.Mission02, 5) -- Questlog The Ice Islands Quest, Nibelor 1: Breaking the Ice + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 5) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02, 5) -- Questlog The Ice Islands Quest, Nibelor 1: Breaking the Ice npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 29 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 29 then npcHandler:say({ "There is indeed an important mission. For a long time, the spirits have been worried and have called us for help. It seems that some of our dead have not reached the happy hunting grounds of after life ...", "Everything we were able to find out leads to a place where none of our people is allowed to go. Just like we would never allow a stranger to go to that place ...", @@ -84,14 +84,14 @@ local function creatureSayCallback(npc, creature, type, message) "There you find for sure the cause for the unrest of the spirits. Find someone in Svargrond who can give you a passage to Helheim and seek for the cause. Are you willing to do that?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 31 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 31 then npcHandler:say({ "There is no need to report about your mission. To be honest, Ive sent a divination spirit with you as well as a couple of destruction spirits that were unleashed when you approached the altar ...", "Forgive me my secrecy but you are not familiar with the spirits and you might have get frightened. The spirits are at work now, destroying the magic with that those evil creatures have polluted Helheim ...", "I cant thank you enough for what you have done for the spirits of my people. Still I have to ask: Would you do us another favour?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 38 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 38 then npcHandler:say({ "These are alarming news and we have to act immediately. Take this spirit charm of cold. Travel to the mines and find four special obelisks to mark them with the charm ...", "I can feel their resonance in the spirits world but we cant reach them with our magic yet. They have to get into contact with us in a spiritual way first ...", @@ -99,16 +99,16 @@ local function creatureSayCallback(npc, creature, type, message) "Report about your mission when you are done. Then we can begin with the great ritual of summoning the children of Chyll ...", "I will also inform Lurik about the events. Now go, fast!", }, npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 39) - player:setStorageValue(Storage.TheIceIslands.Mission11, 2) -- Questlog The Ice Islands Quest, Formorgar Mines 3: The Secret - player:setStorageValue(Storage.TheIceIslands.Mission12, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 39) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission11, 2) -- Questlog The Ice Islands Quest, Formorgar Mines 3: The Secret + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation player:addItem(7289, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 39 and player:getStorageValue(Storage.TheIceIslands.Obelisk01) == 5 and player:getStorageValue(Storage.TheIceIslands.Obelisk02) == 5 and player:getStorageValue(Storage.TheIceIslands.Obelisk03) == 5 and player:getStorageValue(Storage.TheIceIslands.Obelisk04) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 39 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk01) == 5 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk02) == 5 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk03) == 5 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk04) == 5 then if player:removeItem(7289, 1) then - player:setStorageValue(Storage.TheIceIslands.Questline, 40) - player:setStorageValue(Storage.TheIceIslands.yakchalDoor, 1) - player:setStorageValue(Storage.TheIceIslands.Mission12, 6) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 40) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.yakchalDoor, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12, 6) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation player:setStorageValue(Storage.OutfitQuest.NorsemanAddon, 1) -- Questlog Norseman Outfit Quest player:setStorageValue(Storage.OutfitQuest.DefaultStart, 1) --this for default start of Outfit and Addon Quests player:addOutfit(251, 0) @@ -127,42 +127,42 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "shard") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 40 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 40 then npcHandler:say("Do you bring frostheart shards for our spell?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 42 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 42 then npcHandler:say("Do you bring frostheart shards for our spell? ", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 44 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 44 then npcHandler:say("Do you want to sell all your shards for 2000 gold coins per each? ", npc, creature) npcHandler:setTopic(playerId, 5) end elseif MsgContains(message, "reward") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 41 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 41 then npcHandler:say("Take this. It might suit your Nordic outfit fine. ", npc, creature) player:addOutfitAddon(252, 1) player:addOutfitAddon(251, 1) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) - player:setStorageValue(Storage.TheIceIslands.Questline, 42) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 42) player:setStorageValue(Storage.OutfitQuest.NorsemanAddon, 2) -- Questlog Norseman Outfit Quest npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 43 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 43 then player:addOutfitAddon(252, 2) player:addOutfitAddon(251, 2) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) npcHandler:say("Take this. It might suit your Nordic outfit fine. From now on we only can give you 2000 gold pieces for each shard. ", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 44) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 44) player:setStorageValue(Storage.OutfitQuest.NorsemanAddon, 3) -- Questlog Norseman Outfit Quest npcHandler:setTopic(playerId, 4) end elseif MsgContains(message, "tylaf") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 36 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 36 then npcHandler:say({ "You encountered the restless ghost of my apprentice Tylaf in the old mines? We must find out what has happened to him. I enable you to talk to his spirit ...", "Talk to him and then report to me about your mission.", }, npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 37) - player:setStorageValue(Storage.TheIceIslands.Mission10, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 2: Ghostwhisperer + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 37) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission10, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 2: Ghostwhisperer npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "cookie") then @@ -173,8 +173,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("This is good news. As I explained, travel to Helheim, seek the reason for the unrest there and then report to me about your mission. ", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 30) - player:setStorageValue(Storage.TheIceIslands.Mission07, 2) -- Questlog The Ice Islands Quest, The Secret of Helheim + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 30) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission07, 2) -- Questlog The Ice Islands Quest, The Secret of Helheim npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say({ @@ -182,19 +182,19 @@ local function creatureSayCallback(npc, creature, type, message) "You know their ways better than my people do and are probably best suited to represent us in this matter.", "Search for Lurik and talk to him about aprobable mission he might have for you.", }, npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 32) - player:setStorageValue(Storage.TheIceIslands.Mission08, 1) -- Questlog The Ice Islands Quest, The Contact + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 32) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission08, 1) -- Questlog The Ice Islands Quest, The Contact npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(7290, 5) then npcHandler:say("Excellent, you collected 5 of them. If you have collected 5 or more, talk to me about your {reward}. ", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 41) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 41) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 4 then if player:removeItem(7290, 10) then npcHandler:say("Excellent, you collected 10 of them. If you have collected 15 or more, talk to me about your {reward}. ", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 43) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 43) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 5 then @@ -236,4 +236,4 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) +npcType:register(npcConfig) \ No newline at end of file diff --git a/data-otservbr-global/npc/iskan.lua b/data-otservbr-global/npc/iskan.lua index e6c0632f5b9..c807c483105 100644 --- a/data-otservbr-global/npc/iskan.lua +++ b/data-otservbr-global/npc/iskan.lua @@ -51,13 +51,13 @@ npcType.onCloseChannel = function(npc, creature) end local function greetCallback(npc, player) - if player:getStorageValue(Storage.BarbarianTest.Questline) < 8 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 then npcHandler:setMessage(MESSAGE_GREET, "You are not one of us. I don't want to talk to you.") - elseif player:getStorageValue(Storage.TheIceIslands.HuskyKill) >= 1 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill) >= 1 then npcHandler:setMessage(MESSAGE_GREET, "I was told you have been killing huskies here in Svargrond! Never do that again, okay? They are precious animals for us. Give me 500 gold and I will forget that incident without telling it to Jarl Sven. Okay?") elseif player:hasAchievement("Warlord of Svargrond") then npcHandler:setMessage(MESSAGE_GREET, "HAIL to the Warlord of the arena! |PLAYERNAME|, Hero of Svargrond! What can I {do for you}?") - elseif player:getStorageValue(Storage.BarbarianTest.Questline) == 8 then + elseif player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 8 then npcHandler:setMessage(MESSAGE_GREET, "Greetings. What can I {do for you}?") end return true @@ -69,28 +69,28 @@ local function creatureSayCallback(npc, creature, type, message) if not npcHandler:checkInteraction(npc, creature) then return false end - if player:getStorageValue(Storage.BarbarianTest.Questline) < 8 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 then return true end if MsgContains(message, "passage") then - if player:getStorageValue(Storage.TheIceIslands.Questline) >= 3 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 3 then npcHandler:say("So, do you want a passage to Nibelor my friend?", npc, creature) else npcHandler:say("Do you want to Nibelor?", npc, creature) end npcHandler:setTopic(playerId, 2) elseif MsgContains(message, "mission") then - if player:getStorageValue(Storage.BarbarianTest.Questline) >= 8 then -- if Barbarian Test absolved - if player:getStorageValue(Storage.TheIceIslands.Questline) == 1 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) >= 8 then -- if Barbarian Test absolved + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 1 then npcHandler:say({ "Well, one of the boys has run away. I think he got the scent of some beast. He's young and inexperienced so I can't blame the cub ...", "I would like you to see after him. He should be somewhere north west of the town. He is probably marking his territory so you should be able to find his trace. Are you willing to do that?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 2 then npcHandler:say("You are a friend of mine and the boys now. I tell you something. If you ever need to go to the isle of Nibelor, just ask me for a {passage}.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 3) - player:setStorageValue(Storage.TheIceIslands.Mission01, 3) -- Questlog The Ice Islands Quest, Befriending the Musher + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 3) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission01, 3) -- Questlog The Ice Islands Quest, Befriending the Musher npcHandler:setTopic(playerId, 0) else npcHandler:say("I have now no mission for you.", npc, creature) @@ -100,11 +100,11 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Sorry but I only give missions to those who are considered a true Barbarian. ", npc, creature) end elseif MsgContains(message, "yes") then - if player:getStorageValue(Storage.TheIceIslands.HuskyKill) >= 1 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill) >= 1 then if player:removeMoneyBank(500) then npcHandler:say("Alright, we are even!", npc, creature) - player:setStorageValue(Storage.TheIceIslands.HuskyKillStatus, 0) - player:setStorageValue(Storage.TheIceIslands.HuskyKill, 0) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKillStatus, 0) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill, 0) else npcHandler:say("You don't have enough. Bring me the money and I will forget about it.", npc, creature) end @@ -113,11 +113,11 @@ local function creatureSayCallback(npc, creature, type, message) "That's surprising. Take a piece of meat. If you find the boy, feed it to him. That will give him enough strength and incentive to return to his pack ...", "Talk to him by calling his name 'Sniffler' and tell him you got meat for him. After he has eaten the meat, return here to talk to me about your mission.", }, npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 1) - player:setStorageValue(Storage.TheIceIslands.Mission01, 1) -- Questlog The Ice Islands Quest, Befriending the Musher + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission01, 1) -- Questlog The Ice Islands Quest, Befriending the Musher npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then - if player:getStorageValue(Storage.TheIceIslands.Questline) >= 3 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 3 then player:teleportTo(Position(32325, 31049, 7)) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) npcHandler:setTopic(playerId, 0) @@ -127,9 +127,9 @@ local function creatureSayCallback(npc, creature, type, message) end end elseif MsgContains(message, "no") then - if player:getStorageValue(Storage.TheIceIslands.HuskyKill) >= 1 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill) >= 1 then npcHandler:say("Mhmm, you leave me no other choice than to inform the Jarl.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.HuskyKillStatus, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKillStatus, 1) end end return true @@ -183,4 +183,4 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) +npcType:register(npcConfig) \ No newline at end of file diff --git a/data-otservbr-global/npc/lurik.lua b/data-otservbr-global/npc/lurik.lua index b9ea973f6ed..b3b27d8f429 100644 --- a/data-otservbr-global/npc/lurik.lua +++ b/data-otservbr-global/npc/lurik.lua @@ -59,22 +59,22 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.ExplorerSociety.TheAstralPortals) == 56 and player:getStorageValue(Storage.ExplorerSociety.QuestLine) == 56 then + if player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheAstralPortals) == 56 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) == 56 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons) == 57 then --will need review in the future npcHandler:say("Ah, you've just come in time. An experienced explorer is just what we need here! Would you like to go on a mission for us?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.ExplorerSociety.TheIslandofDragons) == 58 and player:getStorageValue(Storage.ExplorerSociety.QuestLine) == 58 then + elseif player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons) == 58 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) == 58 then if player:removeItem(7314, 1) then npcHandler:say({ "A frozen dragon lord? This is just the information we needed! And you even brought a scale from it! Take these 5000 gold pieces as a reward. ...", "As you did such a great job, I might have another mission for you later.", }, npc, creature) player:addItem(3035, 50) - player:setStorageValue(Storage.ExplorerSociety.TheIslandofDragons, 59) - player:setStorageValue(Storage.ExplorerSociety.QuestLine, 59) + player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons, 59) + player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 59) else npcHandler:say("You're not done yet...", npc, creature) end - elseif player:getStorageValue(Storage.ExplorerSociety.TheIslandofDragons) == 59 and player:getStorageValue(Storage.ExplorerSociety.QuestLine) == 59 then + elseif player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons) == 59 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) == 59 then npcHandler:say({ "Ah, yes, the mission. Let me tell you about something called ice music. ...", "There is a cave on Hrodmir, north of the southernmost barbarian camp Krimhorn. ...", @@ -82,41 +82,42 @@ local function creatureSayCallback(npc, creature, type, message) "When the wind blows into this cave and hits the stalagmites, it is supposed to create a sound similar to a soft song. ...", "Please take this resonance crystal and use it on the stalagmites in the cave to record the sound of the wind.", }, npc, creature) - player:setStorageValue(Storage.ExplorerSociety.TheIceMusic, 60) - player:setStorageValue(Storage.ExplorerSociety.QuestLine, 60) + player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIceMusic, 60) + player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 60) player:addItem(7242, 1) - elseif player:getStorageValue(Storage.ExplorerSociety.TheIceMusic) == 61 and player:getStorageValue(Storage.ExplorerSociety.QuestLine) == 61 and player:removeItem(7315, 1) then + elseif player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIceMusic) == 61 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) == 61 and player:removeItem(7315, 1) then npcHandler:say({ "Ah! You did it! I can't wait to hear the sound... but I will do that in a silent moment. ...", "You helped as much in our research here. As a reward, you may use our astral portal in the upper room from now on. ...", "For just one orichalcum pearl, you can travel between Liberty Bay and Svargrond. Thank you again!", }, npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.ExplorerSociety.TheIceMusic, 62) - player:setStorageValue(Storage.ExplorerSociety.QuestLine, 62) - player:setStorageValue(Storage.ExplorerSociety.IceMusicDoor, 1) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 32 then + player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIceMusic, 62) + player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 62) + player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.IceMusicDoor, 1) + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 32 then npcHandler:say({ "You are the one who became an honorary barbarian! The one who made friends with the grim local musher and helped the shamans of Nibelor! The one they call old bearhugg ... erm ... I mean indeed I might have a mission for someone like you ...", "We are trying to find out what is happening in the raider camps. Through our connection to the shamans we could get a covered contact in their majorcamp far to the south. We equipped our contact with a memory crystal so he could report all he knew ...", "We need you to recover this crystal. Travel to the southern camp of the raiders and find our contact man there. Get the memory crystal and bring ithere. The society and the shamans will then decide our next steps. Do you think you can do this?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 33 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 33 then npcHandler:say("Have you retrieved the memory crystal?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 34 and player:getStorageValue(Storage.TheIceIslands.MemoryCrystal) > os.time() then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 34 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.MemoryCrystal) > os.time() then npcHandler:say("Give me some more time!", npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 34 and player:getStorageValue(Storage.TheIceIslands.MemoryCrystal) < os.time() then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 34 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.MemoryCrystal) < os.time() then npcHandler:say({ "The information was quite useful. What worries me most are not the raiders but those that have driven them from the old mines...", "We need to investigate the mines. Most entrances collapsed due to the lack of maintenance but there should be some possibilities to get in ...", "In case you find a door, Ill tell you the old trick of the Carlin mining company to open it . Find some hint or someone who is willing to talk about what is going on there.", }, npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.TheIceIslands.Questline, 35) - player:setStorageValue(Storage.TheIceIslands.Mission09, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 1: The Mission + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 35) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission09, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 1: The Mission + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FormorgarMinesDoor, 1) end elseif MsgContains(message, "yes") then -- ISLAND OF DRAGONS @@ -128,20 +129,20 @@ local function creatureSayCallback(npc, creature, type, message) "Travel to Okolnir and try to find a proof for the existence of dragon lords there in the old times. I think old Buddel might be able to bring you there.", }, npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.ExplorerSociety.TheIslandofDragons, 57) - player:setStorageValue(Storage.ExplorerSociety.QuestLine, 57) + player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons, 57) + player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 57) -- ISLAND OF DRAGONS elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say("Excellent. Just report about your mission when you got the memory crystal.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 33) - player:setStorageValue(Storage.TheIceIslands.Mission08, 2) -- Questlog The Ice Islands Quest, The Contact + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 33) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission08, 2) -- Questlog The Ice Islands Quest, The Contact npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(7281, 1) then npcHandler:say("Ah, great. Please give me some time to evaluate the information. Then talk to me again about your mission. ", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 34) - player:setStorageValue(Storage.TheIceIslands.Mission08, 4) -- Questlog The Ice Islands Quest, The Contact - player:setStorageValue(Storage.TheIceIslands.MemoryCrystal, os.time() + 5 * 60) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 34) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission08, 4) -- Questlog The Ice Islands Quest, The Contact + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.MemoryCrystal, os.time() + 5 * 60) npcHandler:setTopic(playerId, 0) end end @@ -167,4 +168,4 @@ end -- On check npc shop message (look item) npcType.onCheckItem = function(npc, player, clientId, subType) end -npcType:register(npcConfig) +npcType:register(npcConfig) \ No newline at end of file diff --git a/data-otservbr-global/npc/nilsor.lua b/data-otservbr-global/npc/nilsor.lua index 7de765db4d5..c65ba995ab6 100644 --- a/data-otservbr-global/npc/nilsor.lua +++ b/data-otservbr-global/npc/nilsor.lua @@ -70,22 +70,22 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 20 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 20 then npcHandler:say({ "I am in dire need of help. A plague has befallen my dogs. I even called a druid of Carlin for help but all he could do was to recommend some strong medicine ...", "The thing is the ingredients of the medicine are extremely rare and some only exist in far away and distant lands. If you could help me collecting the ingredients, I would be eternally grateful ...", "Are you willing to help me?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 28 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 28 then npcHandler:say({ "Thank you. Now I have all necessary ingredients. As a reward I grant you the use of our dog sled, which is located to the east of here. ...", "The dogs can be a bit moody, but if you always carry some ham with you there shouldnt be any problems. Oh, and Hjaern might have a mission for you. So maybe you go and talk to him.", }, npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 29) - player:setStorageValue(Storage.TheIceIslands.Mission07, 1) -- Questlog The Ice Islands Quest, The Secret of Helheim + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 29) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission07, 1) -- Questlog The Ice Islands Quest, The Secret of Helheim npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) > 20 and player:getStorageValue(Storage.TheIceIslands.Questline) < 28 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) > 20 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) < 28 then npcHandler:say("What for ingredient do you have?", npc, creature) npcHandler:setTopic(playerId, 0) else @@ -96,12 +96,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Do you want to buy a waterskin for 25 gold?", npc, creature) npcHandler:setTopic(playerId, 2) elseif MsgContains(message, "cactus") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 21 then npcHandler:say("You will find this kind of cactus at places that are called deserts. Only an ordinary kitchen knife will be precise enough to produce the ingredient weneed. Do you have a part of that cactus with you?", npc, creature) npcHandler:setTopic(playerId, 3) end elseif MsgContains(message, "water") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 22 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 22 then npcHandler:say({ "You will need a specially prepared waterskin to collect the water. You can buy one from me ...", "Use it on a geyser that is NOT active. The water of active geysers is far too hot. You can find inactive geysers on Okolnir. Do you have some geyser water with you?", @@ -109,27 +109,27 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 4) end elseif MsgContains(message, "sulphur") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 23 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 23 then npcHandler:say("I need fine sulphur of an inactive lava hole. No other sulphur will do. Use an ordinary kitchen spoon on an inactive lava hole. Do you have fine sulphur with you?", npc, creature) npcHandler:setTopic(playerId, 5) end elseif MsgContains(message, "herb") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 24 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 24 then npcHandler:say("The frostbite herb is a local plant but its quite rare. You can find it on mountain peaks. You will need to cut it with a fine kitchen knife. Do you have a frostbite herb with you?", npc, creature) npcHandler:setTopic(playerId, 6) end elseif MsgContains(message, "blossom") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 25 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 25 then npcHandler:say("The purple kiss is a plant that grows in a place called jungle. You will have to use a kitchen knife to harvest its blossom. Do you have a blossom of a purple kiss with you?", npc, creature) npcHandler:setTopic(playerId, 7) end elseif MsgContains(message, "hydra tongue") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 26 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 26 then npcHandler:say("The hydra tongue is a common pest plant in warmer regions. You might find one in a shop. Do you have a hydra tongue with you?", npc, creature) npcHandler:setTopic(playerId, 8) end elseif MsgContains(message, "spores") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 27 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 27 then npcHandler:say("The giant glimmercap mushroom exists in caves and other preferably warm and humid places. Use an ordinary kitchen spoon on a mushroom to collectits spores. Do you have the glimmercap spores?", npc, creature) npcHandler:setTopic(playerId, 9) end @@ -140,8 +140,8 @@ local function creatureSayCallback(npc, creature, type, message) "I need a part of the sun adorer cactus, a vial of geyser water, sulphur of a lava hole, a frostbite herb, a blossom of a purple kiss, a hydra tongue and spores of a giant glimmercap mushroom ...", "Turn them in individually by talking about them to me. As soon as I obtained them all, talk to me about the medicine. First time bring a Part of the Sun Adorer {Cactus}.", }, npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 21) - player:setStorageValue(Storage.TheIceIslands.Mission06, 1) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 21) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission06, 1) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then if player:getMoney() + player:getBankBalance() >= 25 then @@ -155,8 +155,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(7245, 1) then npcHandler:say("Thank you for this ingredient. Now bring me Geyser {Water} in a Waterskin. ", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 22) - player:setStorageValue(Storage.TheIceIslands.Mission06, 2) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 22) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission06, 2) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs else npcHandler:say("Come back when you have the ingredient.", npc, creature) end @@ -164,8 +164,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 4 then if player:removeItem(7246, 1) then npcHandler:say("Thank you for this ingredient. Now bring me Fine {Sulphur}.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 23) - player:setStorageValue(Storage.TheIceIslands.Mission06, 3) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 23) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission06, 3) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs else npcHandler:say("Come back when you have the ingredient.", npc, creature) end @@ -173,8 +173,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 5 then if player:removeItem(7247, 1) then npcHandler:say("Thank you for this ingredient. Now bring me the Frostbite {Herb}", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 24) - player:setStorageValue(Storage.TheIceIslands.Mission06, 4) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 24) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission06, 4) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs else npcHandler:say("Come back when you have the ingredient.", npc, creature) end @@ -182,8 +182,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 6 then if player:removeItem(7248, 1) then npcHandler:say("Thank you for this ingredient Now bring me Purple Kiss {Blossom}.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 25) - player:setStorageValue(Storage.TheIceIslands.Mission06, 5) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 25) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission06, 5) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs else npcHandler:say("Come back when you have the ingredient.", npc, creature) end @@ -191,8 +191,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 7 then if player:removeItem(7249, 1) then npcHandler:say("Thank you for this ingredient. Now bring me the {Hydra Tongue}", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 26) - player:setStorageValue(Storage.TheIceIslands.Mission06, 6) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 26) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission06, 6) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs else npcHandler:say("Come back when you have the ingredient. ", npc, creature) end @@ -200,8 +200,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 8 then if player:removeItem(7250, 1) then npcHandler:say("Thank you for this ingredient. Now bring me {Spores} of a Giant Glimmercap Mushroom.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 27) - player:setStorageValue(Storage.TheIceIslands.Mission06, 7) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 27) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission06, 7) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs else npcHandler:say("Come back when you have the ingredient.", npc, creature) end @@ -209,8 +209,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 9 then if player:removeItem(7251, 1) then npcHandler:say("Thank you for this ingredient. Now you finish your {mission}", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 28) - player:setStorageValue(Storage.TheIceIslands.Mission06, 8) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 28) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission06, 8) -- Questlog The Ice Islands Quest, Nibelor 5: Cure the Dogs else npcHandler:say("Come back when you have the ingredient.", npc, creature) end @@ -229,4 +229,4 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) +npcType:register(npcConfig) \ No newline at end of file diff --git a/data-otservbr-global/npc/nor.lua b/data-otservbr-global/npc/nor.lua index d055f44a092..5245e59888e 100644 --- a/data-otservbr-global/npc/nor.lua +++ b/data-otservbr-global/npc/nor.lua @@ -59,11 +59,11 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "crystal") then - if player:getStorageValue(Storage.TheIceIslands.Mission08) == 2 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission08) == 2 then npcHandler:say("Here, take the memory crystal and leave immediately.", npc, creature) npcHandler:setTopic(playerId, 0) player:addItem(7281, 1) - player:setStorageValue(Storage.TheIceIslands.Mission08, 3) -- Questlog The Ice Islands Quest, The Contact + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission08, 3) -- Questlog The Ice Islands Quest, The Contact end end return true diff --git a/data-otservbr-global/npc/siflind.lua b/data-otservbr-global/npc/siflind.lua index 5ac37322855..71ae4a6bbef 100644 --- a/data-otservbr-global/npc/siflind.lua +++ b/data-otservbr-global/npc/siflind.lua @@ -59,54 +59,54 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 5 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 5 then npcHandler:say("I heard you have already helped our cause. Are you interested in another mission, even when it requires you to travel to a distant land?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 7 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 7 then npcHandler:say("Well done. The termites caused just the distraction that we needed. Are you ready for the next step of my plan?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 9 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 9 then npcHandler:say("You saved the lives of many innocent animals. Thank you very much. If you are looking for another mission, just ask me.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 10) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 10) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 10 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 10 then npcHandler:say("Our warriors need a more potent yet more secure berserker elixir to fight our enemies. To brew it, I need several ingredients. The first things needed are 5 bat wings. Bring them to me and Ill tell you the next ingredients we need.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 11) - player:setStorageValue(Storage.TheIceIslands.Mission05, 1) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 11) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission05, 1) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 11 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 11 then npcHandler:say("Do you have the 5 bat wings I requested?", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 12 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 12 then npcHandler:say("The second things needed are 4 bear paws. Bring them to me and Ill tell you the next ingredients we need.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 13) - player:setStorageValue(Storage.TheIceIslands.Mission05, 2) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 13) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission05, 2) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 13 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 13 then npcHandler:say("Do you have the 4 bear paws I requested?", npc, creature) npcHandler:setTopic(playerId, 6) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 14 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 14 then npcHandler:say("The next things needed are 3 bonelord eyes. Bring them to me and Ill tell you the next ingredients we need.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 15) - player:setStorageValue(Storage.TheIceIslands.Mission05, 3) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 15) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission05, 3) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 15 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 15 then npcHandler:say("Do you have the 3 bonelord eyes I requested?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 16 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 16 then npcHandler:say("The next things needed are 2 fish fins. Bring them to me and Ill tell you the next ingredients we need.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 17) - player:setStorageValue(Storage.TheIceIslands.Mission05, 4) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 17) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission05, 4) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 17 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 17 then npcHandler:say("Do you have the 2 fish fins I requested?", npc, creature) npcHandler:setTopic(playerId, 8) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 18 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 18 then npcHandler:say("The last thing needed is a green dragon scale. Bring them to me and Ill tell you the next ingredients we need.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 19) - player:setStorageValue(Storage.TheIceIslands.Mission05, 5) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 19) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission05, 5) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheIceIslands.Questline) == 19 then + elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 19 then npcHandler:say("Do you have the green dragon scale I requested?", npc, creature) npcHandler:setTopic(playerId, 9) else @@ -123,8 +123,8 @@ local function creatureSayCallback(npc, creature, type, message) "Take this jug here and travel to the jungle of Tiquanda. There you will find a race of wood eating ants called termites. Use the jug on one of their hills to catch some of them ...", "Then find someone in Svargrond that brings you to Tyrsung. There, release the termites on the bottom of a mast in the hull of the hunters' ship. If you are done, report to me about your mission.", }, npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 6) - player:setStorageValue(Storage.TheIceIslands.Mission03, 1) -- Questlog The Ice Islands Quest, Nibelor 2: Ecological Terrorism + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 6) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission03, 1) -- Questlog The Ice Islands Quest, Nibelor 2: Ecological Terrorism player:addItem(7243, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then @@ -140,13 +140,13 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 4 then npcHandler:say("So let's proceed. Take this vial of paint. Travel to Tyrsung again and ruin as many pelts of baby seals as possible before the paint runs dry or freezes. Then return here to report about your mission. ", npc, creature) player:addItem(7253, 1) - player:setStorageValue(Storage.TheIceIslands.Questline, 8) - player:setStorageValue(Storage.TheIceIslands.Mission04, 1) -- Questlog The Ice Islands Quest, Nibelor 3: Artful Sabotage + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 8) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission04, 1) -- Questlog The Ice Islands Quest, Nibelor 3: Artful Sabotage npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 then -- Wings if player:removeItem(5894, 5) then npcHandler:say("Thank you very much.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 12) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 12) npcHandler:setTopic(playerId, 0) else npcHandler:say("Come back when you do.", npc, creature) @@ -155,7 +155,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 6 then -- Paws if player:removeItem(5896, 4) then npcHandler:say("Thank you very much.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 14) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 14) npcHandler:setTopic(playerId, 0) else npcHandler:say("Come back when you do.", npc, creature) @@ -164,7 +164,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 7 then -- Eyes if player:removeItem(5898, 3) then npcHandler:say("Thank you very much.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 16) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 16) npcHandler:setTopic(playerId, 0) else npcHandler:say("Come back when you do.", npc, creature) @@ -173,7 +173,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 8 then -- Fins if player:removeItem(5895, 2) then npcHandler:say("Thank you very much.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 18) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 18) npcHandler:setTopic(playerId, 0) else npcHandler:say("Come back when you do.", npc, creature) @@ -182,8 +182,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 9 then -- Scale if player:removeItem(5920, 1) then npcHandler:say("Thank you very much. This will help us to defend Svargrond. But I heard young Nilsor is in dire need of help. Please contact him immediately.", npc, creature) - player:setStorageValue(Storage.TheIceIslands.Questline, 20) - player:setStorageValue(Storage.TheIceIslands.Mission05, 6) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 20) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission05, 6) -- Questlog The Ice Islands Quest, Nibelor 4: Berserk Brewery npcHandler:setTopic(playerId, 0) else npcHandler:say("Come back when you do.", npc, creature) @@ -288,4 +288,4 @@ end -- On check npc shop message (look item) npcType.onCheckItem = function(npc, player, clientId, subType) end -npcType:register(npcConfig) +npcType:register(npcConfig) \ No newline at end of file diff --git a/data-otservbr-global/npc/sinatuki.lua b/data-otservbr-global/npc/sinatuki.lua index 74809d5a351..5205ce42d08 100644 --- a/data-otservbr-global/npc/sinatuki.lua +++ b/data-otservbr-global/npc/sinatuki.lua @@ -57,7 +57,7 @@ local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) if MsgContains(message, "Nupi") then - if player:getStorageValue(Storage.BarbarianTest.Questline) >= 3 and player:getStorageValue(Storage.TheIceIslands.Questline) >= 5 then + if player:getStorageValue(Storage.BarbarianTest.Questline) >= 3 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 5 then for i = 1, #fishsID do if player:getItemCount(fishsID[i]) >= 100 then player:removeItem(fishsID[i], 100) diff --git a/data-otservbr-global/npc/sven.lua b/data-otservbr-global/npc/sven.lua index c141daec378..d21c442f7ee 100644 --- a/data-otservbr-global/npc/sven.lua +++ b/data-otservbr-global/npc/sven.lua @@ -51,13 +51,14 @@ npcType.onCloseChannel = function(npc, creature) end local function greetCallback(npc, player) - if player:getStorageValue(Storage.TheIceIslands.HuskyKillStatus) == 1 then - npcHandler:setMessage(MESSAGE_GREET, "Iskan told me that you killed huskies here in Svargrond. I will be lenient towards you and won't ban you from Svargrond. But you have to pay me a compensation of 1500 gold for each husky you have killed. Are you willing to pay " .. player:getStorageValue(Storage.TheIceIslands.HuskyKill) * 1500 .. "?") + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKillStatus) == 1 then + npcHandler:setMessage(MESSAGE_GREET, "Iskan told me that you killed huskies here in Svargrond. I will be lenient towards you and won't ban you from Svargrond. But you have to pay me a compensation of 1500 gold for each husky you have killed. Are you willing to pay " .. player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill) * 1500 .. "?") else npcHandler:setMessage(MESSAGE_GREET, "Be greeted, |PLAYERNAME|! What brings you {here}?") end return true end + local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() @@ -67,7 +68,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "barbarian") then - if player:getStorageValue(Storage.BarbarianTest.Questline) < 1 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 1 then npcHandler:say("A true barbarian is something special among our people. Everyone who wants to become a barbarian will have to pass the barbarian {test}.", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -77,49 +78,49 @@ local function creatureSayCallback(npc, creature, type, message) "Are you willing to take the barbarian test?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif MsgContains(message, "mead") then - if player:getStorageValue(Storage.BarbarianTest.Questline) == 1 then + elseif MsgContains(message, "barbarian") or MsgContains(message, "mead") then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 1 then npcHandler:say("Do you have some honey with you?", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.BarbarianTest.Questline) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 3 then npcHandler:say({ "An impressive start. Here, take your own mead horn to fill it at the mead bucket as often as you like ...", "But there is much left to be done. Your next test will be to hug a bear ...", "You will find one in a cave north of the town. If you are lucky, it's still sleeping. If not ... well that might hurt ...", "Unless you feel that you hugged the bear, the test is not passed. Once you are done, talk to me about the bear hugging.", }, npc, creature) - player:setStorageValue(Storage.BarbarianTest.Questline, 4) - player:setStorageValue(Storage.BarbarianTest.Mission02, 1) -- Questlog Barbarian Test Quest Barbarian Test 2: The Bear Hugging + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 4) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission02, 1) -- Questlog Barbarian Test Quest Barbarian Test 2: The Bear Hugging player:addItem(7140, 1) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "hug") then - if player:getStorageValue(Storage.BarbarianTest.Questline) == 5 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 5 then npcHandler:say({ "Amazing. That was as clever and brave as a barbarian is supposed to be. But a barbarian also has to be strong and fearless. To prove that you will have to knock over a mammoth ...", "Did your face just turn into the color of fresh snow? However, you will find a lonely mammoth north west of the town in the wilderness. Knock it over to prove to be a true barbarian ...", "Return to me and talk about the {mammoth} pushing when you are done.", }, npc, creature) - player:setStorageValue(Storage.BarbarianTest.Questline, 6) - player:setStorageValue(Storage.BarbarianTest.Mission03, 1) -- Questlog Barbarian Test Quest Barbarian Test 3: The Mammoth Pushing + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 6) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission03, 1) -- Questlog Barbarian Test Quest Barbarian Test 3: The Mammoth Pushing npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "mammoth") then - if player:getStorageValue(Storage.BarbarianTest.Questline) == 7 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 7 then npcHandler:say({ "As you have passed all three tests, I welcome you in our town as an honorary barbarian. You can now become a citizen. Don't forget to talk to the people here. Some of them might need some help ...", "We usually solve our problems on our own but some of the people might have a mission for you. Old Iskan, on the ice in the northern part of the town had some trouble with his dogs lately.", }, npc, creature) - player:setStorageValue(Storage.BarbarianTest.Questline, 8) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 8) player:addAchievement("Honorary Barbarian") npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "yes") then - if player:getStorageValue(Storage.TheIceIslands.HuskyKillStatus) == 1 and player:getStorageValue(Storage.BarbarianTest.Questline) == 8 then - if player:removeMoneyBank(player:getStorageValue(Storage.TheIceIslands.HuskyKill) * 1500) then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKillStatus) == 1 and player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 8 then + if player:removeMoneyBank(player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill) * 1500) then npcHandler:say("Alright, we are even!", npc, creature) - player:setStorageValue(Storage.TheIceIslands.HuskyKillStatus, 0) - player:setStorageValue(Storage.TheIceIslands.HuskyKill, 0) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKillStatus, 0) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill, 0) npcHandler:setTopic(playerId, 0) else npcHandler:say("You don't have enough. Bring me the money and I will forget about it.", npc, creature) @@ -138,28 +139,28 @@ local function creatureSayCallback(npc, creature, type, message) "Therefore, you have to get your own honey. You'll probably need more than one try so better get some extra honeycombs. Then talk to me again about barbarian {mead}.", }, npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.BarbarianTest.Questline, 1) - player:setStorageValue(Storage.TheIceIslands.Questline, 1) - player:setStorageValue(Storage.BarbarianTest.Mission01, 1) -- Questlog Barbarian Test Quest Barbarian Test 1: Barbarian Booze + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission01, 1) -- Questlog Barbarian Test Quest Barbarian Test 1: Barbarian Booze elseif npcHandler:getTopic(playerId) == 4 then if player:removeItem(5902, 1) then npcHandler:say("Good, for this honeycomb I allow you 20 sips from the mead bucket over there. Talk to me again about barbarian mead if you have passed the test.", npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.BarbarianTest.Questline, 2) - player:setStorageValue(Storage.BarbarianTest.Mission01, 2) -- Questlog Barbarian Test Quest Barbarian Test 1: Barbarian Booze - player:setStorageValue(Storage.BarbarianTest.MeadTotalSips, 0) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 2) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission01, 2) -- Questlog Barbarian Test Quest Barbarian Test 1: Barbarian Booze + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.MeadTotalSips, 0) end end elseif MsgContains(message, "no") then - if player:getStorageValue(Storage.TheIceIslands.HuskyKillStatus) == 1 and npcHandler:getTopic(playerId) == 0 then - npcHandler:say("I don't know if you realise the consequences. You won't be a member of our community anymore. I ask you for the last time: Are you willing to pay " .. player:getStorageValue(Storage.TheIceIslands.HuskyKill) * 1500 .. " gold as a compensation?", npc, creature) + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKillStatus) == 1 and npcHandler:getTopic(playerId) == 0 then + npcHandler:say("I don't know if you realise the consequences. You won't be a member of our community anymore. I ask you for the last time: Are you willing to pay " .. player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill) * 1500 .. " gold as a compensation?", npc, creature) npcHandler:setTopic(playerId, 10) elseif npcHandler:getTopic(playerId) == 10 then npcHandler:say("Alright, it's your choice. If you regret your decision and want to be a barbarian again, talk to me about the {barbarian} test.", npc, creature) - player:setStorageValue(Storage.BarbarianTest.Questline, -1) - player:setStorageValue(Storage.BarbarianTest.Mission01, -1) - player:setStorageValue(Storage.BarbarianTest.Mission02, -1) - player:setStorageValue(Storage.BarbarianTest.Mission03, -1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, -1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission01, -1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission02, -1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission03, -1) end end return true @@ -170,4 +171,4 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) +npcType:register(npcConfig) \ No newline at end of file diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua index 42fc5bb8ab8..4d5bb7e1417 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua @@ -75,10 +75,10 @@ local config = { items = { { itemId = 2820, text = " Tylaf, apprentice of Hjaern" }, }, - storage = Storage.TheIceIslands.Questline, + storage = Storage.Quest.U8_0.TheIceIslands.Questline, formerValue = 35, newValue = 36, - missionStorage = { key = Storage.TheIceIslands.Mission09, value = 2 }, + missionStorage = { key = Storage.Quest.U8_0.TheIceIslands.Mission09, value = 2 }, }, [3116] = { items = { diff --git a/data-otservbr-global/scripts/actions/quests/barbarian_test/mead.lua b/data-otservbr-global/scripts/actions/quests/barbarian_test/mead.lua deleted file mode 100644 index de2a579ce30..00000000000 --- a/data-otservbr-global/scripts/actions/quests/barbarian_test/mead.lua +++ /dev/null @@ -1,34 +0,0 @@ -local condition = Condition(CONDITION_OUTFIT) -condition:setOutfit({ lookTypeEx = 111 }) -condition:setTicks(1000) -local barbarianMead = Action() -function barbarianMead.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.BarbarianTest.Questline) == 2 and player:getStorageValue(Storage.BarbarianTest.MeadTotalSips) <= 20 then - if math.random(5) > 1 then - player:say("The world seems to spin but you manage to stay on your feet.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.BarbarianTest.MeadSuccessSips, player:getStorageValue(Storage.BarbarianTest.MeadSuccessSips) + 1) - if player:getStorageValue(Storage.BarbarianTest.MeadSuccessSips) == 9 then -- 9 sips here cause local player at start - player:say("10 sips in a row. Yeah!", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.BarbarianTest.Questline, 3) - player:setStorageValue(Storage.BarbarianTest.Mission01, 3) -- Questlog Barbarian Test Quest Barbarian Test 1: Barbarian Booze - return true - end - else - player:say("The mead was too strong. You passed out for a moment.", TALKTYPE_MONSTER_SAY) - player:addCondition(condition) - player:getPosition():sendMagicEffect(CONST_ME_HITBYPOISON) - player:setStorageValue(Storage.BarbarianTest.MeadSuccessSips, 0) - end - player:setStorageValue(Storage.BarbarianTest.MeadTotalSips, player:getStorageValue(Storage.BarbarianTest.MeadTotalSips) + 1) - elseif player:getStorageValue(Storage.BarbarianTest.MeadTotalSips) > 20 then - player:say("Ask Sven for another round.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.BarbarianTest.Questline, 1) - player:setStorageValue(Storage.BarbarianTest.Mission01, 1) -- Questlog Barbarian Test Quest Barbarian Test 1: Barbarian Booze - elseif player:getStorageValue(Storage.BarbarianTest.Questline) >= 3 then - player:say("You already passed the test, no need to torture yourself anymore.", TALKTYPE_MONSTER_SAY) - end - return true -end - -barbarianMead:position({ x = 32201, y = 31154, z = 7 }) -barbarianMead:register() diff --git a/data-otservbr-global/scripts/actions/quests/ice_islands/charm.lua b/data-otservbr-global/scripts/actions/quests/ice_islands/charm.lua deleted file mode 100644 index d45ee1711a8..00000000000 --- a/data-otservbr-global/scripts/actions/quests/ice_islands/charm.lua +++ /dev/null @@ -1,49 +0,0 @@ -local iceCharm = Action() -function iceCharm.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if target.itemid ~= 1841 then - return false - end - - if player:getStorageValue(Storage.TheIceIslands.Questline) ~= 39 then - return true - end - - local obelisk1 = { x = 32138, y = 31113, z = 14 } - local obelisk2 = { x = 32119, y = 30992, z = 14 } - local obelisk3 = { x = 32180, y = 31069, z = 14 } - local obelisk4 = { x = 32210, y = 31027, z = 14 } - - if toPosition.x == obelisk1.x and toPosition.y == obelisk1.y and toPosition.z == obelisk1.z then - if player:getStorageValue(Storage.TheIceIslands.Obelisk01) < 5 then - player:setStorageValue(Storage.TheIceIslands.Obelisk01, 5) - player:setStorageValue(Storage.TheIceIslands.Mission12, player:getStorageValue(Storage.TheIceIslands.Mission12) + 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation - toPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE) - player:say("You mark an obelisk with the frost charm.", TALKTYPE_MONSTER_SAY) - end - elseif toPosition.x == obelisk2.x and toPosition.y == obelisk2.y and toPosition.z == obelisk2.z then - if player:getStorageValue(Storage.TheIceIslands.Obelisk02) < 5 then - player:setStorageValue(Storage.TheIceIslands.Obelisk02, 5) - player:setStorageValue(Storage.TheIceIslands.Mission12, player:getStorageValue(Storage.TheIceIslands.Mission12) + 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation - toPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE) - player:say("You mark an obelisk with the frost charm.", TALKTYPE_MONSTER_SAY) - end - elseif toPosition.x == obelisk3.x and toPosition.y == obelisk3.y and toPosition.z == obelisk3.z then - if player:getStorageValue(Storage.TheIceIslands.Obelisk03) < 5 then - player:setStorageValue(Storage.TheIceIslands.Obelisk03, 5) - player:setStorageValue(Storage.TheIceIslands.Mission12, player:getStorageValue(Storage.TheIceIslands.Mission12) + 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation - toPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE) - player:say("You mark an obelisk with the frost charm.", TALKTYPE_MONSTER_SAY) - end - elseif toPosition.x == obelisk4.x and toPosition.y == obelisk4.y and toPosition.z == obelisk4.z then - if player:getStorageValue(Storage.TheIceIslands.Obelisk04) < 5 then - player:setStorageValue(Storage.TheIceIslands.Obelisk04, 5) - player:setStorageValue(Storage.TheIceIslands.Mission12, player:getStorageValue(Storage.TheIceIslands.Mission12) + 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation - toPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE) - player:say("You mark an obelisk with the frost charm.", TALKTYPE_MONSTER_SAY) - end - end - return true -end - -iceCharm:id(7289) -iceCharm:register() diff --git a/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua b/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua index 4e930b53d3a..b4dac97eb2a 100644 --- a/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua +++ b/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua @@ -1,8 +1,55 @@ local kitchenKnife = Action() +local function revertItem(position, itemId, transformId) + local item = Tile(position):getItemById(itemId) + if item then + item:transform(transformId) + end +end + function kitchenKnife.onUse(player, item, fromPosition, target, toPosition, isHotkey) + if not target:isItem() then + return false + end + + local targetId = target:getId() + + --The Ice Islands Quest - Cure the Dogs + if targetId == 7261 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.FrostbiteHerb) < 1 then + player:addItem(7248, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FrostbiteHerb, 1) + toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) + player:say('You cut a leaf from a frostbite herb.', TALKTYPE_MONSTER_SAY) + end + end + elseif targetId == 3647 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerCactus) < 1 then + player:addItem(7245, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerCactus, 1) + target:transform(3646) + addEvent(revertItem, 60 * 1000, toPosition, 3646, 3647) + toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) + player:say('You cut a flower from a cactus.', TALKTYPE_MONSTER_SAY) + end + end + elseif targetId == 3753 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerBush) < 1 then + player:addItem(7249, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerBush, 1) + target:transform(3750) + addEvent(revertItem, 60 * 1000, toPosition, 3750, 3753) + toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) + player:say('You cut a flower from a bush.', TALKTYPE_MONSTER_SAY) + end + end + end + return onUseKitchenKnife(player, item, fromPosition, target, toPosition, isHotkey) end kitchenKnife:id(3469) -kitchenKnife:register() +kitchenKnife:register() \ No newline at end of file diff --git a/data-otservbr-global/scripts/actions/tools/pick.lua b/data-otservbr-global/scripts/actions/tools/pick.lua new file mode 100644 index 00000000000..8386afc603b --- /dev/null +++ b/data-otservbr-global/scripts/actions/tools/pick.lua @@ -0,0 +1,40 @@ +local pick = Action() + +local function revertItem(position, itemId, transformId) + local item = Tile(position):getItemById(itemId) + if item then + item:transform(transformId) + end +end + +function pick.onUse(player, item, fromPosition, target, toPosition, isHotkey) + -- Ice Islands Quest, Nibelor 1: Breaking the Ice + if target:getActionId() == 60000 then + local missionProgress, pickAmount = player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline), player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02) + if missionProgress < 1 or pickAmount >= 4 then + return false + end + + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02, math.max(0, pickAmount) + 1) + + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02) == 4 then + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 4) + end + + local crackItem = Tile(toPosition):getItemById(7185) + if crackItem then + crackItem:transform(7186) + addEvent(revertItem, 60 * 1000, toPosition, 7186, 7185) + end + + local chakoyas = {"Chakoya Toolshaper", "Chakoya Tribewarden", "Chakoya Windcaller"} + Game.createMonster(chakoyas[math.random(#chakoyas)], toPosition) + toPosition:sendMagicEffect(CONST_ME_TELEPORT) + return true + end + + return onUsePick(player, item, fromPosition, target, toPosition, isHotkey) +end + +pick:id(3456) +pick:register() \ No newline at end of file diff --git a/data-otservbr-global/scripts/actions/tools/spoon.lua b/data-otservbr-global/scripts/actions/tools/spoon.lua new file mode 100644 index 00000000000..8b68b2bac92 --- /dev/null +++ b/data-otservbr-global/scripts/actions/tools/spoon.lua @@ -0,0 +1,36 @@ +local spoon = Action() + +function spoon.onUse(player, item, fromPosition, target, toPosition, isHotkey) + if not target:isItem() then + return false + end + + -- Obtenha o ID do item alvo + local targetId = target:getId() + + --The Ice Islands Quest - Cure the Dogs + if targetId == 390 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.SulphurLava) < 1 then + player:addItem(7247, 1) -- fine sulphur + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.SulphurLava, 1) + toPosition:sendMagicEffect(CONST_ME_MAGIC_RED) + player:say('You retrive a fine sulphur from a lava hole.', TALKTYPE_MONSTER_SAY) + end + end + elseif targetId == 3920 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.SporesMushroom) < 1 then + player:addItem(7251, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.SporesMushroom, 1) + toPosition:sendMagicEffect(CONST_ME_MAGIC_RED) + player:say('You retrive spores from a mushroom.', TALKTYPE_MONSTER_SAY) + end + end + end + + return onUseSpoon(player, item, fromPosition, target, toPosition, isHotkey) +end + +spoon:id(3468) +spoon:register() \ No newline at end of file diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 6f7e00e77f6..72c5cf7db44 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -160,20 +160,20 @@ local questTable = { { storage = Storage.HiddenCityOfBeregar.DefaultStart, storageValue = 1 }, { storage = Storage.HiddenCityOfBeregar.GoingDown, storageValue = 1 }, { storage = Storage.HiddenCityOfBeregar.WayToBeregar, storageValue = 1 }, - { storage = Storage.TheIceIslands.Questline, storageValue = 40 }, - { storage = Storage.TheIceIslands.Mission01, storageValue = 3 }, - { storage = Storage.TheIceIslands.Mission02, storageValue = 5 }, - { storage = Storage.TheIceIslands.Mission03, storageValue = 3 }, - { storage = Storage.TheIceIslands.Mission04, storageValue = 2 }, - { storage = Storage.TheIceIslands.Mission05, storageValue = 6 }, - { storage = Storage.TheIceIslands.Mission06, storageValue = 8 }, - { storage = Storage.TheIceIslands.Mission07, storageValue = 3 }, - { storage = Storage.TheIceIslands.Mission08, storageValue = 4 }, - { storage = Storage.TheIceIslands.Mission09, storageValue = 2 }, - { storage = Storage.TheIceIslands.Mission10, storageValue = 2 }, - { storage = Storage.TheIceIslands.Mission11, storageValue = 2 }, - { storage = Storage.TheIceIslands.Mission12, storageValue = 6 }, - { storage = Storage.TheIceIslands.yakchalDoor, storageValue = 1 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Questline, storageValue = 40 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission01, storageValue = 3 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission02, storageValue = 5 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission03, storageValue = 3 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission04, storageValue = 2 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission05, storageValue = 6 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission06, storageValue = 8 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission07, storageValue = 3 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission08, storageValue = 4 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission09, storageValue = 2 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission10, storageValue = 2 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission11, storageValue = 2 }, + { storage = Storage.Quest.U8_0.TheIceIslands.Mission12, storageValue = 6 }, + { storage = Storage.Quest.U8_0.TheIceIslands.yakchalDoor, storageValue = 1 }, { storage = Storage.TheInquisition.Questline, storageValue = 25 }, { storage = Storage.TheInquisition.Mission01, storageValue = 7 }, { storage = Storage.TheInquisition.Mission02, storageValue = 3 }, diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_ice_islands/husky_kill.lua b/data-otservbr-global/scripts/creaturescripts/quests/the_ice_islands/husky_kill.lua index b5a3f4c4dff..6d9929b0b4f 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/the_ice_islands/husky_kill.lua +++ b/data-otservbr-global/scripts/creaturescripts/quests/the_ice_islands/husky_kill.lua @@ -2,8 +2,8 @@ local huskyKill = CreatureEvent("HuskyDeath") function huskyKill.onDeath(creature) onDeathForDamagingPlayers(creature, function(creature, player) - local value = player:getStorageValue(Storage.TheIceIslands.HuskyKill) or 0 - player:setStorageValue(Storage.TheIceIslands.HuskyKill, value + 1) + local value = player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill) or 0 + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.HuskyKill, value + 1) end) return true end diff --git a/data-otservbr-global/scripts/actions/quests/barbarian_test/horn.lua b/data-otservbr-global/scripts/quests/barbarian_test/action_horn.lua similarity index 57% rename from data-otservbr-global/scripts/actions/quests/barbarian_test/horn.lua rename to data-otservbr-global/scripts/quests/barbarian_test/action_horn.lua index e4a98d2ce85..6a9056d3502 100644 --- a/data-otservbr-global/scripts/actions/quests/barbarian_test/horn.lua +++ b/data-otservbr-global/scripts/quests/barbarian_test/action_horn.lua @@ -3,21 +3,24 @@ local function sendSleepEffect(position) end local barbarianHorn = Action() + function barbarianHorn.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if target.uid == 3110 and item.itemid == 7140 then + if item.itemid == 7140 and Tile(Position(32201, 31154, 7)):getItemById(7142) then player:say("You fill your horn with ale.", TALKTYPE_MONSTER_SAY) item:transform(7141) toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) - elseif target.itemid == 7174 and item.itemid == 7141 then - player:say("The bear is now unconcious.", TALKTYPE_MONSTER_SAY) - item:transform(7140) - target:transform(7175) - toPosition:sendMagicEffect(CONST_ME_STUN) + elseif item.itemid == 7141 and Tile(Position(32253, 31049, 5)):getItemById(7174) then + local targetItem = Tile(Position(32253, 31049, 5)):getItemById(7174) + if targetItem then + player:say("The bear is now unconscious.", TALKTYPE_MONSTER_SAY) + targetItem:transform(7175) + toPosition:sendMagicEffect(CONST_ME_STUN) + end elseif item.itemid == 7175 then - if player:getStorageValue(Storage.BarbarianTest.Questline) == 4 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 4 then player:say("You hug the unconcious bear.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.BarbarianTest.Questline, 5) - player:setStorageValue(Storage.BarbarianTest.Mission02, 2) -- Questlog Barbarian Test Quest Barbarian Test 2: The Bear Hugging + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 5) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission02, 2) -- Questlog Barbarian Test Quest Barbarian Test 2: The Bear Hugging player:addAchievement("Bearhugger") item:transform(7174) toPosition:sendMagicEffect(CONST_ME_SLEEP) @@ -29,11 +32,11 @@ function barbarianHorn.onUse(player, item, fromPosition, target, toPosition, isH player:say("The bear is not amused by the disturbance.", TALKTYPE_MONSTER_SAY) doAreaCombatHealth(player, COMBAT_PHYSICALDAMAGE, player:getPosition(), 0, -10, -30, CONST_ME_POFF) elseif item.itemid == 7176 then - if player:getStorageValue(Storage.BarbarianTest.Questline) == 6 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 6 then if player:getCondition(CONDITION_DRUNK) then player:say("You hustle the mammoth. What a fun. *hicks*.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.BarbarianTest.Questline, 7) - player:setStorageValue(Storage.BarbarianTest.Mission03, 2) -- Questlog Barbarian Test Quest Barbarian Test 3: The Mammoth Pushing + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 7) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission03, 2) -- Questlog Barbarian Test Quest Barbarian Test 3: The Mammoth Pushing item:transform(7177) item:decay() addEvent(sendSleepEffect, 60 * 1000, toPosition) @@ -47,4 +50,4 @@ function barbarianHorn.onUse(player, item, fromPosition, target, toPosition, isH end barbarianHorn:id(7140, 7141, 7174, 7175, 7176) -barbarianHorn:register() +barbarianHorn:register() \ No newline at end of file diff --git a/data-otservbr-global/scripts/quests/barbarian_test/action_mead.lua b/data-otservbr-global/scripts/quests/barbarian_test/action_mead.lua new file mode 100644 index 00000000000..ef7ee3a194f --- /dev/null +++ b/data-otservbr-global/scripts/quests/barbarian_test/action_mead.lua @@ -0,0 +1,34 @@ +local condition = Condition(CONDITION_OUTFIT) +condition:setOutfit({ lookTypeEx = 111 }) +condition:setTicks(1000) +local barbarianMead = Action() +function barbarianMead.onUse(player, item, fromPosition, target, toPosition, isHotkey) + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 2 and player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.MeadTotalSips) <= 20 then + if math.random(5) > 1 then + player:say("The world seems to spin but you manage to stay on your feet.", TALKTYPE_MONSTER_SAY) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.MeadSuccessSips, player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.MeadSuccessSips) + 1) + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.MeadSuccessSips) == 9 then -- 9 sips here cause local player at start + player:say("10 sips in a row. Yeah!", TALKTYPE_MONSTER_SAY) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 3) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission01, 3) -- Questlog Barbarian Test Quest Barbarian Test 1: Barbarian Booze + return true + end + else + player:say("The mead was too strong. You passed out for a moment.", TALKTYPE_MONSTER_SAY) + player:addCondition(condition) + player:getPosition():sendMagicEffect(CONST_ME_HITBYPOISON) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.MeadSuccessSips, 0) + end + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.MeadTotalSips, player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.MeadTotalSips) + 1) + elseif player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.MeadTotalSips) > 20 then + player:say("Ask Sven for another round.", TALKTYPE_MONSTER_SAY) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission01, 1) -- Questlog Barbarian Test Quest Barbarian Test 1: Barbarian Booze + elseif player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) >= 3 then + player:say("You already passed the test, no need to torture yourself anymore.", TALKTYPE_MONSTER_SAY) + end + return true +end + +barbarianMead:position({ x = 32201, y = 31154, z = 7 }) +barbarianMead:register() \ No newline at end of file diff --git a/data-otservbr-global/scripts/actions/quests/ice_islands/anthill.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_anthill.lua similarity index 56% rename from data-otservbr-global/scripts/actions/quests/ice_islands/anthill.lua rename to data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_anthill.lua index 57c2cc1799e..14dbec36570 100644 --- a/data-otservbr-global/scripts/actions/quests/ice_islands/anthill.lua +++ b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_anthill.lua @@ -1,24 +1,27 @@ local iceAntHill = Action() + function iceAntHill.onUse(player, item, fromPosition, target, toPosition, isHotkey) local mast = { x = 32360, y = 31365, z = 7 } + if target.itemid == 1079 and item.itemid == 7243 then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 6 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 6 then toPosition:sendMagicEffect(CONST_ME_GROUNDSHAKER) - player:setStorageValue(Storage.TheIceIslands.Mission03, 2) -- Questlog The Ice Islands Quest, Nibelor 2: Ecological Terrorism + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission03, 2) -- Questlog The Ice Islands Quest, Nibelor 2: Ecological Terrorism player:say("You fill the jug with ants.", TALKTYPE_MONSTER_SAY) item:transform(7244) end elseif target.itemid == 4940 and item.itemid == 7244 and toPosition.x == mast.x and toPosition.y == mast.y and toPosition.z == mast.z then - if player:getStorageValue(Storage.TheIceIslands.Questline) == 6 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 6 then toPosition:sendMagicEffect(CONST_ME_HITAREA) - player:setStorageValue(Storage.TheIceIslands.Questline, 7) - player:setStorageValue(Storage.TheIceIslands.Mission03, 3) -- Questlog The Ice Islands Quest, Nibelor 2: Ecological Terrorism + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 7) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission03, 3) -- Questlog The Ice Islands Quest, Nibelor 2: Ecological Terrorism player:say("You released ants on the hill.", TALKTYPE_MONSTER_SAY) player:removeItem(7243, 1) end end + return true end iceAntHill:id(7243, 7244) -iceAntHill:register() +iceAntHill:register() \ No newline at end of file diff --git a/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_charm.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_charm.lua new file mode 100644 index 00000000000..be2b35c6435 --- /dev/null +++ b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_charm.lua @@ -0,0 +1,50 @@ +local iceCharm = Action() + +function iceCharm.onUse(player, item, fromPosition, target, toPosition, isHotkey) + if target.itemid ~= 1841 then + return false + end + + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) ~= 39 then + return true + end + + local obelisk1 = { x = 32138, y = 31113, z = 14 } + local obelisk2 = { x = 32119, y = 30992, z = 14 } + local obelisk3 = { x = 32180, y = 31069, z = 14 } + local obelisk4 = { x = 32210, y = 31027, z = 14 } + + if toPosition.x == obelisk1.x and toPosition.y == obelisk1.y and toPosition.z == obelisk1.z then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk01) < 5 then + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk01, 5) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12, player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12) + 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation + toPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE) + player:say("You mark an obelisk with the frost charm.", TALKTYPE_MONSTER_SAY) + end + elseif toPosition.x == obelisk2.x and toPosition.y == obelisk2.y and toPosition.z == obelisk2.z then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk02) < 5 then + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk02, 5) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12, player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12) + 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation + toPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE) + player:say("You mark an obelisk with the frost charm.", TALKTYPE_MONSTER_SAY) + end + elseif toPosition.x == obelisk3.x and toPosition.y == obelisk3.y and toPosition.z == obelisk3.z then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk03) < 5 then + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk03, 5) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12, player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12) + 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation + toPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE) + player:say("You mark an obelisk with the frost charm.", TALKTYPE_MONSTER_SAY) + end + elseif toPosition.x == obelisk4.x and toPosition.y == obelisk4.y and toPosition.z == obelisk4.z then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk04) < 5 then + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Obelisk04, 5) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12, player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12) + 1) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation + toPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE) + player:say("You mark an obelisk with the frost charm.", TALKTYPE_MONSTER_SAY) + end + end + return true +end + +iceCharm:id(7289) +iceCharm:register() \ No newline at end of file diff --git a/data-otservbr-global/scripts/actions/quests/ice_islands/cure.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_cure.lua similarity index 81% rename from data-otservbr-global/scripts/actions/quests/ice_islands/cure.lua rename to data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_cure.lua index 7df4a16168b..c229e2de121 100644 --- a/data-otservbr-global/scripts/actions/quests/ice_islands/cure.lua +++ b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_cure.lua @@ -4,7 +4,7 @@ function iceCure.onUse(player, item, fromPosition, target, toPosition, isHotkey) return false end - if player:getStorageValue(Storage.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) player:say("You take some hot water from the geyser.", TALKTYPE_MONSTER_SAY) item:transform(7246) diff --git a/data-otservbr-global/scripts/actions/quests/ice_islands/paint.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_paint.lua similarity index 61% rename from data-otservbr-global/scripts/actions/quests/ice_islands/paint.lua rename to data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_paint.lua index b1172b164bc..66e858b1d3f 100644 --- a/data-otservbr-global/scripts/actions/quests/ice_islands/paint.lua +++ b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_paint.lua @@ -12,12 +12,12 @@ function icePaint.onUse(player, item, fromPosition, target, toPosition, isHotkey return false end - if player:getStorageValue(Storage.TheIceIslands.Questline) == 8 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 8 then toPosition:sendMagicEffect(CONST_ME_GREEN_RINGS) - player:setStorageValue(Storage.TheIceIslands.PaintSeal, player:getStorageValue(Storage.TheIceIslands.PaintSeal) + 1) - if player:getStorageValue(Storage.TheIceIslands.PaintSeal) == 2 then - player:setStorageValue(Storage.TheIceIslands.Questline, 9) - player:setStorageValue(Storage.TheIceIslands.Mission04, 2) -- Questlog The Ice Islands Quest, Nibelor 3: Artful Sabotage + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.PaintSeal, player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.PaintSeal) + 1) + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.PaintSeal) == 2 then + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 9) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission04, 2) -- Questlog The Ice Islands Quest, Nibelor 3: Artful Sabotage player:removeItem(7253, 1) if player:getStorageValue(Storage.TheShatteredIsles.TortoiseEggNargorDoor) >= 2 then player:addAchievement("Animal Activist") diff --git a/data-otservbr-global/scripts/actions/quests/ice_islands/yakchal.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_yakchal.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ice_islands/yakchal.lua rename to data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_yakchal.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_ice_islands/helheim.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/movements_helheim.lua similarity index 76% rename from data-otservbr-global/scripts/movements/quests/the_ice_islands/helheim.lua rename to data-otservbr-global/scripts/quests/the_ice_islands_quest/movements_helheim.lua index a1c524dfbcd..79a4f8dc942 100644 --- a/data-otservbr-global/scripts/movements/quests/the_ice_islands/helheim.lua +++ b/data-otservbr-global/scripts/quests/the_ice_islands_quest/movements_helheim.lua @@ -6,13 +6,13 @@ function helheim.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.TheIceIslands.Questline) ~= 30 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) ~= 30 then return true end -- Questlog The Ice Islands Quest, The Secret of Helheim - player:setStorageValue(Storage.TheIceIslands.Mission07, 3) - player:setStorageValue(Storage.TheIceIslands.Questline, 31) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission07, 3) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 31) player:say("You discovered the necromantic altar and should report about it.", TALKTYPE_MONSTER_SAY) position:sendMagicEffect(CONST_ME_MAGIC_RED) diff --git a/data-otservbr-global/scripts/movements/quests/the_ice_islands/nibelor_dog_led.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/movements_nibelor_dog_led.lua similarity index 84% rename from data-otservbr-global/scripts/movements/quests/the_ice_islands/nibelor_dog_led.lua rename to data-otservbr-global/scripts/quests/the_ice_islands_quest/movements_nibelor_dog_led.lua index 7987c2b3eea..c01addda115 100644 --- a/data-otservbr-global/scripts/movements/quests/the_ice_islands/nibelor_dog_led.lua +++ b/data-otservbr-global/scripts/quests/the_ice_islands_quest/movements_nibelor_dog_led.lua @@ -3,25 +3,25 @@ local setting = { { sledPosition = Position(32367, 31058, 7), destination = Position(32407, 31067, 7), - storage = Storage.TheIceIslands.Mission06, + storage = Storage.Quest.U8_0.TheIceIslands.Mission06, value = 8, }, { sledPosition = Position(32409, 31066, 7), destination = Position(32365, 31059, 7), - storage = Storage.TheIceIslands.Mission06, + storage = Storage.Quest.U8_0.TheIceIslands.Mission06, value = 8, }, { sledPosition = Position(32303, 31081, 7), destination = Position(32329, 31045, 7), - storage = Storage.TheIceIslands.Mission03, + storage = Storage.Quest.U8_0.TheIceIslands.Mission03, value = 3, }, { sledPosition = Position(32327, 31045, 7), destination = Position(32301, 31080, 7), - storage = Storage.TheIceIslands.Mission03, + storage = Storage.Quest.U8_0.TheIceIslands.Mission03, value = 3, }, } diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 366a6d052bb..ac793ee83c3 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -914,6 +914,12 @@ QuestDoorAction = { { x = 33782, y = 32576, z = 12 }, }, }, + [Storage.Quest.U8_0.TheIceIslands.FormorgarMinesDoor] = { + itemId = false, + itemPos = { + { x = 32134, y = 31095, z = 6 }, + }, + }, } QuestDoorUnique = { diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 6aaa5f7235d..bba0a829488 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -273,9 +273,23 @@ ItemAction = { { x = 33155, y = 31297, z = 3 }, }, }, + -- The Ice Islands Quest, Nibelor 1: Breaking the Ice + [60000] = { + itemId = 7185, + itemPos = { + { x = 32399, y = 31051, z = 7 }, + { x = 32394, y = 31062, z = 7 }, + { x = 32393, y = 31072, z = 7 }, + }, + }, } ItemUnique = { + -- The Ice Islands Quest + [1061] = { + itemId = 2576, + itemPos = { x = 32455, y = 31166, z = 12 }, + }, -- Issavi town teleport [9515] = { itemId = 1949, diff --git a/data-otservbr-global/startup/tables/teleport.lua b/data-otservbr-global/startup/tables/teleport.lua index b82d39b585e..d8f43639894 100644 --- a/data-otservbr-global/startup/tables/teleport.lua +++ b/data-otservbr-global/startup/tables/teleport.lua @@ -9,6 +9,13 @@ TeleportAction = { { x = 32210, y = 32292, z = 6 }, }, }, + -- Barbarian Test - Temple Citizen Svargrond + [30032] = { + itemId = 1949, + itemPos = { + { x = 32208, y = 31134, z = 7 }, + }, + }, [35001] = { -- The Cursed Crystal teleports itemId = 19387, itemPos = { diff --git a/data/scripts/actions/tools/pick.lua b/data/scripts/actions/tools/pick.lua deleted file mode 100644 index 61347aae87e..00000000000 --- a/data/scripts/actions/tools/pick.lua +++ /dev/null @@ -1,8 +0,0 @@ -local pick = Action() - -function pick.onUse(player, item, fromPosition, target, toPosition, isHotkey) - return onUsePick(player, item, fromPosition, target, toPosition, isHotkey) -end - -pick:id(3456) -pick:register() diff --git a/data/scripts/actions/tools/spoon.lua b/data/scripts/actions/tools/spoon.lua deleted file mode 100644 index 6b10aabfb76..00000000000 --- a/data/scripts/actions/tools/spoon.lua +++ /dev/null @@ -1,8 +0,0 @@ -local spoon = Action() - -function spoon.onUse(player, item, fromPosition, target, toPosition, isHotkey) - return onUseSpoon(player, item, fromPosition, target, toPosition, isHotkey) -end - -spoon:id(3468) -spoon:register() From e5104cdc40eb112f110ee21bed895463b5263d20 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 22 Jul 2024 19:41:06 +0000 Subject: [PATCH 002/112] Lua code format - (Stylua) --- data-otservbr-global/npc/hjaern.lua | 2 +- data-otservbr-global/npc/iskan.lua | 2 +- data-otservbr-global/npc/lurik.lua | 2 +- data-otservbr-global/npc/nilsor.lua | 2 +- data-otservbr-global/npc/siflind.lua | 2 +- data-otservbr-global/npc/sven.lua | 2 +- .../scripts/actions/tools/kitchen_knife.lua | 8 ++++---- data-otservbr-global/scripts/actions/tools/pick.lua | 6 +++--- data-otservbr-global/scripts/actions/tools/spoon.lua | 8 ++++---- .../scripts/quests/barbarian_test/action_horn.lua | 2 +- .../scripts/quests/barbarian_test/action_mead.lua | 2 +- .../quests/the_ice_islands_quest/actions_anthill.lua | 2 +- .../quests/the_ice_islands_quest/actions_charm.lua | 2 +- 13 files changed, 21 insertions(+), 21 deletions(-) diff --git a/data-otservbr-global/npc/hjaern.lua b/data-otservbr-global/npc/hjaern.lua index 667f1d85c65..38d65b335ad 100644 --- a/data-otservbr-global/npc/hjaern.lua +++ b/data-otservbr-global/npc/hjaern.lua @@ -236,4 +236,4 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) \ No newline at end of file +npcType:register(npcConfig) diff --git a/data-otservbr-global/npc/iskan.lua b/data-otservbr-global/npc/iskan.lua index c807c483105..0ceaeee4aec 100644 --- a/data-otservbr-global/npc/iskan.lua +++ b/data-otservbr-global/npc/iskan.lua @@ -183,4 +183,4 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) \ No newline at end of file +npcType:register(npcConfig) diff --git a/data-otservbr-global/npc/lurik.lua b/data-otservbr-global/npc/lurik.lua index b3b27d8f429..0738530890a 100644 --- a/data-otservbr-global/npc/lurik.lua +++ b/data-otservbr-global/npc/lurik.lua @@ -168,4 +168,4 @@ end -- On check npc shop message (look item) npcType.onCheckItem = function(npc, player, clientId, subType) end -npcType:register(npcConfig) \ No newline at end of file +npcType:register(npcConfig) diff --git a/data-otservbr-global/npc/nilsor.lua b/data-otservbr-global/npc/nilsor.lua index c65ba995ab6..0cedbc0a730 100644 --- a/data-otservbr-global/npc/nilsor.lua +++ b/data-otservbr-global/npc/nilsor.lua @@ -229,4 +229,4 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) \ No newline at end of file +npcType:register(npcConfig) diff --git a/data-otservbr-global/npc/siflind.lua b/data-otservbr-global/npc/siflind.lua index 71ae4a6bbef..3f25ac11bfb 100644 --- a/data-otservbr-global/npc/siflind.lua +++ b/data-otservbr-global/npc/siflind.lua @@ -288,4 +288,4 @@ end -- On check npc shop message (look item) npcType.onCheckItem = function(npc, player, clientId, subType) end -npcType:register(npcConfig) \ No newline at end of file +npcType:register(npcConfig) diff --git a/data-otservbr-global/npc/sven.lua b/data-otservbr-global/npc/sven.lua index d21c442f7ee..621ee6f7ee3 100644 --- a/data-otservbr-global/npc/sven.lua +++ b/data-otservbr-global/npc/sven.lua @@ -171,4 +171,4 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) \ No newline at end of file +npcType:register(npcConfig) diff --git a/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua b/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua index b4dac97eb2a..3a573794cfe 100644 --- a/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua +++ b/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua @@ -21,7 +21,7 @@ function kitchenKnife.onUse(player, item, fromPosition, target, toPosition, isHo player:addItem(7248, 1) player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FrostbiteHerb, 1) toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) - player:say('You cut a leaf from a frostbite herb.', TALKTYPE_MONSTER_SAY) + player:say("You cut a leaf from a frostbite herb.", TALKTYPE_MONSTER_SAY) end end elseif targetId == 3647 then @@ -32,7 +32,7 @@ function kitchenKnife.onUse(player, item, fromPosition, target, toPosition, isHo target:transform(3646) addEvent(revertItem, 60 * 1000, toPosition, 3646, 3647) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) - player:say('You cut a flower from a cactus.', TALKTYPE_MONSTER_SAY) + player:say("You cut a flower from a cactus.", TALKTYPE_MONSTER_SAY) end end elseif targetId == 3753 then @@ -43,7 +43,7 @@ function kitchenKnife.onUse(player, item, fromPosition, target, toPosition, isHo target:transform(3750) addEvent(revertItem, 60 * 1000, toPosition, 3750, 3753) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) - player:say('You cut a flower from a bush.', TALKTYPE_MONSTER_SAY) + player:say("You cut a flower from a bush.", TALKTYPE_MONSTER_SAY) end end end @@ -52,4 +52,4 @@ function kitchenKnife.onUse(player, item, fromPosition, target, toPosition, isHo end kitchenKnife:id(3469) -kitchenKnife:register() \ No newline at end of file +kitchenKnife:register() diff --git a/data-otservbr-global/scripts/actions/tools/pick.lua b/data-otservbr-global/scripts/actions/tools/pick.lua index 8386afc603b..2cb5a9a1ec8 100644 --- a/data-otservbr-global/scripts/actions/tools/pick.lua +++ b/data-otservbr-global/scripts/actions/tools/pick.lua @@ -8,7 +8,7 @@ local function revertItem(position, itemId, transformId) end function pick.onUse(player, item, fromPosition, target, toPosition, isHotkey) - -- Ice Islands Quest, Nibelor 1: Breaking the Ice + -- Ice Islands Quest, Nibelor 1: Breaking the Ice if target:getActionId() == 60000 then local missionProgress, pickAmount = player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline), player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02) if missionProgress < 1 or pickAmount >= 4 then @@ -27,7 +27,7 @@ function pick.onUse(player, item, fromPosition, target, toPosition, isHotkey) addEvent(revertItem, 60 * 1000, toPosition, 7186, 7185) end - local chakoyas = {"Chakoya Toolshaper", "Chakoya Tribewarden", "Chakoya Windcaller"} + local chakoyas = { "Chakoya Toolshaper", "Chakoya Tribewarden", "Chakoya Windcaller" } Game.createMonster(chakoyas[math.random(#chakoyas)], toPosition) toPosition:sendMagicEffect(CONST_ME_TELEPORT) return true @@ -37,4 +37,4 @@ function pick.onUse(player, item, fromPosition, target, toPosition, isHotkey) end pick:id(3456) -pick:register() \ No newline at end of file +pick:register() diff --git a/data-otservbr-global/scripts/actions/tools/spoon.lua b/data-otservbr-global/scripts/actions/tools/spoon.lua index 8b68b2bac92..48e2fe42c90 100644 --- a/data-otservbr-global/scripts/actions/tools/spoon.lua +++ b/data-otservbr-global/scripts/actions/tools/spoon.lua @@ -6,7 +6,7 @@ function spoon.onUse(player, item, fromPosition, target, toPosition, isHotkey) end -- Obtenha o ID do item alvo - local targetId = target:getId() + local targetId = target:getId() --The Ice Islands Quest - Cure the Dogs if targetId == 390 then @@ -15,7 +15,7 @@ function spoon.onUse(player, item, fromPosition, target, toPosition, isHotkey) player:addItem(7247, 1) -- fine sulphur player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.SulphurLava, 1) toPosition:sendMagicEffect(CONST_ME_MAGIC_RED) - player:say('You retrive a fine sulphur from a lava hole.', TALKTYPE_MONSTER_SAY) + player:say("You retrive a fine sulphur from a lava hole.", TALKTYPE_MONSTER_SAY) end end elseif targetId == 3920 then @@ -24,7 +24,7 @@ function spoon.onUse(player, item, fromPosition, target, toPosition, isHotkey) player:addItem(7251, 1) player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.SporesMushroom, 1) toPosition:sendMagicEffect(CONST_ME_MAGIC_RED) - player:say('You retrive spores from a mushroom.', TALKTYPE_MONSTER_SAY) + player:say("You retrive spores from a mushroom.", TALKTYPE_MONSTER_SAY) end end end @@ -33,4 +33,4 @@ function spoon.onUse(player, item, fromPosition, target, toPosition, isHotkey) end spoon:id(3468) -spoon:register() \ No newline at end of file +spoon:register() diff --git a/data-otservbr-global/scripts/quests/barbarian_test/action_horn.lua b/data-otservbr-global/scripts/quests/barbarian_test/action_horn.lua index 6a9056d3502..5ed2c03e740 100644 --- a/data-otservbr-global/scripts/quests/barbarian_test/action_horn.lua +++ b/data-otservbr-global/scripts/quests/barbarian_test/action_horn.lua @@ -50,4 +50,4 @@ function barbarianHorn.onUse(player, item, fromPosition, target, toPosition, isH end barbarianHorn:id(7140, 7141, 7174, 7175, 7176) -barbarianHorn:register() \ No newline at end of file +barbarianHorn:register() diff --git a/data-otservbr-global/scripts/quests/barbarian_test/action_mead.lua b/data-otservbr-global/scripts/quests/barbarian_test/action_mead.lua index ef7ee3a194f..2ad86677a7b 100644 --- a/data-otservbr-global/scripts/quests/barbarian_test/action_mead.lua +++ b/data-otservbr-global/scripts/quests/barbarian_test/action_mead.lua @@ -31,4 +31,4 @@ function barbarianMead.onUse(player, item, fromPosition, target, toPosition, isH end barbarianMead:position({ x = 32201, y = 31154, z = 7 }) -barbarianMead:register() \ No newline at end of file +barbarianMead:register() diff --git a/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_anthill.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_anthill.lua index 14dbec36570..28b7848a004 100644 --- a/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_anthill.lua +++ b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_anthill.lua @@ -24,4 +24,4 @@ function iceAntHill.onUse(player, item, fromPosition, target, toPosition, isHotk end iceAntHill:id(7243, 7244) -iceAntHill:register() \ No newline at end of file +iceAntHill:register() diff --git a/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_charm.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_charm.lua index be2b35c6435..5ad5d7fdeed 100644 --- a/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_charm.lua +++ b/data-otservbr-global/scripts/quests/the_ice_islands_quest/actions_charm.lua @@ -47,4 +47,4 @@ function iceCharm.onUse(player, item, fromPosition, target, toPosition, isHotkey end iceCharm:id(7289) -iceCharm:register() \ No newline at end of file +iceCharm:register() From e92005303ebba606511bec91f880b8188bd90b12 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Mon, 22 Jul 2024 17:14:08 -0300 Subject: [PATCH 003/112] Barbarian Test and The Ice Island Quest - part 2 --- data-otservbr-global/lib/core/quests.lua | 8 ++++---- data-otservbr-global/npc/buddel.lua | 8 ++++---- data-otservbr-global/npc/buddel_helheim.lua | 8 ++++---- data-otservbr-global/npc/buddel_okolnir.lua | 8 ++++---- data-otservbr-global/npc/buddel_raider_camp.lua | 8 ++++---- data-otservbr-global/npc/buddel_tyrsung.lua | 8 ++++---- data-otservbr-global/npc/sinatuki.lua | 2 +- .../scripts/creaturescripts/customs/freequests.lua | 8 ++++---- .../scripts/movements/teleport/citizen.lua | 2 +- .../scripts/movements/teleport/citizen_svargrond.lua | 2 +- 10 files changed, 31 insertions(+), 31 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 64c33e1429f..c86ebbd5fcc 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -3307,7 +3307,7 @@ if not Quests then }, [13] = { name = "Barbarian Test 1: Barbarian Booze", - storageId = Storage.BarbarianTest.Mission01, + storageId = Storage.Quest.U8_0.BarbarianTest.Mission01, missionId = 1055, startValue = 1, endValue = 3, @@ -3319,7 +3319,7 @@ if not Quests then }, [14] = { name = "Barbarian Test 2: The Bear Hugging", - storageId = Storage.BarbarianTest.Mission02, + storageId = Storage.Quest.U8_0.BarbarianTest.Mission02, missionId = 1056, startValue = 1, endValue = 2, @@ -3330,7 +3330,7 @@ if not Quests then }, [15] = { name = "Barbarian Test 3: The Mammoth Pushing", - storageId = Storage.BarbarianTest.Mission03, + storageId = Storage.Quest.U8_0.BarbarianTest.Mission03, missionId = 1057, startValue = 1, endValue = 2, @@ -3341,7 +3341,7 @@ if not Quests then }, [16] = { name = "The Honorary Barbarian", - storageId = Storage.BarbarianTest.Questline, + storageId = Storage.Quest.U8_0.BarbarianTest.Questline, missionId = 10099, startValue = 8, endValue = 8, diff --git a/data-otservbr-global/npc/buddel.lua b/data-otservbr-global/npc/buddel.lua index 5bf04262904..c9044b3b090 100644 --- a/data-otservbr-global/npc/buddel.lua +++ b/data-otservbr-global/npc/buddel.lua @@ -82,7 +82,7 @@ addTravelKeyword("okolnir", "It's nice there. Except of the ice dragons which ar end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -93,7 +93,7 @@ addTravelKeyword("helheim", "T'at is a small island to the east.", Position(3246 end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -106,7 +106,7 @@ addTravelKeyword("tyrsung", "*HICKS* Big, big island east of here. Venorian hunt end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -117,7 +117,7 @@ addTravelKeyword("camp", "Both of you look like you could defend yourself! If yo end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) diff --git a/data-otservbr-global/npc/buddel_helheim.lua b/data-otservbr-global/npc/buddel_helheim.lua index b38470616aa..88f94ccfa27 100644 --- a/data-otservbr-global/npc/buddel_helheim.lua +++ b/data-otservbr-global/npc/buddel_helheim.lua @@ -79,7 +79,7 @@ addTravelKeyword("svargrond", "You know a town nicer than this? NICER DICER! Apr end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -90,7 +90,7 @@ addTravelKeyword("okolnir", "It's nice there. Except of the ice dragons which ar end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -101,7 +101,7 @@ addTravelKeyword("tyrsung", "*HICKS* Big, big island east of here. Venorian hunt end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -112,7 +112,7 @@ addTravelKeyword("camp", "Both of you look like you could defend yourself! If yo end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) diff --git a/data-otservbr-global/npc/buddel_okolnir.lua b/data-otservbr-global/npc/buddel_okolnir.lua index b4115ee2d9e..f21ff049f4b 100644 --- a/data-otservbr-global/npc/buddel_okolnir.lua +++ b/data-otservbr-global/npc/buddel_okolnir.lua @@ -82,7 +82,7 @@ addTravelKeyword("svargrond", "You know a town nicer than this? NICER DICER! Apr end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -93,7 +93,7 @@ addTravelKeyword("camp", "Both of you look like you could defend yourself! If yo end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -104,7 +104,7 @@ addTravelKeyword("helheim", "T'at is a small island to the east.", Position(3246 end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -117,7 +117,7 @@ addTravelKeyword("tyrsung", "*HICKS* Big, big island east of here. Venorian hunt end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) diff --git a/data-otservbr-global/npc/buddel_raider_camp.lua b/data-otservbr-global/npc/buddel_raider_camp.lua index 4ddaa816df0..06b69175967 100644 --- a/data-otservbr-global/npc/buddel_raider_camp.lua +++ b/data-otservbr-global/npc/buddel_raider_camp.lua @@ -82,7 +82,7 @@ addTravelKeyword("svargrond", "You know a town nicer than this? NICER DICER! Apr end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -93,7 +93,7 @@ addTravelKeyword("okolnir", "It's nice there. Except of the ice dragons which ar end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -104,7 +104,7 @@ addTravelKeyword("helheim", "T'at is a small island to the east.", Position(3246 end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -117,7 +117,7 @@ addTravelKeyword("tyrsung", "*HICKS* Big, big island east of here. Venorian hunt end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) diff --git a/data-otservbr-global/npc/buddel_tyrsung.lua b/data-otservbr-global/npc/buddel_tyrsung.lua index f1b069a0cf6..cb9025b1a91 100644 --- a/data-otservbr-global/npc/buddel_tyrsung.lua +++ b/data-otservbr-global/npc/buddel_tyrsung.lua @@ -82,7 +82,7 @@ addTravelKeyword("svargrond", "You know a town nicer than this? NICER DICER! Apr end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -93,7 +93,7 @@ addTravelKeyword("okolnir", "It's nice there. Except of the ice dragons which ar end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -104,7 +104,7 @@ addTravelKeyword("helheim", "T'at is a small island to the east.", Position(3246 end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -117,7 +117,7 @@ addTravelKeyword("camp", "Both of you look like you could defend yourself! If yo end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) diff --git a/data-otservbr-global/npc/sinatuki.lua b/data-otservbr-global/npc/sinatuki.lua index 5205ce42d08..95a2232b730 100644 --- a/data-otservbr-global/npc/sinatuki.lua +++ b/data-otservbr-global/npc/sinatuki.lua @@ -57,7 +57,7 @@ local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) if MsgContains(message, "Nupi") then - if player:getStorageValue(Storage.BarbarianTest.Questline) >= 3 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 5 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) >= 3 and player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 5 then for i = 1, #fishsID do if player:getItemCount(fishsID[i]) >= 100 then player:removeItem(fishsID[i], 100) diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 72c5cf7db44..63c0f7bdfe0 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -120,10 +120,10 @@ local questTable = { { storage = Storage.ForgottenKnowledge.LadyTenebrisKilled, storageValue = 1 }, { storage = Storage.ForgottenKnowledge.AccessMachine, storageValue = 1 }, { storage = Storage.ForgottenKnowledge.AccessLavaTeleport, storageValue = 1 }, - { storage = Storage.BarbarianTest.Questline, storageValue = 8 }, - { storage = Storage.BarbarianTest.Mission01, storageValue = 3 }, - { storage = Storage.BarbarianTest.Mission02, storageValue = 3 }, - { storage = Storage.BarbarianTest.Mission03, storageValue = 3 }, + { storage = Storage.Quest.U8_0.BarbarianTest.Questline, storageValue = 8 }, + { storage = Storage.Quest.U8_0.BarbarianTest.Mission01, storageValue = 3 }, + { storage = Storage.Quest.U8_0.BarbarianTest.Mission02, storageValue = 3 }, + { storage = Storage.Quest.U8_0.BarbarianTest.Mission03, storageValue = 3 }, { storage = Storage.ChildrenoftheRevolution.Questline, storageValue = 21 }, { storage = Storage.ChildrenoftheRevolution.Mission00, storageValue = 2 }, { storage = Storage.ChildrenoftheRevolution.Mission01, storageValue = 3 }, diff --git a/data-otservbr-global/scripts/movements/teleport/citizen.lua b/data-otservbr-global/scripts/movements/teleport/citizen.lua index fa12efa5d0a..6e0d939eba2 100644 --- a/data-otservbr-global/scripts/movements/teleport/citizen.lua +++ b/data-otservbr-global/scripts/movements/teleport/citizen.lua @@ -36,7 +36,7 @@ function citizen.onStepIn(creature, item, position, fromPosition) return true end - if town:getId() == TOWNS_LIST.SVARGROND and player:getStorageValue(Storage.BarbarianTest.Questline) < 8 then + if town:getId() == TOWNS_LIST.SVARGROND and player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 then player:sendTextMessage(MESSAGE_GAME_HIGHLIGHT, "You first need to absolve the Barbarian Test Quest to become citizen!") player:teleportTo(town:getTemplePosition()) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) diff --git a/data-otservbr-global/scripts/movements/teleport/citizen_svargrond.lua b/data-otservbr-global/scripts/movements/teleport/citizen_svargrond.lua index 1e7b146fab2..a1d6f9015f7 100644 --- a/data-otservbr-global/scripts/movements/teleport/citizen_svargrond.lua +++ b/data-otservbr-global/scripts/movements/teleport/citizen_svargrond.lua @@ -6,7 +6,7 @@ function citizenSvargrond.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.BarbarianTest.Mission03) == 3 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission03) == 3 then player:teleportTo(Position(32212, 31131, 5)) else player:teleportTo(Position(32210, 31134, 7)) From 57edf9d5581c813e0aeee6345eb85ed46304824c Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Mon, 22 Jul 2024 20:33:27 -0300 Subject: [PATCH 004/112] Barbarian Test and The Ice Island Quest and Shards of Ancient Winters Quest - last --- data-otservbr-global/lib/core/quests.lua | 2 +- data-otservbr-global/lib/core/storages.lua | 17 ++++-- data-otservbr-global/npc/a_restless_soul.lua | 1 + data-otservbr-global/npc/buddel.lua | 8 +-- data-otservbr-global/npc/hjaern.lua | 6 +- data-otservbr-global/npc/lurik.lua | 26 ++++----- data-otservbr-global/npc/sven.lua | 38 ++++++------- .../creaturescripts/customs/freequests.lua | 2 +- .../movements/teleport/citizen_svargrond.lua | 2 +- data-otservbr-global/startup/tables/chest.lua | 57 +++++++++++++++++++ .../startup/tables/corpse.lua | 7 +++ .../startup/tables/door_quest.lua | 7 +++ .../startup/tables/teleport_item.lua | 13 +++++ 13 files changed, 137 insertions(+), 49 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index c86ebbd5fcc..89983745a5b 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -2318,7 +2318,7 @@ if not Quests then }, [12] = { name = "Norseman Outfit Quest", - storageId = Storage.OutfitQuest.NorsemanAddon, + storageId = Storage.Quest.U8_0.TheIceIslands.NorsemanOutfit, missionId = 10179, startValue = 1, endValue = 3, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index b1cb32769ce..85540e90b97 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -860,11 +860,6 @@ Storage = { AddonHatCloak = 51000, AddonWandTimer = 51001, }, - -- Nobleman Outfit - NoblemanFirstAddon = 51002, - NoblemanSecondAddon = 51003, - -- Norseman-outfit Quest - NorsemanAddon = 51004, -- Warrior-outfit Quest WarriorShoulderAddon = 51005, WarriorSwordAddon = 51006, @@ -2017,6 +2012,13 @@ Storage = { LionTrophy = {}, MastermindPotion = {}, NorsemanOutfits = {}, + ShardsofAncientWinters = { + Inukaya = 41152, + Tyrsung = 41153, + Okolnir = 41154, + Helheim = 41155, + FormorgarMines = 41156, + }, Sinatuki = {}, SkeletonDecoration = {}, TheIceIslands = { @@ -2048,6 +2050,11 @@ Storage = { HuskyKill = 51186, HuskyKillStatus = 51187, FormorgarMinesDoor = 51188, + FormorgarGlacierSkeleton = 51189, + FormorgarGlacierChest = 51190, + NorsemanOutfit = 51191, + NoblemanFirstAddon = 51192, + NoblemanSecondAddon = 51193, }, WaterskinOfMead = {}, }, diff --git a/data-otservbr-global/npc/a_restless_soul.lua b/data-otservbr-global/npc/a_restless_soul.lua index ccd088038b2..46f156c32ed 100644 --- a/data-otservbr-global/npc/a_restless_soul.lua +++ b/data-otservbr-global/npc/a_restless_soul.lua @@ -79,6 +79,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission11, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 3: The Secret end end + return true end diff --git a/data-otservbr-global/npc/buddel.lua b/data-otservbr-global/npc/buddel.lua index c9044b3b090..ac891b3ee04 100644 --- a/data-otservbr-global/npc/buddel.lua +++ b/data-otservbr-global/npc/buddel.lua @@ -82,7 +82,7 @@ addTravelKeyword("okolnir", "It's nice there. Except of the ice dragons which ar end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -93,7 +93,7 @@ addTravelKeyword("helheim", "T'at is a small island to the east.", Position(3246 end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -106,7 +106,7 @@ addTravelKeyword("tyrsung", "*HICKS* Big, big island east of here. Venorian hunt end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) @@ -117,7 +117,7 @@ addTravelKeyword("camp", "Both of you look like you could defend yourself! If yo end, function() return math.random(5) > 1 end, function(player) - return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 8 + return player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 8 end, function(player) return player:getItemCount(3097) > 0 end, function(player) diff --git a/data-otservbr-global/npc/hjaern.lua b/data-otservbr-global/npc/hjaern.lua index 38d65b335ad..d9fa7928ba8 100644 --- a/data-otservbr-global/npc/hjaern.lua +++ b/data-otservbr-global/npc/hjaern.lua @@ -109,7 +109,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 40) player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.yakchalDoor, 1) player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission12, 6) -- Questlog The Ice Islands Quest, Formorgar Mines 4: Retaliation - player:setStorageValue(Storage.OutfitQuest.NorsemanAddon, 1) -- Questlog Norseman Outfit Quest + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.NorsemanOutfit, 1) -- Questlog Norseman Outfit Quest player:setStorageValue(Storage.OutfitQuest.DefaultStart, 1) --this for default start of Outfit and Addon Quests player:addOutfit(251, 0) player:addOutfit(252, 0) @@ -144,7 +144,7 @@ local function creatureSayCallback(npc, creature, type, message) player:addOutfitAddon(251, 1) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 42) - player:setStorageValue(Storage.OutfitQuest.NorsemanAddon, 2) -- Questlog Norseman Outfit Quest + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.NorsemanOutfit, 2) -- Questlog Norseman Outfit Quest npcHandler:setTopic(playerId, 3) elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 43 then player:addOutfitAddon(252, 2) @@ -152,7 +152,7 @@ local function creatureSayCallback(npc, creature, type, message) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) npcHandler:say("Take this. It might suit your Nordic outfit fine. From now on we only can give you 2000 gold pieces for each shard. ", npc, creature) player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 44) - player:setStorageValue(Storage.OutfitQuest.NorsemanAddon, 3) -- Questlog Norseman Outfit Quest + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.NorsemanOutfit, 3) -- Questlog Norseman Outfit Quest npcHandler:setTopic(playerId, 4) end elseif MsgContains(message, "tylaf") then diff --git a/data-otservbr-global/npc/lurik.lua b/data-otservbr-global/npc/lurik.lua index 0738530890a..57614a1474b 100644 --- a/data-otservbr-global/npc/lurik.lua +++ b/data-otservbr-global/npc/lurik.lua @@ -59,22 +59,22 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheAstralPortals) == 56 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) == 56 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons) == 57 then --will need review in the future + if player:getStorageValue(Storage.ExplorerSociety.TheAstralPortals) == 56 and player:getStorageValue(Storage.ExplorerSociety.QuestLine) == 56 and player:getStorageValue(Storage.ExplorerSociety.TheIslandofDragons) == 57 then --will need review in the future npcHandler:say("Ah, you've just come in time. An experienced explorer is just what we need here! Would you like to go on a mission for us?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons) == 58 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) == 58 then + elseif player:getStorageValue(Storage.ExplorerSociety.TheIslandofDragons) == 58 and player:getStorageValue(Storage.ExplorerSociety.QuestLine) == 58 then if player:removeItem(7314, 1) then npcHandler:say({ "A frozen dragon lord? This is just the information we needed! And you even brought a scale from it! Take these 5000 gold pieces as a reward. ...", "As you did such a great job, I might have another mission for you later.", }, npc, creature) player:addItem(3035, 50) - player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons, 59) - player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 59) + player:setStorageValue(Storage.ExplorerSociety.TheIslandofDragons, 59) + player:setStorageValue(Storage.ExplorerSociety.QuestLine, 59) else npcHandler:say("You're not done yet...", npc, creature) end - elseif player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons) == 59 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) == 59 then + elseif player:getStorageValue(Storage.ExplorerSociety.TheIslandofDragons) == 59 and player:getStorageValue(Storage.ExplorerSociety.QuestLine) == 59 then npcHandler:say({ "Ah, yes, the mission. Let me tell you about something called ice music. ...", "There is a cave on Hrodmir, north of the southernmost barbarian camp Krimhorn. ...", @@ -82,19 +82,19 @@ local function creatureSayCallback(npc, creature, type, message) "When the wind blows into this cave and hits the stalagmites, it is supposed to create a sound similar to a soft song. ...", "Please take this resonance crystal and use it on the stalagmites in the cave to record the sound of the wind.", }, npc, creature) - player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIceMusic, 60) - player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 60) + player:setStorageValue(Storage.ExplorerSociety.TheIceMusic, 60) + player:setStorageValue(Storage.ExplorerSociety.QuestLine, 60) player:addItem(7242, 1) - elseif player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIceMusic) == 61 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) == 61 and player:removeItem(7315, 1) then + elseif player:getStorageValue(Storage.ExplorerSociety.TheIceMusic) == 61 and player:getStorageValue(Storage.ExplorerSociety.QuestLine) == 61 and player:removeItem(7315, 1) then npcHandler:say({ "Ah! You did it! I can't wait to hear the sound... but I will do that in a silent moment. ...", "You helped as much in our research here. As a reward, you may use our astral portal in the upper room from now on. ...", "For just one orichalcum pearl, you can travel between Liberty Bay and Svargrond. Thank you again!", }, npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIceMusic, 62) - player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 62) - player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.IceMusicDoor, 1) + player:setStorageValue(Storage.ExplorerSociety.TheIceMusic, 62) + player:setStorageValue(Storage.ExplorerSociety.QuestLine, 62) + player:setStorageValue(Storage.ExplorerSociety.IceMusicDoor, 1) elseif player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) == 32 then npcHandler:say({ "You are the one who became an honorary barbarian! The one who made friends with the grim local musher and helped the shamans of Nibelor! The one they call old bearhugg ... erm ... I mean indeed I might have a mission for someone like you ...", @@ -129,8 +129,8 @@ local function creatureSayCallback(npc, creature, type, message) "Travel to Okolnir and try to find a proof for the existence of dragon lords there in the old times. I think old Buddel might be able to bring you there.", }, npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheIslandofDragons, 57) - player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 57) + player:setStorageValue(Storage.ExplorerSociety.TheIslandofDragons, 57) + player:setStorageValue(Storage.ExplorerSociety.QuestLine, 57) -- ISLAND OF DRAGONS elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say("Excellent. Just report about your mission when you got the memory crystal.", npc, creature) diff --git a/data-otservbr-global/npc/sven.lua b/data-otservbr-global/npc/sven.lua index 621ee6f7ee3..425d5085750 100644 --- a/data-otservbr-global/npc/sven.lua +++ b/data-otservbr-global/npc/sven.lua @@ -67,33 +67,29 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if MsgContains(message, "barbarian") then - if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 1 then - npcHandler:say("A true barbarian is something special among our people. Everyone who wants to become a barbarian will have to pass the barbarian {test}.", npc, creature) - npcHandler:setTopic(playerId, 1) - end + if MsgContains(message, "barbarian") and player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) < 1 then + npcHandler:say("A true barbarian is something special among our people. Everyone who wants to become a barbarian will have to pass the barbarian {test}.", npc, creature) + npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "test") then npcHandler:say({ "All of our juveniles have to take the barbarian test to become a true member of our community. Foreigners who manage to master the test are granted the title of an honorary barbarian and the respect of our people ...", "Are you willing to take the barbarian test?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif MsgContains(message, "barbarian") or MsgContains(message, "mead") then - if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 1 then - npcHandler:say("Do you have some honey with you?", npc, creature) - npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 3 then - npcHandler:say({ - "An impressive start. Here, take your own mead horn to fill it at the mead bucket as often as you like ...", - "But there is much left to be done. Your next test will be to hug a bear ...", - "You will find one in a cave north of the town. If you are lucky, it's still sleeping. If not ... well that might hurt ...", - "Unless you feel that you hugged the bear, the test is not passed. Once you are done, talk to me about the bear hugging.", - }, npc, creature) - player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 4) - player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission02, 1) -- Questlog Barbarian Test Quest Barbarian Test 2: The Bear Hugging - player:addItem(7140, 1) - npcHandler:setTopic(playerId, 0) - end + elseif MsgContains(message, "mead") and player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 1 then + npcHandler:say("Do you have some honey with you?", npc, creature) + npcHandler:setTopic(playerId, 4) + elseif MsgContains(message, "barbarian mead") and player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 3 then + npcHandler:say({ + "An impressive start. Here, take your own mead horn to fill it at the mead bucket as often as you like ...", + "But there is much left to be done. Your next test will be to hug a bear ...", + "You will find one in a cave north of the town. If you are lucky, it's still sleeping. If not ... well that might hurt ...", + "Unless you feel that you hugged the bear, the test is not passed. Once you are done, talk to me about the bear hugging.", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline, 4) + player:setStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission02, 1) -- Questlog Barbarian Test Quest Barbarian Test 2: The Bear Hugging + player:addItem(7140, 1) + npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "hug") then if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 5 then npcHandler:say({ diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 63c0f7bdfe0..d4036e604fa 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -370,7 +370,7 @@ local questTable = { { storage = Storage.OutfitQuest.HunterMusicSheet04, storageValue = 1 }, -- Norseman - { storage = Storage.OutfitQuest.NorsemanAddon, storageValue = 1 }, + { storage = Storage.Quest.U8_0.TheIceIslands.NorsemanOutfit, storageValue = 1 }, { storage = Storage.OutfitQuest.DefaultStart, storageValue = 1 }, { storage = Storage.HeroRathleton.AccessDoor, storageValue = 1 }, diff --git a/data-otservbr-global/scripts/movements/teleport/citizen_svargrond.lua b/data-otservbr-global/scripts/movements/teleport/citizen_svargrond.lua index a1d6f9015f7..3bcdc5e72a9 100644 --- a/data-otservbr-global/scripts/movements/teleport/citizen_svargrond.lua +++ b/data-otservbr-global/scripts/movements/teleport/citizen_svargrond.lua @@ -6,7 +6,7 @@ function citizenSvargrond.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Mission03) == 3 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianTest.Questline) == 8 then player:teleportTo(Position(32212, 31131, 5)) else player:teleportTo(Position(32210, 31134, 7)) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 228e9ba2976..ca5b0f9532a 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -998,6 +998,63 @@ ChestUnique = { timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastionChestsTimer.UndergroundBastion, time = 24, -- hour }, + -- The Ice Island Quest - Skeleton - Formorgar Glacier + [6140] = { + itemId = 4024, + itemPos = { x = 32121, y = 31106, z = 12 }, + container = 2853, + reward = { { 3450, 20 }, { 3349, 1 }, { 7443, 1 }, { 3031, 100 }, { 7290, 1 } }, + weight = 97.00, + storage = Storage.Quest.U8_0.TheIceIslands.FormorgarGlacierSkeleton, + }, + [6141] = { + itemId = 2472, + itemPos = { x = 32027, y = 31104, z = 11 }, + reward = { { 2820, 1 } }, + weight = 0.50, + storage = Storage.Quest.U8_0.TheIceIslands.FormorgarGlacierChest, + }, + -- Shards of Ancient Winters Quest + [6142] = { + itemId = 2523, + itemPos = { x = 32483, y = 31110, z = 8 }, + container = 7343, + reward = { { 7158, 3 }, { 3031, 48 }, { 7290, 1 }, }, + weight = 67.80, + storage = Storage.Quest.U8_0.ShardsofAncientWinters.Inukaya, + }, + [6143] = { + itemId = 2523, + itemPos = { x = 32431, y = 31235, z = 8 }, + container = 2853, + reward = { { 6525, 1 }, { 3031, 89 }, { 7290, 1 }, }, + weight = 45.90, + storage = Storage.Quest.U8_0.ShardsofAncientWinters.Tyrsung, + }, + [6144] = { + itemId = 2473, + itemPos = { x = 32146, y = 31430, z = 8 }, + container = 2853, + reward = { { 7443, 1 }, { 3035, 10 }, { 7290, 1 }, }, + weight = 45.90, + storage = Storage.Quest.U8_0.ShardsofAncientWinters.Okolnir, + }, + [6145] = { + itemId = 4024, + itemPos = { x = 32490, y = 31192, z = 10 }, + container = 2853, + reward = { { 7439, 1 }, { 3031, 200 }, { 6499, 3 }, { 7290, 1 }, }, + weight = 52.00, + storage = Storage.Quest.U8_0.ShardsofAncientWinters.Helheim, + }, + [6146] = { + itemId = 2472, + itemPos = { x = 32154, y = 31116, z = 9 }, + container = 2853, + reward = { { 7400, 1 }, { 3035, 2 }, { 7290, 1 }, }, + weight = 32.20, + storage = Storage.Quest.U8_0.ShardsofAncientWinters.FormorgarMines, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/corpse.lua b/data-otservbr-global/startup/tables/corpse.lua index 70594adcaa4..d883939842d 100644 --- a/data-otservbr-global/startup/tables/corpse.lua +++ b/data-otservbr-global/startup/tables/corpse.lua @@ -18,6 +18,11 @@ CorpseAction = { } CorpseUnique = { + -- The Ice Island Quest - Skeleton + [3112] = { + itemId = 4024, + itemPos = { x = 32258, y = 31098, z = 10 }, + }, -- Dark trails (Quandon corpse) -- Path: data\scripts\actions\quests\dark_trails\corpse.lua [20001] = { @@ -30,10 +35,12 @@ CorpseUnique = { itemId = 6082, itemPos = { x = 33146, y = 32341, z = 8 }, }, + -- The Ice Island Quest - Formorgar Mines Hoist - Skeleton [20003] = { itemId = 4285, itemPos = { x = 32211, y = 31273, z = 10 }, }, + -- Thais [20004] = { itemId = 4285, itemPos = { x = 32305, y = 32254, z = 9 }, diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index ac793ee83c3..2d6b369491c 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -920,6 +920,13 @@ QuestDoorAction = { { x = 32134, y = 31095, z = 6 }, }, }, + [Storage.Quest.U8_0.TheIceIslands.yakchalDoor] = { + itemId = false, + itemPos = { + {x = 32203, y = 31022, z = 14}, + {x = 32204, y = 31022, z = 14}, + }, + }, } QuestDoorUnique = { diff --git a/data-otservbr-global/startup/tables/teleport_item.lua b/data-otservbr-global/startup/tables/teleport_item.lua index 9ba767e8bec..c9595228a49 100644 --- a/data-otservbr-global/startup/tables/teleport_item.lua +++ b/data-otservbr-global/startup/tables/teleport_item.lua @@ -49,6 +49,19 @@ TeleportItemAction = { { x = 32172, y = 32439, z = 7 }, }, }, + -- Teleports Thais + [24873] = { + itemId = false, + itemPos = { + { x = 32325, y = 32087, z = 7 }, + { x = 32328, y = 32087, z = 7 }, + { x = 32331, y = 32087, z = 7 }, + { x = 32334, y = 32087, z = 7 }, + { x = 32337, y = 32087, z = 7 }, + { x = 32340, y = 32087, z = 7 }, + { x = 32332, y = 32094, z = 7 }, + }, + }, } TeleportItemUnique = { From 336edb7db032fa7ebe725d8fcdc28ec6f8cb926f Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 22 Jul 2024 23:35:12 +0000 Subject: [PATCH 005/112] Lua code format - (Stylua) --- data-otservbr-global/npc/a_restless_soul.lua | 2 +- data-otservbr-global/startup/tables/chest.lua | 12 ++++++------ data-otservbr-global/startup/tables/door_quest.lua | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data-otservbr-global/npc/a_restless_soul.lua b/data-otservbr-global/npc/a_restless_soul.lua index 46f156c32ed..89b0696fcfe 100644 --- a/data-otservbr-global/npc/a_restless_soul.lua +++ b/data-otservbr-global/npc/a_restless_soul.lua @@ -79,7 +79,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission11, 1) -- Questlog The Ice Islands Quest, Formorgar Mines 3: The Secret end end - + return true end diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index ca5b0f9532a..afd0650cb76 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1003,7 +1003,7 @@ ChestUnique = { itemId = 4024, itemPos = { x = 32121, y = 31106, z = 12 }, container = 2853, - reward = { { 3450, 20 }, { 3349, 1 }, { 7443, 1 }, { 3031, 100 }, { 7290, 1 } }, + reward = { { 3450, 20 }, { 3349, 1 }, { 7443, 1 }, { 3031, 100 }, { 7290, 1 } }, weight = 97.00, storage = Storage.Quest.U8_0.TheIceIslands.FormorgarGlacierSkeleton, }, @@ -1019,7 +1019,7 @@ ChestUnique = { itemId = 2523, itemPos = { x = 32483, y = 31110, z = 8 }, container = 7343, - reward = { { 7158, 3 }, { 3031, 48 }, { 7290, 1 }, }, + reward = { { 7158, 3 }, { 3031, 48 }, { 7290, 1 } }, weight = 67.80, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Inukaya, }, @@ -1027,7 +1027,7 @@ ChestUnique = { itemId = 2523, itemPos = { x = 32431, y = 31235, z = 8 }, container = 2853, - reward = { { 6525, 1 }, { 3031, 89 }, { 7290, 1 }, }, + reward = { { 6525, 1 }, { 3031, 89 }, { 7290, 1 } }, weight = 45.90, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Tyrsung, }, @@ -1035,7 +1035,7 @@ ChestUnique = { itemId = 2473, itemPos = { x = 32146, y = 31430, z = 8 }, container = 2853, - reward = { { 7443, 1 }, { 3035, 10 }, { 7290, 1 }, }, + reward = { { 7443, 1 }, { 3035, 10 }, { 7290, 1 } }, weight = 45.90, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Okolnir, }, @@ -1043,7 +1043,7 @@ ChestUnique = { itemId = 4024, itemPos = { x = 32490, y = 31192, z = 10 }, container = 2853, - reward = { { 7439, 1 }, { 3031, 200 }, { 6499, 3 }, { 7290, 1 }, }, + reward = { { 7439, 1 }, { 3031, 200 }, { 6499, 3 }, { 7290, 1 } }, weight = 52.00, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Helheim, }, @@ -1051,7 +1051,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32154, y = 31116, z = 9 }, container = 2853, - reward = { { 7400, 1 }, { 3035, 2 }, { 7290, 1 }, }, + reward = { { 7400, 1 }, { 3035, 2 }, { 7290, 1 } }, weight = 32.20, storage = Storage.Quest.U8_0.ShardsofAncientWinters.FormorgarMines, }, diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 2d6b369491c..e03a36dc6aa 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -923,8 +923,8 @@ QuestDoorAction = { [Storage.Quest.U8_0.TheIceIslands.yakchalDoor] = { itemId = false, itemPos = { - {x = 32203, y = 31022, z = 14}, - {x = 32204, y = 31022, z = 14}, + { x = 32203, y = 31022, z = 14 }, + { x = 32204, y = 31022, z = 14 }, }, }, } From 97b0f6532b146513dedf7b62b677c908d2790388 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:48:50 -0300 Subject: [PATCH 006/112] Barbarian Arena Quest --- data-otservbr-global/lib/core/quests.lua | 8 +- data-otservbr-global/lib/core/storages.lua | 65 +++++----- .../lib/quests/svargrond_arena.lua | 16 +-- data-otservbr-global/npc/halvar.lua | 8 +- .../actions/other/others/quest_system1.lua | 8 +- .../creaturescripts/customs/freequests.lua | 2 +- .../creaturescripts/others/player_death.lua | 4 +- .../quests/svargrond_arena/arena_kill.lua | 6 +- .../quests/svargrond_arena/arena_enter.lua | 4 +- .../quests/svargrond_arena/arena_pit.lua | 16 +-- data-otservbr-global/startup/tables/chest.lua | 114 ++++++++++++++++++ .../startup/tables/door_quest.lua | 8 +- data-otservbr-global/startup/tables/item.lua | 13 ++ .../startup/tables/writeable.lua | 9 +- 14 files changed, 208 insertions(+), 73 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 89983745a5b..59d1968e9b9 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -4316,12 +4316,12 @@ if not Quests then }, [29] = { name = "The Ultimate Challenges", - startStorageId = Storage.SvargrondArena.QuestLogGreenhorn, + startStorageId = Storage.Quest.U8_0.BarbarianArena.QuestLogGreenhorn, startStorageValue = 1, missions = { [1] = { name = "Barbarian Arena - Greenhorn Mode", - storageId = Storage.SvargrondArena.QuestLogGreenhorn, + storageId = Storage.Quest.U8_0.BarbarianArena.QuestLogGreenhorn, missionId = 10312, startValue = 1, endValue = 2, @@ -4332,7 +4332,7 @@ if not Quests then }, [2] = { name = "Barbarian Arena - Scrapper Mode", - storageId = Storage.SvargrondArena.QuestLogScrapper, + storageId = Storage.Quest.U8_0.BarbarianArena.QuestLogScrapper, missionId = 10313, startValue = 1, endValue = 2, @@ -4343,7 +4343,7 @@ if not Quests then }, [3] = { name = "Barbarian Arena - Warlord Mode", - storageId = Storage.SvargrondArena.QuestLogWarlord, + storageId = Storage.Quest.U8_0.BarbarianArena.QuestLogWarlord, missionId = 10314, startValue = 1, endValue = 2, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 85540e90b97..f9a33703e50 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -1328,23 +1328,6 @@ Storage = { AxeBlowsRight = 51705, AxeBlowsFace = 51706, }, - SvargrondArena = { - -- Reserved storage from 51710 - 51729 - Arena = 51710, - PitDoor = 51711, - QuestLogGreenhorn = 51712, - QuestLogScrapper = 51713, - QuestLogWarlord = 51714, - RewardGreenhorn = 51715, - RewardScrapper = 51716, - RewardWarlord = 51717, - TrophyGreenhorn = 51718, - TrophyScrapper = 51719, - TrophyWarlord = 51720, - GreenhornDoor = 51721, - ScrapperDoor = 51722, - WarlordDoor = 51723, - }, QuestChests = { -- Reserved storage from 51730 - 51999 KosheiTheDeathlessLegs = 51730, @@ -1994,14 +1977,38 @@ Storage = { ThePitsOfInferno = {}, }, U8_0 = { -- update 8.0 - Reserved Storages 41151 - 41350 - BarbarianArena = {}, + BarbarianArena = { + Arena = 41151, + PitDoor = 41152, + QuestLogGreenhorn = 41153, + QuestLogScrapper = 41154, + QuestLogWarlord = 41155, + RewardGreenhorn = 41156, + RewardGreenhornWeapons = 41157, + RewardGreenhornBP = 41158, + RewardGreenhornPresent = 41159, + RewardScrapper = 41160, + RewardScrapperWeapons = 41161, + RewardScrapperBP = 41162, + RewardScrapperPresent = 41163, + RewardWarlord = 41164, + RewardWarlordWeapons = 41165, + RewardWarlordBP = 41166, + RewardWarlordPresent = 41167, + TrophyGreenhorn = 41168, + TrophyScrapper = 41169, + TrophyWarlord = 41170, + GreenhornDoor = 41171, + ScrapperDoor = 41172, + WarlordDoor = 41173, + }, BarbarianTest = { - Questline = 51140, - Mission01 = 51141, - Mission02 = 51142, - Mission03 = 51143, - MeadTotalSips = 51144, - MeadSuccessSips = 51145, + Questline = 41174, + Mission01 = 41175, + Mission02 = 41176, + Mission03 = 41177, + MeadTotalSips = 41178, + MeadSuccessSips = 41179, }, BerserkPotion = {}, FishingBox = {}, @@ -2013,11 +2020,11 @@ Storage = { MastermindPotion = {}, NorsemanOutfits = {}, ShardsofAncientWinters = { - Inukaya = 41152, - Tyrsung = 41153, - Okolnir = 41154, - Helheim = 41155, - FormorgarMines = 41156, + Inukaya = 41271, + Tyrsung = 41272, + Okolnir = 41273, + Helheim = 41274, + FormorgarMines = 41275, }, Sinatuki = {}, SkeletonDecoration = {}, diff --git a/data-otservbr-global/lib/quests/svargrond_arena.lua b/data-otservbr-global/lib/quests/svargrond_arena.lua index 660426cb64b..e2c983bd4a0 100644 --- a/data-otservbr-global/lib/quests/svargrond_arena.lua +++ b/data-otservbr-global/lib/quests/svargrond_arena.lua @@ -119,7 +119,7 @@ ARENA = { [1] = { name = "Greenhorn", price = 1000, - questLog = Storage.SvargrondArena.QuestLogGreenhorn, + questLog = Storage.Quest.U8_0.BarbarianArena.QuestLogGreenhorn, achievement = "Greenhorn", creatures = { [1] = "frostfur", @@ -137,7 +137,7 @@ ARENA = { [2] = { name = "Scrapper", price = 5000, - questLog = Storage.SvargrondArena.QuestLogScrapper, + questLog = Storage.Quest.U8_0.BarbarianArena.QuestLogScrapper, achievement = "Scrapper", creatures = { [1] = "avalanche", @@ -155,7 +155,7 @@ ARENA = { [3] = { name = "Warlord", price = 10000, - questLog = Storage.SvargrondArena.QuestLogWarlord, + questLog = Storage.Quest.U8_0.BarbarianArena.QuestLogWarlord, achievement = "Warlord of Svargrond", creatures = { [1] = "webster", @@ -175,17 +175,17 @@ ARENA = { ARENA_TROPHY = { [3264] = { trophy = 5807, - trophyStorage = Storage.SvargrondArena.TrophyGreenhorn, + trophyStorage = Storage.Quest.U8_0.BarbarianArena.TrophyGreenhorn, desc = "It is given to the courageous victor of the barbarian arena in greenhorn difficulty. Awarded to %s", }, [3265] = { trophy = 5806, - trophyStorage = Storage.SvargrondArena.TrophyScrapper, + trophyStorage = Storage.Quest.U8_0.BarbarianArena.TrophyScrapper, desc = "It is given to the courageous victor of the barbarian arena in scrapper difficulty. Awarded to %s.", }, [3266] = { trophy = 5805, - trophyStorage = Storage.SvargrondArena.TrophyWarlord, + trophyStorage = Storage.Quest.U8_0.BarbarianArena.TrophyWarlord, desc = "It is given to the courageous victor of the barbarian arena in warlord difficulty. Awarded to %s.", }, } @@ -263,10 +263,10 @@ function SvargrondArena.kickPlayer(cid, hideMessage) return end - if player:getStorageValue(Storage.SvargrondArena.PitDoor) > 0 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor) > 0 then player:teleportTo(SvargrondArena.kickPosition) SvargrondArena.kickPosition:sendMagicEffect(CONST_ME_TELEPORT) - player:setStorageValue(Storage.SvargrondArena.PitDoor, 0) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor, 0) if not hideMessage then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your time ran out!") end diff --git a/data-otservbr-global/npc/halvar.lua b/data-otservbr-global/npc/halvar.lua index 1790b73657c..0c448947d2f 100644 --- a/data-otservbr-global/npc/halvar.lua +++ b/data-otservbr-global/npc/halvar.lua @@ -71,16 +71,16 @@ local function creatureSayCallback(npc, creature, type, message) return false end - local arenaId = player:getStorageValue(Storage.SvargrondArena.Arena) + local arenaId = player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.Arena) if MsgContains(message, "fight") or MsgContains(message, "pit") or MsgContains(message, "challenge") or MsgContains(message, "arena") then - if player:getStorageValue(Storage.SvargrondArena.PitDoor) == 1 then + if player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor) == 1 then npcHandler:say("You already paid the fee, go and fight!", npc, creature) return true end if arenaId < 1 then arenaId = 1 - player:setStorageValue(Storage.SvargrondArena.Arena, arenaId) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.Arena, arenaId) end if ARENA[arenaId] then @@ -98,7 +98,7 @@ local function creatureSayCallback(npc, creature, type, message) end if player:removeMoneyBank(ARENA[arenaId].price) then - player:setStorageValue(Storage.SvargrondArena.PitDoor, 1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor, 1) npcHandler:say("As you wish! You can pass the door now and enter the teleporter to the pits.", npc, creature) local cStorage = ARENA[arenaId].questLog diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua index f0781d45dd7..3bf530f4a16 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua @@ -7,11 +7,11 @@ local specialQuests = { [51400] = Storage.ThievesGuild.Reward, [51324] = Storage.WrathoftheEmperor.MainReward, -- {x = 32232, y = 31066, z = 7} - [51715] = Storage.SvargrondArena.RewardGreenhorn, + [51715] = Storage.Quest.U8_0.BarbarianArena.RewardGreenhorn, -- {x = 32232, y = 31059, z = 7} - [51716] = Storage.SvargrondArena.RewardScrapper, + [51716] = Storage.Quest.U8_0.BarbarianArena.RewardScrapper, -- {x = 32232, y = 31052, z = 7} - [51717] = Storage.SvargrondArena.RewardWarlord, + [51717] = Storage.Quest.U8_0.BarbarianArena.RewardWarlord, } local questsExperience = { @@ -61,7 +61,7 @@ function questSystem1.onUse(player, item, fromPosition, target, toPosition, isHo end if storage == 23644 or storage == 24632 or storage == 14338 then - player:setStorageValue(Storage.SvargrondArena.PitDoor, -1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor, -1) end if player:getStorageValue(storage) > 0 and player:getGroup():getId() < GROUP_TYPE_GAMEMASTER then diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index d4036e604fa..ec8eb869498 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -237,7 +237,7 @@ local questTable = { { storage = Storage.TravellingTrader.Mission05, storageValue = 3 }, { storage = Storage.TravellingTrader.Mission06, storageValue = 2 }, { storage = Storage.TravellingTrader.Mission07, storageValue = 1 }, - { storage = Storage.SvargrondArena.QuestLogGreenhorn, storageValue = 1 }, + { storage = Storage.Quest.U8_0.BarbarianArena.QuestLogGreenhorn, storageValue = 1 }, { storage = Storage.TibiaTales.DefaultStart, storageValue = 1 }, { storage = Storage.TibiaTales.ToAppeaseTheMightyQuest, storageValue = 1 }, { storage = 12450, storageValue = 6 }, diff --git a/data-otservbr-global/scripts/creaturescripts/others/player_death.lua b/data-otservbr-global/scripts/creaturescripts/others/player_death.lua index b4756addfee..f3a84454cfd 100644 --- a/data-otservbr-global/scripts/creaturescripts/others/player_death.lua +++ b/data-otservbr-global/scripts/creaturescripts/others/player_death.lua @@ -2,8 +2,8 @@ local deathListEnabled = true local playerDeath = CreatureEvent("PlayerDeath") function playerDeath.onDeath(player, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified) - if player:getStorageValue(Storage.SvargrondArena.PitDoor) > 0 then - player:setStorageValue(Storage.SvargrondArena.PitDoor, 0) + if player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor) > 0 then + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor, 0) end if not deathListEnabled then diff --git a/data-otservbr-global/scripts/creaturescripts/quests/svargrond_arena/arena_kill.lua b/data-otservbr-global/scripts/creaturescripts/quests/svargrond_arena/arena_kill.lua index 674dc5d27d5..16eb4a2ce19 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/svargrond_arena/arena_kill.lua +++ b/data-otservbr-global/scripts/creaturescripts/quests/svargrond_arena/arena_kill.lua @@ -5,12 +5,12 @@ function deathEvent.onDeath(creature, _corpse, _lastHitKiller, mostDamageKiller) return true end - local pit = player:getStorageValue(Storage.SvargrondArena.PitDoor) + local pit = player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor) if pit < 1 or pit > 10 then return end - local arena = player:getStorageValue(Storage.SvargrondArena.Arena) + local arena = player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.Arena) if arena < 1 then return end @@ -34,7 +34,7 @@ function deathEvent.onDeath(creature, _corpse, _lastHitKiller, mostDamageKiller) SvargrondArena.sendPillarEffect(pit) end end - player:setStorageValue(Storage.SvargrondArena.PitDoor, pit + 1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor, pit + 1) player:say("Victory! Head through the new teleporter into the next room.", TALKTYPE_MONSTER_SAY) return true end diff --git a/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_enter.lua b/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_enter.lua index a5cc3d83e29..cd2a0025aa3 100644 --- a/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_enter.lua +++ b/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_enter.lua @@ -6,14 +6,14 @@ function arenaEnter.onStepIn(creature, item, position, fromPosition) return true end - local pitId = player:getStorageValue(Storage.SvargrondArena.PitDoor) + local pitId = player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor) if pitId < 1 or pitId > 10 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You cannot enter without Halvar's permission.") player:teleportTo(fromPosition, true) return true end - local arenaId = player:getStorageValue(Storage.SvargrondArena.Arena) + local arenaId = player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.Arena) if not (PITS[pitId] and ARENA[arenaId]) then player:teleportTo(fromPosition, true) return true diff --git a/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_pit.lua b/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_pit.lua index 29de2459e0b..7cd7da2ae13 100644 --- a/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_pit.lua +++ b/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_pit.lua @@ -14,34 +14,34 @@ function arenaPit.onStepIn(creature, item, position, fromPosition) if item.actionid == 25300 then player:addCondition(condition) - player:setStorageValue(Storage.SvargrondArena.PitDoor, -1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor, -1) player:teleportTo(SvargrondArena.kickPosition) player:say("Coward!", TALKTYPE_MONSTER_SAY) SvargrondArena.cancelEvents(playerId) return true end - local pitId = player:getStorageValue(Storage.SvargrondArena.PitDoor) - local arenaId = player:getStorageValue(Storage.SvargrondArena.Arena) + local pitId = player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor) + local arenaId = player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.Arena) if pitId > 10 then player:teleportTo(SvargrondArena.rewardPosition) - player:setStorageValue(Storage.SvargrondArena.PitDoor, 0) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.PitDoor, 0) if arenaId == 1 then SvargrondArena.rewardPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE) - player:setStorageValue(Storage.SvargrondArena.GreenhornDoor, 1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.GreenhornDoor, 1) player:say("Welcome back, little hero!", TALKTYPE_MONSTER_SAY) elseif arenaId == 2 then SvargrondArena.rewardPosition:sendMagicEffect(CONST_ME_FIREWORK_YELLOW) - player:setStorageValue(Storage.SvargrondArena.ScrapperDoor, 1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.ScrapperDoor, 1) player:say("Congratulations, brave warrior!", TALKTYPE_MONSTER_SAY) elseif arenaId == 3 then SvargrondArena.rewardPosition:sendMagicEffect(CONST_ME_FIREWORK_RED) - player:setStorageValue(Storage.SvargrondArena.WarlordDoor, 1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.WarlordDoor, 1) player:say("Respect and honour to you, champion!", TALKTYPE_MONSTER_SAY) end - player:setStorageValue(Storage.SvargrondArena.Arena, player:getStorageValue(Storage.SvargrondArena.Arena) + 1) + player:setStorageValue(Storage.Quest.U8_0.BarbarianArena.Arena, player:getStorageValue(Storage.Quest.U8_0.BarbarianArena.Arena) + 1) player:say("Congratulations! You completed " .. ARENA[arenaId].name .. " arena, you should take your reward now.") player:setStorageValue(ARENA[arenaId].questLog, 2) player:addAchievement(ARENA[arenaId].achievement) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index afd0650cb76..bb8e4cb4cca 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1055,6 +1055,120 @@ ChestUnique = { weight = 32.20, storage = Storage.Quest.U8_0.ShardsofAncientWinters.FormorgarMines, }, + -- Barbarian Arena Quest - Greenhorn + [6147] = { + itemId = 2472, + itemPos = { x = 32231, y = 31065, z = 7 }, + container = 2856, + reward = { { 2995, 1 }, { 6570, 1 }, { 6574, 1 }, { 6569, 10 }, { 7377, 1 }, }, + weight = 25.10, + storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornPresent, + }, + [6148] = { + itemId = 2480, + itemPos = { x = 32231, y = 31068, z = 7 }, + container = 7342, + reward = { { 7364, 100 }, { 7365, 100 } }, + weight = 158.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornBP, + }, + [6149] = { + itemId = 2482, + itemPos = { x = 32235, y = 31068, z = 7 }, + reward = { { 7392, 1 } }, + weight = 54.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, + }, + [6150] = { + itemId = 2482, + itemPos = { x = 32235, y = 31066, z = 7 }, + reward = { { 7380, 1 } }, + weight = 45.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, + }, + [6151] = { + itemId = 2482, + itemPos = { x = 32235, y = 31064, z = 7 }, + reward = { { 7406, 1 } }, + weight = 59.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, + }, + -- Barbarian Arena Quest - Scrapper + [6152] = { + itemId = 2472, + itemPos = { x = 32231, y = 31058, z = 7 }, + container = 2856, + reward = { { 6569, 10 }, { 7375, 1 }, { 6574, 1 }, { 7183, 1 }, }, + weight = 25.10, + storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperPresent, + }, + [6153] = { + itemId = 2480, + itemPos = { x = 32231, y = 31068, z = 7 }, + container = 7342, + reward = { { 7365, 100 }, { 3450, 200 }, { 11605, 1 }, { 11615, 1 } }, + weight = 270.40, + storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperBP, + }, + [6154] = { + itemId = 2482, + itemPos = { x = 32235, y = 31061, z = 7 }, + reward = { { 7415, 1 } }, + weight = 78.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, + }, + [6155] = { + itemId = 2482, + itemPos = { x = 32235, y = 31059, z = 7 }, + reward = { { 7389, 1 } }, + weight = 61.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, + }, + [6156] = { + itemId = 2482, + itemPos = { x = 32235, y = 31057, z = 7 }, + reward = { { 7384, 1 } }, + weight = 35.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, + }, + -- Barbarian Arena Quest - Warlord + [6157] = { + itemId = 2472, + itemPos = { x = 32231, y = 31051, z = 7 }, + container = 2856, + reward = { { 6569, 10 }, { 6574, 1 }, { 7372, 1 }, { 5080, 1 }, }, + weight = 13.60, + storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordPresent, + }, + [6158] = { + itemId = 2480, + itemPos = { x = 32231, y = 31054, z = 7 }, + container = 7342, + reward = { { 11603, 1 }, { 11609, 1 }, { 7443, 1 }, { 7440, 1 }, { 6528, 100 } }, + weight = 115.30, + storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordBP, + }, + [6159] = { + itemId = 2482, + itemPos = { x = 32235, y = 31054, z = 7 }, + reward = { { 7429, 1 } }, + weight = 39.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, + }, + [6160] = { + itemId = 2482, + itemPos = { x = 32235, y = 31052, z = 7 }, + reward = { { 7434, 1 } }, + weight = 92.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, + }, + [6161] = { + itemId = 2482, + itemPos = { x = 32235, y = 31050, z = 7 }, + reward = { { 7390, 1 } }, + weight = 50.00, + storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index e03a36dc6aa..95645cdcd30 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -623,7 +623,7 @@ QuestDoorAction = { itemPos = { { x = 33216, y = 31671, z = 13 } }, }, -- Svargrond arena door - [Storage.SvargrondArena.PitDoor] = { + [Storage.Quest.U8_0.BarbarianArena.PitDoor] = { itemId = false, itemPos = { { x = 32233, y = 31098, z = 7 }, @@ -631,15 +631,15 @@ QuestDoorAction = { { x = 32233, y = 31100, z = 7 }, }, }, - [Storage.SvargrondArena.GreenhornDoor] = { + [Storage.Quest.U8_0.BarbarianArena.GreenhornDoor] = { itemId = false, itemPos = { { x = 32227, y = 31066, z = 7 } }, }, - [Storage.SvargrondArena.ScrapperDoor] = { + [Storage.Quest.U8_0.BarbarianArena.ScrapperDoor] = { itemId = false, itemPos = { { x = 32227, y = 31059, z = 7 } }, }, - [Storage.SvargrondArena.WarlordDoor] = { + [Storage.Quest.U8_0.BarbarianArena.WarlordDoor] = { itemId = false, itemPos = { { x = 32227, y = 31052, z = 7 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index bba0a829488..692349d8da5 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -290,6 +290,19 @@ ItemUnique = { itemId = 2576, itemPos = { x = 32455, y = 31166, z = 12 }, }, + -- Barbarian Arena Quest + [3264] = { + itemId = 10145, + itemPos = { x = 32229, y = 31065, z = 7 }, + }, + [3265] = { + itemId = 10145, + itemPos = { x = 32229, y = 31058, z = 7 }, + }, + [3266] = { + itemId = 10145, + itemPos = { x = 32229, y = 31051, z = 7 }, + }, -- Issavi town teleport [9515] = { itemId = 1949, diff --git a/data-otservbr-global/startup/tables/writeable.lua b/data-otservbr-global/startup/tables/writeable.lua index 5c555f51c82..b0b57b3f0e4 100644 --- a/data-otservbr-global/startup/tables/writeable.lua +++ b/data-otservbr-global/startup/tables/writeable.lua @@ -855,9 +855,10 @@ Not mine! itemPos = { x = 33044, y = 32067, z = 12 }, text = "DO NOT ENTER!", }, - [16] = { - itemId = 12783, - itemPos = { x = 32205, y = 32883, z = 7 }, - text = "DANGER. Quara sighted below. Experienced adventurers only! Do not swim into a water channel unless you are prepared to meet your death!", + -- Barbarian Arena Quest + [27] = { + itemId = 2015, + itemPos = { x = 32221, y = 31088, z = 7 }, + text = "Exit", }, } From 5458ac69c24e0ea81e783ffaa7be559c158eaade Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 23 Jul 2024 17:51:00 +0000 Subject: [PATCH 007/112] Lua code format - (Stylua) --- data-otservbr-global/startup/tables/chest.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index bb8e4cb4cca..21f59dbb0bd 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1060,7 +1060,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32231, y = 31065, z = 7 }, container = 2856, - reward = { { 2995, 1 }, { 6570, 1 }, { 6574, 1 }, { 6569, 10 }, { 7377, 1 }, }, + reward = { { 2995, 1 }, { 6570, 1 }, { 6574, 1 }, { 6569, 10 }, { 7377, 1 } }, weight = 25.10, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornPresent, }, @@ -1098,7 +1098,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32231, y = 31058, z = 7 }, container = 2856, - reward = { { 6569, 10 }, { 7375, 1 }, { 6574, 1 }, { 7183, 1 }, }, + reward = { { 6569, 10 }, { 7375, 1 }, { 6574, 1 }, { 7183, 1 } }, weight = 25.10, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperPresent, }, @@ -1136,7 +1136,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32231, y = 31051, z = 7 }, container = 2856, - reward = { { 6569, 10 }, { 6574, 1 }, { 7372, 1 }, { 5080, 1 }, }, + reward = { { 6569, 10 }, { 6574, 1 }, { 7372, 1 }, { 5080, 1 } }, weight = 13.60, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordPresent, }, From 1478728f9394526de80c8107a766b725cfc777dc Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:57:57 -0300 Subject: [PATCH 008/112] Fishing Box Quest --- data-otservbr-global/lib/core/storages.lua | 3 +-- data-otservbr-global/startup/tables/chest.lua | 9 +++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index f9a33703e50..0b357c7fcbe 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2010,8 +2010,7 @@ Storage = { MeadTotalSips = 41178, MeadSuccessSips = 41179, }, - BerserkPotion = {}, - FishingBox = {}, + FishingBox = 41180, FormorgarMinesHoist = {}, FormorgarMines = {}, FrostDragon = {}, diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 21f59dbb0bd..ddd25945782 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1169,6 +1169,15 @@ ChestUnique = { weight = 50.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, + -- Fishing Box Quest + [6162] = { + itemId = 2473, + itemPos = { x = 32015, y = 31409, z = 7 }, + container = 2853, + reward = { { 3035, 5 }, { 7158, 3 }, { 7159, 3 }, }, + weight = 68.50, + storage = Storage.Quest.U8_0.FishingBox, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) From f9fef7e2405880bbd2b6500101074c139e696be0 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 23 Jul 2024 17:59:47 +0000 Subject: [PATCH 009/112] Lua code format - (Stylua) --- data-otservbr-global/startup/tables/chest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index ddd25945782..e5c75e51299 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1174,7 +1174,7 @@ ChestUnique = { itemId = 2473, itemPos = { x = 32015, y = 31409, z = 7 }, container = 2853, - reward = { { 3035, 5 }, { 7158, 3 }, { 7159, 3 }, }, + reward = { { 3035, 5 }, { 7158, 3 }, { 7159, 3 } }, weight = 68.50, storage = Storage.Quest.U8_0.FishingBox, }, From e1973a4b2b055018983a93ae6a60d770f52104df Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:07:28 -0300 Subject: [PATCH 010/112] All quests removed from the list are already part of others, such as, for example, The Ice Islands Quest, Norseman Outfits Quest and Shards of Ancient Winters Quest, as well as others. --- data-otservbr-global/lib/core/storages.lua | 78 ++++++++++------------ 1 file changed, 34 insertions(+), 44 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 0b357c7fcbe..c10f661d555 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2011,13 +2011,6 @@ Storage = { MeadSuccessSips = 41179, }, FishingBox = 41180, - FormorgarMinesHoist = {}, - FormorgarMines = {}, - FrostDragon = {}, - Inukaya = {}, - LionTrophy = {}, - MastermindPotion = {}, - NorsemanOutfits = {}, ShardsofAncientWinters = { Inukaya = 41271, Tyrsung = 41272, @@ -2025,44 +2018,41 @@ Storage = { Helheim = 41274, FormorgarMines = 41275, }, - Sinatuki = {}, - SkeletonDecoration = {}, TheIceIslands = { - Questline = 51160, - Mission01 = 51161, -- Befriending the Musher - Mission02 = 51162, -- Nibelor 1: Breaking the Ice - Mission03 = 51163, -- Nibelor 2: Ecological Terrorism - Mission04 = 51164, -- Nibelor 3: Artful Sabotage - Mission05 = 51165, -- Nibelor 4: Berserk Brewery - Mission06 = 51166, -- Nibelor 5: Cure the Dogs - Mission07 = 51167, -- The Secret of Helheim - Mission08 = 51168, -- The Contact - Mission09 = 51169, -- Formorgar Mines 1: The Mission - Mission10 = 51170, -- Formorgar Mines 2: Ghostwhisperer - Mission11 = 51171, -- Formorgar Mines 3: The Secret - Mission12 = 51172, -- Formorgar Mines 4: Retaliation - PaintSeal = 51174, - SulphurLava = 51175, - SporesMushroom = 51176, - FrostbiteHerb = 51177, - FlowerCactus = 51178, - FlowerBush = 51179, - MemoryCrystal = 51180, - Obelisk01 = 51181, - Obelisk02 = 51182, - Obelisk03 = 51183, - Obelisk04 = 51184, - yakchalDoor = 51185, - HuskyKill = 51186, - HuskyKillStatus = 51187, - FormorgarMinesDoor = 51188, - FormorgarGlacierSkeleton = 51189, - FormorgarGlacierChest = 51190, - NorsemanOutfit = 51191, - NoblemanFirstAddon = 51192, - NoblemanSecondAddon = 51193, - }, - WaterskinOfMead = {}, + Questline = 41276, + Mission01 = 41277, -- Befriending the Musher + Mission02 = 41278, -- Nibelor 1: Breaking the Ice + Mission03 = 41279, -- Nibelor 2: Ecological Terrorism + Mission04 = 41280, -- Nibelor 3: Artful Sabotage + Mission05 = 41281, -- Nibelor 4: Berserk Brewery + Mission06 = 41282, -- Nibelor 5: Cure the Dogs + Mission07 = 41283, -- The Secret of Helheim + Mission08 = 41284, -- The Contact + Mission09 = 41285, -- Formorgar Mines 1: The Mission + Mission10 = 41286, -- Formorgar Mines 2: Ghostwhisperer + Mission11 = 41287, -- Formorgar Mines 3: The Secret + Mission12 = 41288, -- Formorgar Mines 4: Retaliation + PaintSeal = 41289, + SulphurLava = 41290, + SporesMushroom = 41291, + FrostbiteHerb = 41292, + FlowerCactus = 41293, + FlowerBush = 41294, + MemoryCrystal = 41295, + Obelisk01 = 41296, + Obelisk02 = 41297, + Obelisk03 = 41298, + Obelisk04 = 41299, + yakchalDoor = 41300, + HuskyKill = 41301, + HuskyKillStatus = 41302, + FormorgarMinesDoor = 41303, + FormorgarGlacierSkeleton = 41304, + FormorgarGlacierChest = 41305, + NorsemanOutfit = 41306, + NoblemanFirstAddon = 41307, + NoblemanSecondAddon = 41308, + }, }, U8_1 = { -- update 8.1 - Reserved Storages 41351 - 41650 AgainstTheSpiderCult = {}, From a8c8f66512d1ee38cbd835dcd55fd3b010588386 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 23 Jul 2024 17:23:38 -0300 Subject: [PATCH 011/112] Against the Spider Cult Quest is in Tibia Tales, so I will keep it --- data-otservbr-global/lib/core/storages.lua | 1 - data-otservbr-global/startup/tables/lever.lua | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index c10f661d555..c8bb0cac90c 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2055,7 +2055,6 @@ Storage = { }, }, U8_1 = { -- update 8.1 - Reserved Storages 41351 - 41650 - AgainstTheSpiderCult = {}, AritosTask = {}, BrotherhoodOutfits = {}, OutfitBrotherhoodMaleAddon = {}, diff --git a/data-otservbr-global/startup/tables/lever.lua b/data-otservbr-global/startup/tables/lever.lua index ad4a6edc940..8d5b107259e 100644 --- a/data-otservbr-global/startup/tables/lever.lua +++ b/data-otservbr-global/startup/tables/lever.lua @@ -54,6 +54,11 @@ LeverAction = { } LeverUnique = { + -- Against the Spider Cult Quest + [1017] = { + itemId = 2772, + itemPos = { x = 33172, y = 31896, z = 8 }, + }, -- Dark trails quest (The Ravager lever) -- Path: data\scripts\actions\quests\dark_trails\lever_the_ravager.lua [30001] = { From c3137b9ef75da5e471642406f4607d6530ae1946 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:33:25 -0300 Subject: [PATCH 012/112] Arito's Task Quest - First part OK --- data-otservbr-global/lib/core/storages.lua | 1 - data-otservbr-global/npc/arito.lua | 78 +++++++++++++++------- data-otservbr-global/npc/muhad.lua | 73 +++++++++++--------- 3 files changed, 97 insertions(+), 55 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index c8bb0cac90c..e228054f733 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2055,7 +2055,6 @@ Storage = { }, }, U8_1 = { -- update 8.1 - Reserved Storages 41351 - 41650 - AritosTask = {}, BrotherhoodOutfits = {}, OutfitBrotherhoodMaleAddon = {}, IntoTheBonePit = {}, diff --git a/data-otservbr-global/npc/arito.lua b/data-otservbr-global/npc/arito.lua index a885cc91e20..a640fdd9914 100644 --- a/data-otservbr-global/npc/arito.lua +++ b/data-otservbr-global/npc/arito.lua @@ -50,36 +50,62 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end -local function creatureSayCallback(npc, creature, type, message) - local player = Player(creature) - local playerId = player:getId() - - if not npcHandler:checkInteraction(npc, creature) then - return false +local function greetCallback(npc, player) + if player:getStorageValue(Storage.TibiaTales.AritosTask) == 2 then + npcHandler:setMessage(MESSAGE_GREET, "Thank god you are back!! Did you find....err...what we were talking about??") + else + npcHandler:setMessage(MESSAGE_GREET, "Be mourned, pilgrim in flesh. Be mourned in my tavern.") end - local AritosTask = player:getStorageValue(Storage.TibiaTales.AritosTask) - -- START TASK - if MsgContains(message, "nomads") then - if player:getStorageValue(Storage.TibiaTales.AritosTask) <= 0 and player:getItemCount(7533) >= 0 then + return true +end + +local function creatureSayCallback(npc, creature, type, message) + local player = Player(creature) + local playerId = player:getId() + + if not npcHandler:checkInteraction(npc, creature) then + return false + end + + local AritosTask = player:getStorageValue(Storage.TibiaTales.AritosTask) + + -- Check if the message contains "nomads" + if MsgContains(message, "nomads") then + if AritosTask <= 0 and player:getItemCount(7533) > 0 then + npcHandler:say({ + "What?? My name on a deathlist which you retrieved from a nomad?? Show me!! ...", + "Oh my god! They found me! You must help me! Please !!!! Are you willing to do that?" + }, npc, creature) + npcHandler:setTopic(playerId, 1) + end + -- Check if the message contains "yes" + elseif MsgContains(message, "yes") then + local topic = npcHandler:getTopic(playerId) + if topic == 1 then npcHandler:say({ - "What?? My name on a deathlist which you retrieved from a nomad?? Show me!! ...", - "Oh my god! They found me! You must help me! Please !!!!", + "Thank you thousand times! Well, I think I start telling you what I think they are after...", + "You have to know, I was one of them before I opened that shop here. Sure they fear about their hideout being revealed by me. Please go to the north, there is a small cave in the mountains with a rock in the middle. ...", + "If you stand in front of it, place a scimitar - which is the weapon of the nomads - left of you and make a sacrifice to the earth by pouring some water on the floor to your right. ...", + "The entrance to their hideout will be revealed in front of you. I don't know who is in charge there right now but please tell him that I won't spoil their secret...", + "... well, I just told you but anyway .... I won't tell it to anybody else. Now hurry up before they get here!!" }, npc, creature) if player:getStorageValue(Storage.TibiaTales.DefaultStart) <= 0 then player:setStorageValue(Storage.TibiaTales.DefaultStart, 1) end player:setStorageValue(Storage.TibiaTales.AritosTask, 1) - -- END TASK - elseif player:getStorageValue(Storage.TibiaTales.AritosTask) == 2 then - npcHandler:say({ - "These are great news!! Thank you for your help! I don't have much, but without you I wouldn't have anything so please take this as a reward.", - }, npc, creature) - player:setStorageValue(Storage.TibiaTales.AritosTask, 3) - player:addItem(3035, 50) - end - return true - end + elseif AritosTask == 2 then + npcHandler:say("And what did they say?? Do I have to give up everything here? Come on tell me!!", npc, creature) + npcHandler:setTopic(playerId, 2) + end + -- Check if the message contains "Acquitted" and topic is 2 + elseif MsgContains(message, "Acquitted") and npcHandler:getTopic(playerId) == 2 then + npcHandler:say("These are great news!! Thank you for your help! I don't have much, but without you I wouldn't have anything so please take this as a reward.", npc, creature) + player:setStorageValue(Storage.TibiaTales.AritosTask, 3) + player:addItem(3035, 100) + end + + return true end npcConfig.voices = { @@ -88,11 +114,15 @@ npcConfig.voices = { { text = "Come in, have a drink and something to eat." }, } -npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) -npcHandler:setMessage(MESSAGE_GREET, "Be mourned, pilgrim in flesh. Be mourned in my tavern.") + + npcHandler:setMessage(MESSAGE_FAREWELL, "Do visit us again.") npcHandler:setMessage(MESSAGE_WALKAWAY, "Do visit us again.") npcHandler:setMessage(MESSAGE_SENDTRADE, "Sure, browse through my offers.") + +npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) +npcHandler:setCallback(CALLBACK_GREET, greetCallback) + npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) npcConfig.shop = { diff --git a/data-otservbr-global/npc/muhad.lua b/data-otservbr-global/npc/muhad.lua index 6228a1b0ebc..3367b375267 100644 --- a/data-otservbr-global/npc/muhad.lua +++ b/data-otservbr-global/npc/muhad.lua @@ -53,7 +53,7 @@ end keywordHandler:addKeyword({ "here" }, StdModule.say, { npcHandler = npcHandler, text = "I am the leader of the true sons of {Daraman}." }) keywordHandler:addKeyword({ "job" }, StdModule.say, { npcHandler = npcHandler, text = "I am the leader of the true sons of {Daraman}." }) keywordHandler:addKeyword({ "daraman" }, StdModule.say, { npcHandler = npcHandler, text = "This is our home - the land of the desert." }) -keywordHandler:addKeyword({ "ankrahmun" }, StdModule.say, { npcHandler = npcHandler, text = "We will fight that city until we get back what belongs to us." }) +keywordHandler:addKeyword({ "{Ankrahmun}" }, StdModule.say, { npcHandler = npcHandler, text = "We will fight that city until we get back what belongs to us." }) keywordHandler:addKeyword({ "darashia" }, StdModule.say, { npcHandler = npcHandler, text = "We avoid these places you call cities." }) keywordHandler:addKeyword({ "city" }, StdModule.say, { npcHandler = npcHandler, text = "I would go crazy living in a cage like that." }) keywordHandler:addKeyword({ "offer" }, StdModule.say, { npcHandler = npcHandler, text = "We have nothing that would be of value for you." }) @@ -61,35 +61,48 @@ keywordHandler:addKeyword({ "undead" }, StdModule.say, { npcHandler = npcHandler keywordHandler:addKeyword({ "daraman" }, StdModule.say, { npcHandler = npcHandler, text = "We have nothing that would be of value for you." }) local function creatureSayCallback(npc, creature, type, message) - local player = Player(creature) - local playerId = player:getId() - - if not npcHandler:checkInteraction(npc, creature) then - return false - end - - local AritosTask = player:getStorageValue(Storage.TibiaTales.AritosTask) - - -- AritosTask - if MsgContains(message, "arito") then - if player:getStorageValue(Storage.TibiaTales.AritosTask) == 1 then - npcHandler:say({ - "I don't know how something like this ever could be possible. He met a girl from {Ankrahmun} and she must have twisted his head. Arito started to tell stories about the Pharaoh and about Ankrahmun. ...", - "In the wink of an eye he left us and was never seen again. I think he feared revenge for leaving us - which partially is not without reason. Why are you asking me about him? Did he send you to me?", - }, npc, creature) - npcHandler:setTopic(playerId, 1) - end - elseif npcHandler:getTopic(playerId) == 1 then - if MsgContains(message, "yes") then - npcHandler:say({ - "Ahh, I know that some of my people fear that Arito tells the old secrets of our race and want to see him dead but I don't bear him a grudge. I will have to have a serious word with my people. ...", - "Tell him that he can consider himself as acquitted. He is not the reason for our attacks towards {Ankrahmun}.", - }, npc, creature) - player:setStorageValue(Storage.TibiaTales.AritosTask, 2) - player:setStorageValue(Storage.TibiaTales.AritosTaskDoor, 1) - end - end - return true + local player = Player(creature) + local playerId = player:getId() + + if not npcHandler:checkInteraction(npc, creature) then + return false + end + + local AritosTask = player:getStorageValue(Storage.TibiaTales.AritosTask) + + -- Check if the message contains "arito" + if MsgContains(message, "arito") then + if AritosTask == 1 then + npcHandler:say({ + "I don't know how something like this ever could be possible. He met a girl from {Ankrahmun} and she must have twisted his head. Arito started to tell stories about the Pharaoh and about {Ankrahmun}. ...", + "In the wink of an eye he left us and was never seen again. I think he feared revenge for leaving us - which partially is not without reason. Why are you asking me about him? Did he send you to me?", + }, npc, creature) + npcHandler:setTopic(playerId, 1) + end + -- Check if the message contains "yes" + elseif MsgContains(message, "yes") then + local topic = npcHandler:getTopic(playerId) + if topic == 1 then + npcHandler:say({ + "Ahh, I know that some of my people fear that Arito tells the old secrets of our race and want to see him dead but I don't bear him a grudge. I will have to have a serious word with my people. ...", + "Tell him that he can consider himself as acquitted. He is not the reason for our attacks towards {Ankrahmun}.", + }, npc, creature) + npcHandler:setTopic(playerId, 2) + elseif topic == 2 then + npcHandler:say({ + "I appreciate your will to help the sons of the desert. Recently a bunch of thieves have stolen something very valuable from us. It is a secret the true sons kept for aeons and I am not allowed to tell you about it. ...", + "All we know about the thieves is that they have their hideout somewhere in {Ankrahmun}. We managed to catch one of them and he told us that there is a pillar in {Ankrahmun} with a hidden mechanism. ...", + "If you press the eye of the hawk symbol a secret passage will appear that leads to their hideout. Once inside you have to look for a small casket. ...", + "Try to sneak in undetectedly and bring back our treasure as soon as you obtain it. May Daraman hold his protective hand over you on your mission. I wish you good luck. ...", + "One last thing before you leave. Take the path behind me and you will get out of our hideout unharmed.", + }, npc, creature) + player:setStorageValue(Storage.TibiaTales.AritosTask, 2) + player:setStorageValue(Storage.TibiaTales.AritosTaskDoor, 1) + npcHandler:setTopic(playerId, 0) + end + end + + return true end npcHandler:setMessage(MESSAGE_GREET, "Be greeted, foreigner under the sun of Darama. What brings you {here}?") From 3e3f7c5fff9acbd9df236226ae05c778f7498fa5 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 23 Jul 2024 21:35:13 +0000 Subject: [PATCH 013/112] Lua code format - (Stylua) --- data-otservbr-global/npc/arito.lua | 72 +++++++++++++------------ data-otservbr-global/npc/muhad.lua | 84 +++++++++++++++--------------- 2 files changed, 77 insertions(+), 79 deletions(-) diff --git a/data-otservbr-global/npc/arito.lua b/data-otservbr-global/npc/arito.lua index a640fdd9914..1eab9a186c3 100644 --- a/data-otservbr-global/npc/arito.lua +++ b/data-otservbr-global/npc/arito.lua @@ -61,51 +61,51 @@ local function greetCallback(npc, player) end local function creatureSayCallback(npc, creature, type, message) - local player = Player(creature) - local playerId = player:getId() - - if not npcHandler:checkInteraction(npc, creature) then - return false - end - - local AritosTask = player:getStorageValue(Storage.TibiaTales.AritosTask) - - -- Check if the message contains "nomads" - if MsgContains(message, "nomads") then - if AritosTask <= 0 and player:getItemCount(7533) > 0 then - npcHandler:say({ - "What?? My name on a deathlist which you retrieved from a nomad?? Show me!! ...", - "Oh my god! They found me! You must help me! Please !!!! Are you willing to do that?" - }, npc, creature) - npcHandler:setTopic(playerId, 1) - end - -- Check if the message contains "yes" - elseif MsgContains(message, "yes") then - local topic = npcHandler:getTopic(playerId) - if topic == 1 then + local player = Player(creature) + local playerId = player:getId() + + if not npcHandler:checkInteraction(npc, creature) then + return false + end + + local AritosTask = player:getStorageValue(Storage.TibiaTales.AritosTask) + + -- Check if the message contains "nomads" + if MsgContains(message, "nomads") then + if AritosTask <= 0 and player:getItemCount(7533) > 0 then + npcHandler:say({ + "What?? My name on a deathlist which you retrieved from a nomad?? Show me!! ...", + "Oh my god! They found me! You must help me! Please !!!! Are you willing to do that?", + }, npc, creature) + npcHandler:setTopic(playerId, 1) + end + -- Check if the message contains "yes" + elseif MsgContains(message, "yes") then + local topic = npcHandler:getTopic(playerId) + if topic == 1 then npcHandler:say({ "Thank you thousand times! Well, I think I start telling you what I think they are after...", "You have to know, I was one of them before I opened that shop here. Sure they fear about their hideout being revealed by me. Please go to the north, there is a small cave in the mountains with a rock in the middle. ...", "If you stand in front of it, place a scimitar - which is the weapon of the nomads - left of you and make a sacrifice to the earth by pouring some water on the floor to your right. ...", "The entrance to their hideout will be revealed in front of you. I don't know who is in charge there right now but please tell him that I won't spoil their secret...", - "... well, I just told you but anyway .... I won't tell it to anybody else. Now hurry up before they get here!!" + "... well, I just told you but anyway .... I won't tell it to anybody else. Now hurry up before they get here!!", }, npc, creature) if player:getStorageValue(Storage.TibiaTales.DefaultStart) <= 0 then player:setStorageValue(Storage.TibiaTales.DefaultStart, 1) end player:setStorageValue(Storage.TibiaTales.AritosTask, 1) - elseif AritosTask == 2 then - npcHandler:say("And what did they say?? Do I have to give up everything here? Come on tell me!!", npc, creature) - npcHandler:setTopic(playerId, 2) - end - -- Check if the message contains "Acquitted" and topic is 2 - elseif MsgContains(message, "Acquitted") and npcHandler:getTopic(playerId) == 2 then - npcHandler:say("These are great news!! Thank you for your help! I don't have much, but without you I wouldn't have anything so please take this as a reward.", npc, creature) - player:setStorageValue(Storage.TibiaTales.AritosTask, 3) - player:addItem(3035, 100) - end - - return true + elseif AritosTask == 2 then + npcHandler:say("And what did they say?? Do I have to give up everything here? Come on tell me!!", npc, creature) + npcHandler:setTopic(playerId, 2) + end + -- Check if the message contains "Acquitted" and topic is 2 + elseif MsgContains(message, "Acquitted") and npcHandler:getTopic(playerId) == 2 then + npcHandler:say("These are great news!! Thank you for your help! I don't have much, but without you I wouldn't have anything so please take this as a reward.", npc, creature) + player:setStorageValue(Storage.TibiaTales.AritosTask, 3) + player:addItem(3035, 100) + end + + return true end npcConfig.voices = { @@ -114,8 +114,6 @@ npcConfig.voices = { { text = "Come in, have a drink and something to eat." }, } - - npcHandler:setMessage(MESSAGE_FAREWELL, "Do visit us again.") npcHandler:setMessage(MESSAGE_WALKAWAY, "Do visit us again.") npcHandler:setMessage(MESSAGE_SENDTRADE, "Sure, browse through my offers.") diff --git a/data-otservbr-global/npc/muhad.lua b/data-otservbr-global/npc/muhad.lua index 3367b375267..f55754cbc94 100644 --- a/data-otservbr-global/npc/muhad.lua +++ b/data-otservbr-global/npc/muhad.lua @@ -61,48 +61,48 @@ keywordHandler:addKeyword({ "undead" }, StdModule.say, { npcHandler = npcHandler keywordHandler:addKeyword({ "daraman" }, StdModule.say, { npcHandler = npcHandler, text = "We have nothing that would be of value for you." }) local function creatureSayCallback(npc, creature, type, message) - local player = Player(creature) - local playerId = player:getId() - - if not npcHandler:checkInteraction(npc, creature) then - return false - end - - local AritosTask = player:getStorageValue(Storage.TibiaTales.AritosTask) - - -- Check if the message contains "arito" - if MsgContains(message, "arito") then - if AritosTask == 1 then - npcHandler:say({ - "I don't know how something like this ever could be possible. He met a girl from {Ankrahmun} and she must have twisted his head. Arito started to tell stories about the Pharaoh and about {Ankrahmun}. ...", - "In the wink of an eye he left us and was never seen again. I think he feared revenge for leaving us - which partially is not without reason. Why are you asking me about him? Did he send you to me?", - }, npc, creature) - npcHandler:setTopic(playerId, 1) - end - -- Check if the message contains "yes" - elseif MsgContains(message, "yes") then - local topic = npcHandler:getTopic(playerId) - if topic == 1 then - npcHandler:say({ - "Ahh, I know that some of my people fear that Arito tells the old secrets of our race and want to see him dead but I don't bear him a grudge. I will have to have a serious word with my people. ...", - "Tell him that he can consider himself as acquitted. He is not the reason for our attacks towards {Ankrahmun}.", - }, npc, creature) - npcHandler:setTopic(playerId, 2) - elseif topic == 2 then - npcHandler:say({ - "I appreciate your will to help the sons of the desert. Recently a bunch of thieves have stolen something very valuable from us. It is a secret the true sons kept for aeons and I am not allowed to tell you about it. ...", - "All we know about the thieves is that they have their hideout somewhere in {Ankrahmun}. We managed to catch one of them and he told us that there is a pillar in {Ankrahmun} with a hidden mechanism. ...", - "If you press the eye of the hawk symbol a secret passage will appear that leads to their hideout. Once inside you have to look for a small casket. ...", - "Try to sneak in undetectedly and bring back our treasure as soon as you obtain it. May Daraman hold his protective hand over you on your mission. I wish you good luck. ...", - "One last thing before you leave. Take the path behind me and you will get out of our hideout unharmed.", - }, npc, creature) - player:setStorageValue(Storage.TibiaTales.AritosTask, 2) - player:setStorageValue(Storage.TibiaTales.AritosTaskDoor, 1) - npcHandler:setTopic(playerId, 0) - end - end - - return true + local player = Player(creature) + local playerId = player:getId() + + if not npcHandler:checkInteraction(npc, creature) then + return false + end + + local AritosTask = player:getStorageValue(Storage.TibiaTales.AritosTask) + + -- Check if the message contains "arito" + if MsgContains(message, "arito") then + if AritosTask == 1 then + npcHandler:say({ + "I don't know how something like this ever could be possible. He met a girl from {Ankrahmun} and she must have twisted his head. Arito started to tell stories about the Pharaoh and about {Ankrahmun}. ...", + "In the wink of an eye he left us and was never seen again. I think he feared revenge for leaving us - which partially is not without reason. Why are you asking me about him? Did he send you to me?", + }, npc, creature) + npcHandler:setTopic(playerId, 1) + end + -- Check if the message contains "yes" + elseif MsgContains(message, "yes") then + local topic = npcHandler:getTopic(playerId) + if topic == 1 then + npcHandler:say({ + "Ahh, I know that some of my people fear that Arito tells the old secrets of our race and want to see him dead but I don't bear him a grudge. I will have to have a serious word with my people. ...", + "Tell him that he can consider himself as acquitted. He is not the reason for our attacks towards {Ankrahmun}.", + }, npc, creature) + npcHandler:setTopic(playerId, 2) + elseif topic == 2 then + npcHandler:say({ + "I appreciate your will to help the sons of the desert. Recently a bunch of thieves have stolen something very valuable from us. It is a secret the true sons kept for aeons and I am not allowed to tell you about it. ...", + "All we know about the thieves is that they have their hideout somewhere in {Ankrahmun}. We managed to catch one of them and he told us that there is a pillar in {Ankrahmun} with a hidden mechanism. ...", + "If you press the eye of the hawk symbol a secret passage will appear that leads to their hideout. Once inside you have to look for a small casket. ...", + "Try to sneak in undetectedly and bring back our treasure as soon as you obtain it. May Daraman hold his protective hand over you on your mission. I wish you good luck. ...", + "One last thing before you leave. Take the path behind me and you will get out of our hideout unharmed.", + }, npc, creature) + player:setStorageValue(Storage.TibiaTales.AritosTask, 2) + player:setStorageValue(Storage.TibiaTales.AritosTaskDoor, 1) + npcHandler:setTopic(playerId, 0) + end + end + + return true end npcHandler:setMessage(MESSAGE_GREET, "Be greeted, foreigner under the sun of Darama. What brings you {here}?") From 76976cbef7bcc5df25f1dddb3831cf0bb7817a6d Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:38:59 -0300 Subject: [PATCH 014/112] This quest is in the quest revision PR update 7.26 to 7.92. --- data-otservbr-global/lib/core/storages.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index e228054f733..f346cb10b08 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2055,8 +2055,6 @@ Storage = { }, }, U8_1 = { -- update 8.1 - Reserved Storages 41351 - 41650 - BrotherhoodOutfits = {}, - OutfitBrotherhoodMaleAddon = {}, IntoTheBonePit = {}, KissingAPig = {}, KosheiTheDeathless = {}, From 172c8c0868a91cd3b70418d38baae61b8d929188 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:59:18 -0300 Subject: [PATCH 015/112] Into The Bone Pit Quest --- data-otservbr-global/lib/core/storages.lua | 1 - data-otservbr-global/npc/muriel.lua | 31 ++------------------ data-otservbr-global/startup/tables/item.lua | 5 ++++ 3 files changed, 7 insertions(+), 30 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index f346cb10b08..1f304a6cc4a 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2055,7 +2055,6 @@ Storage = { }, }, U8_1 = { -- update 8.1 - Reserved Storages 41351 - 41650 - IntoTheBonePit = {}, KissingAPig = {}, KosheiTheDeathless = {}, NightmareOutfits = {}, diff --git a/data-otservbr-global/npc/muriel.lua b/data-otservbr-global/npc/muriel.lua index fdb5d42b5c4..df5d4770ebb 100644 --- a/data-otservbr-global/npc/muriel.lua +++ b/data-otservbr-global/npc/muriel.lua @@ -50,15 +50,6 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end -local function releasePlayer(npc, creature) - if not Player(creature) then - return - end - - npcHandler:removeInteraction(npc, creature) - npcHandler:resetNpc(creature) -end - local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() @@ -70,9 +61,6 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "mission") then if player:getLevel() < 35 then npcHandler:say("Indeed there is something to be done, but I need someone more experienced. Come back later if you want to.", npc, creature) - addEvent(function() - releasePlayer(npc, creature) - end, 1000) return true end @@ -88,9 +76,6 @@ local function creatureSayCallback(npc, creature, type, message) "The rotworms dug deep into the soil north of Thais. Rumours say that you can access a place of endless moaning from there. ...", "No one knows how old that common grave is but the people who died there are cursed and never come to rest. A bone from that pit would be perfect for my studies.", }, npc, creature) - addEvent(function() - releasePlayer(npc, creature) - end, 1000) elseif player:getStorageValue(Storage.TibiaTales.IntoTheBonePit) == 2 then player:setStorageValue(Storage.TibiaTales.IntoTheBonePit, 3) if player:removeItem(131, 1) then @@ -102,33 +87,21 @@ local function creatureSayCallback(npc, creature, type, message) "I thought you have been haunted and killed by the undead. I'm glad that this is not the case. Thank you for your help.", }, npc, creature) end - addEvent(function() - releasePlayer(npc, creature) - end, 1000) else npcHandler:say("I am very glad you helped me, but I am very busy at the moment.", npc, creature) - addEvent(function() - releasePlayer(npc, creature) - end, 1000) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - player:addItem(4852, 1) - player:setStorageValue(Storage.TibiaTales.IntoTheBonePit, 1) npcHandler:say({ "Great! Here is the container for the bone. Once, I used it to collect ectoplasma of ghosts, but it will work here as well. ...", "If you lose it, you can buy a new one from the explorer's society in North Port or Port Hope. Ask me about the mission when you come back.", }, npc, creature) - addEvent(function() - releasePlayer(npc, creature) - end, 1000) + player:addItem(4852, 1) + player:setStorageValue(Storage.TibiaTales.IntoTheBonePit, 1) end elseif MsgContains(message, "no") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("Ohh, then I need to find another adventurer who wants to earn a great reward. Bye!", npc, creature) - addEvent(function() - releasePlayer(npc, creature) - end, 1000) end end return true diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 692349d8da5..e2e4190a1d8 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -7,6 +7,11 @@ ItemAction = { itemId = 2819, itemPos = { { x = 33063, y = 31624, z = 15 } }, }, + -- Into The Bone Pit Quest - ectoplasm container + [4205] = { + itemId = 103, + itemPos = { { x = 32408, y = 32107, z = 10 } }, + }, [40001] = { -- The cursed crystal skeletons itemId = 27490, itemPos = { From 5ec90d0698b135c6bd0acd1aa3c41c3c42493de3 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 09:05:00 -0300 Subject: [PATCH 016/112] Koshei The Deathless Quest - Blue Legs I just wasn't able to add Lord Koshei the Curious' Parchment to the shelf, as I don't know what item that is, but that's easy once we have that information, besides the quest is now possible. --- data-otservbr-global/lib/core/storages.lua | 22 ++++---- .../actions/other/others/quest_system2.lua | 12 ----- .../action_bag.lua} | 0 .../action_boss.lua} | 6 ++- .../action_switch.lua} | 1 + data-otservbr-global/startup/tables/chest.lua | 50 +++++++++++++++++++ .../startup/tables/door_quest.lua | 2 +- data-otservbr-global/startup/tables/item.lua | 5 ++ 8 files changed, 74 insertions(+), 24 deletions(-) rename data-otservbr-global/scripts/{actions/quests/koshei_amulet/bag.lua => quests/koshei_the_deathless_quest/action_bag.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/koshei_amulet/boss.lua => quests/koshei_the_deathless_quest/action_boss.lua} (76%) rename data-otservbr-global/scripts/{actions/quests/koshei_amulet/switch.lua => quests/koshei_the_deathless_quest/action_switch.lua} (99%) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 1f304a6cc4a..fadf25ea896 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -660,10 +660,7 @@ Storage = { SlimeGobblerTimeout = 50720, SlimeGobblerReceived = 50721, }, - KosheiTheDeathless = { - -- Reserved storage from 50740 - 50749 - RewardDoor = 50740, - }, + ElementalSphere = { -- Reserved storage from 50750 - 50759 QuestLine = 50750, @@ -1330,8 +1327,7 @@ Storage = { }, QuestChests = { -- Reserved storage from 51730 - 51999 - KosheiTheDeathlessLegs = 51730, - KosheiTheDeathlessGold = 51731, + TutorialShovel = 51732, TutorialRope = 51733, FormorgarMinesHoistSkeleton = 51737, @@ -1340,8 +1336,7 @@ Storage = { BlackKnightTreeCrownShield = 51739, BlackKnightTreeCrownArmor = 51740, BlackKnightTreeKey = 51741, - KosheiAmulet1 = 51742, - KosheiAmulet2 = 51743, + SilverBrooch = 51744, FamilyBrooch = 51745, DCQGhoul = 51746, @@ -2056,7 +2051,16 @@ Storage = { }, U8_1 = { -- update 8.1 - Reserved Storages 41351 - 41650 KissingAPig = {}, - KosheiTheDeathless = {}, + KosheiTheDeathless = { + RewardDoor = 41351, + KosheiTheDeathlessLegs = 41352, + KosheiTheDeathlessGold = 41353, + KosheiTheDeathlessPlatinum = 41354, + KosheiAmuletPart1 = 41355, + KosheiAmuletPart2 = 41356, + KosheiAmuletPart3 = 41357, + KosheiAmuletPart4 = 41358, + }, NightmareOutfits = {}, OutfitNightmareMaleAddon = {}, NomadsLand = {}, diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua index 4d5bb7e1417..dfb664777a3 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua @@ -47,18 +47,6 @@ local config = { needItem = { itemId = 3231 }, effect = CONST_ME_MAGIC_RED, }, - [3062] = { - items = { - { itemId = 7528 }, - }, - storage = Storage.QuestChests.KosheiAmulet1, - }, - [3064] = { - items = { - { itemId = 7530 }, - }, - storage = Storage.QuestChests.KosheiAmulet2, - }, [3084] = { items = { { itemId = 8829 }, diff --git a/data-otservbr-global/scripts/actions/quests/koshei_amulet/bag.lua b/data-otservbr-global/scripts/quests/koshei_the_deathless_quest/action_bag.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/koshei_amulet/bag.lua rename to data-otservbr-global/scripts/quests/koshei_the_deathless_quest/action_bag.lua diff --git a/data-otservbr-global/scripts/actions/quests/koshei_amulet/boss.lua b/data-otservbr-global/scripts/quests/koshei_the_deathless_quest/action_boss.lua similarity index 76% rename from data-otservbr-global/scripts/actions/quests/koshei_amulet/boss.lua rename to data-otservbr-global/scripts/quests/koshei_the_deathless_quest/action_boss.lua index f53d0b3c3cc..1c2e9adc59a 100644 --- a/data-otservbr-global/scripts/actions/quests/koshei_amulet/boss.lua +++ b/data-otservbr-global/scripts/quests/koshei_the_deathless_quest/action_boss.lua @@ -1,15 +1,17 @@ local kosheiBoss = Action() + function kosheiBoss.onUse(player, item, fromPosition, target, toPosition, isHotkey) if target.itemid ~= 7538 then return false end - if player:getStorageValue(Storage.SweetyCyclops.AmuletStatus) == 2 and player:getStorageValue(Storage.KosheiTheDeathless.RewardDoor) ~= 1 then + if player:getStorageValue(Storage.SweetyCyclops.AmuletStatus) == 2 and player:getStorageValue(Storage.Quest.U8_1.KosheiTheDeathless.RewardDoor) ~= 1 then player:removeItem(7532, 1) - player:setStorageValue(Storage.KosheiTheDeathless.RewardDoor, 1) + player:setStorageValue(Storage.Quest.U8_1.KosheiTheDeathless.RewardDoor, 1) toPosition:sendMagicEffect(CONST_ME_MAGIC_RED) player:say("At last.. I have it back, my precious amulet. I am glad you didn't use it! I allow you to ...ahh... enter door ...ahh", TALKTYPE_MONSTER_SAY, false, player, toPosition) end + return true end diff --git a/data-otservbr-global/scripts/actions/quests/koshei_amulet/switch.lua b/data-otservbr-global/scripts/quests/koshei_the_deathless_quest/action_switch.lua similarity index 99% rename from data-otservbr-global/scripts/actions/quests/koshei_amulet/switch.lua rename to data-otservbr-global/scripts/quests/koshei_the_deathless_quest/action_switch.lua index 12b5c26ccad..8e798af8335 100644 --- a/data-otservbr-global/scripts/actions/quests/koshei_amulet/switch.lua +++ b/data-otservbr-global/scripts/quests/koshei_the_deathless_quest/action_switch.lua @@ -16,6 +16,7 @@ local function revertCoffin() end local kosheiSwitch = Action() + function kosheiSwitch.onUse(player, item, fromPosition, target, toPosition, isHotkey) local statuesInOrder, statueItem = true, true for i = 1, #config do diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index e5c75e51299..b487e514548 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1178,6 +1178,56 @@ ChestUnique = { weight = 68.50, storage = Storage.Quest.U8_0.FishingBox, }, + -- Koshei The Deathless Quest + [6163] = { + itemId = 2908, + itemPos = { x = 33193, y = 32459, z = 7 }, + reward = { { 7530, 1 } }, + weight = 1.00, + storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart1, + }, + [6164] = { + itemId = 1983, + itemPos = { x = 33305, y = 32277, z = 10 }, + reward = { { 7528, 1 } }, + weight = 1.00, + storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart2, + }, + [6165] = { + itemId = 231, + itemPos = { x = 33212, y = 32593, z = 7 }, + reward = { { 7531, 1 } }, + weight = 1.00, + storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart3, + }, + [6166] = { + itemId = 1983, + itemPos = { x = 33053, y = 32468, z = 11 }, + reward = { { 7529, 1 } }, + weight = 1.00, + storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart4, + }, + [6167] = { + itemId = 2472, + itemPos = { x = 33261, y = 32444, z = 12 }, + reward = { { 645, 1 } }, + weight = 18.00, + storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessLegs, + }, + [6168] = { + itemId = 2480, + itemPos = { x = 33261, y = 32448, z = 12 }, + reward = { { 3035, 100 } }, + weight = 5.00, + storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessPlatinum, + }, + [6169] = { + itemId = 2469, + itemPos = { x = 33273, y = 32470, z = 11 }, + reward = { { 3031, 100 } }, + weight = 10.00, + storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessGold, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 95645cdcd30..c35bba51a2d 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -91,7 +91,7 @@ QuestDoorAction = { itemPos = { { x = 33344, y = 32120, z = 10 } }, }, -- Koshei the deathless quest door - [Storage.KosheiTheDeathless.RewardDoor] = { + [Storage.Quest.U8_1.KosheiTheDeathless.RewardDoor] = { itemId = false, itemPos = { { x = 33269, y = 32446, z = 12 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index e2e4190a1d8..785d4df587a 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -295,6 +295,11 @@ ItemUnique = { itemId = 2576, itemPos = { x = 32455, y = 31166, z = 12 }, }, + -- Koshei the Deathless Quest + [3070] = { + itemId = 7534, + itemPos = { x = 33281, y = 32447, z = 8 }, + }, -- Barbarian Arena Quest [3264] = { itemId = 10145, From 6a45d8f25070a95f6bd36f33e71782f286b23df0 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 09:09:53 -0300 Subject: [PATCH 017/112] This is in PR 7.26 to 792 --- data-otservbr-global/lib/core/storages.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index fadf25ea896..656ccb66f98 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2061,8 +2061,6 @@ Storage = { KosheiAmuletPart3 = 41357, KosheiAmuletPart4 = 41358, }, - NightmareOutfits = {}, - OutfitNightmareMaleAddon = {}, NomadsLand = {}, RestInHallowedGround = {}, SecretService = {}, From 50cd436b1a4abdfc94221205a91a4d9de512e81a Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 09:11:43 -0300 Subject: [PATCH 018/112] This quest was integrated into Arito's Task Quest, being the non-existent part of the quest as mentioned above. --- data-otservbr-global/lib/core/storages.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 656ccb66f98..a8800286c73 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2061,7 +2061,6 @@ Storage = { KosheiAmuletPart3 = 41357, KosheiAmuletPart4 = 41358, }, - NomadsLand = {}, RestInHallowedGround = {}, SecretService = {}, StealFromThieves = {}, From a109869cf421e985a16127073563d2ef03dc517b Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:27:46 -0300 Subject: [PATCH 019/112] Rest in Hallowed Ground Quest --- data-otservbr-global/npc/amanda.lua | 3 +- .../actions/quests/others/holy_water.lua | 238 +++++++++--------- data-otservbr-global/startup/tables/item.lua | 68 ++++- 3 files changed, 188 insertions(+), 121 deletions(-) diff --git a/data-otservbr-global/npc/amanda.lua b/data-otservbr-global/npc/amanda.lua index 64cc34f79dc..7ce1a9fdfd4 100644 --- a/data-otservbr-global/npc/amanda.lua +++ b/data-otservbr-global/npc/amanda.lua @@ -68,7 +68,8 @@ local function addMissionKeyword(text, value, newValue, addItem) end if addItem then - player:addItem(892, 1) + player:addItem(268, 5) + player:addItem(266, 5) end end) end diff --git a/data-otservbr-global/scripts/actions/quests/others/holy_water.lua b/data-otservbr-global/scripts/actions/quests/others/holy_water.lua index 7e8c108089e..87842fd84c5 100644 --- a/data-otservbr-global/scripts/actions/quests/others/holy_water.lua +++ b/data-otservbr-global/scripts/actions/quests/others/holy_water.lua @@ -1,141 +1,141 @@ local doorPosition = Position(32260, 32791, 7) local shadowNexusPosition = Position(33115, 31702, 12) local effectPositions = { - Position(33113, 31702, 12), - Position(33116, 31702, 12), + Position(33113, 31702, 12), + Position(33116, 31702, 12), } local function revertItem(position, itemId, transformId) - local item = Tile(position):getItemById(itemId) - if item then - item:transform(transformId) - end + local item = Tile(position):getItemById(itemId) + if item then + item:transform(transformId) + end end local function nexusMessage(player, message) - local spectators = Game.getSpectators(shadowNexusPosition, false, true, 3, 3) - for i = 1, #spectators do - player:say(message, TALKTYPE_MONSTER_YELL, false, spectators[i], shadowNexusPosition) - end + local spectators = Game.getSpectators(shadowNexusPosition, false, true, 3, 3) + for i = 1, #spectators do + player:say(message, TALKTYPE_MONSTER_YELL, false, spectators[i], shadowNexusPosition) + end end local storages = { - [4008] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave1, - [4009] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave2, - [4010] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave3, - [4011] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave4, - [4012] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave5, - [4013] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave6, - [4014] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave7, - [4015] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave8, - [4016] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave9, - [4017] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave10, - [4018] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave11, - [4019] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave12, - [4020] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave13, - [4021] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave14, - [4022] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave15, - [4023] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave16, + [4208] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave1, + [4209] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave2, + [4210] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave3, + [4211] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave4, + [4212] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave5, + [4213] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave6, + [4214] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave7, + [4215] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave8, + [4216] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave9, + [4217] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave10, + [4218] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave11, + [4219] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave12, + [4220] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave13, + [4221] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave14, + [4222] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave15, + [4223] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave16, } local config = { - antler_talisman = 22008, - sacred_antler_talisman = 22009, + antler_talisman = 22008, + sacred_antler_talisman = 22009, } local othersHolyWater = Action() + function othersHolyWater.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if target.itemid == config.antler_talisman then - item:transform(config.sacred_antler_talisman) - item:remove(1) - target:remove(1) - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You besprinkle the antler talisman with holy water. It glittlers faintly") - player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) - return true - end - - -- Eclipse - if target.actionid == 2000 then - item:remove(1) - toPosition:sendMagicEffect(CONST_ME_FIREAREA) - -- The Inquisition Questlog- 'Mission 2: Eclipse' - player:setStorageValue(Storage.TheInquisition.Mission02, 2) - player:setStorageValue(Storage.TheInquisition.Questline, 5) - return true - - -- Haunted Ruin - elseif target.actionid == 2003 then - if player:getStorageValue(Storage.TheInquisition.Questline) ~= 12 then - return true - end - - Game.createMonster("Pirate Ghost", toPosition) - item:remove(1) - - -- The Inquisition Questlog- 'Mission 4: The Haunted Ruin' - player:setStorageValue(Storage.TheInquisition.Questline, 13) - player:setStorageValue(Storage.TheInquisition.Mission04, 2) - - local doorItem = Tile(doorPosition):getItemById(7869) - if doorItem then - doorItem:transform(7868) - end - addEvent(revertItem, 10 * 1000, doorPosition, 7868, 7869) - return true - end - - if target.actionid == 4007 and target.actionid == 4024 then - local graveStorage = storages[target.actionid] - if player:getStorageValue(graveStorage) == 1 or player:getStorageValue(Storage.TibiaTales.RestInHallowedGround.Questline) ~= 3 then - return false - end - - player:setStorageValue(graveStorage, 1) - - local cStorage = player:getStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater) - if cStorage < 14 then - player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater, math.max(0, cStorage) + 1) - elseif cStorage == 14 then - player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater, -1) - player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.Questline, 4) - item:transform(2874, 0) - end - - toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) - end - - -- Shadow Nexus - if table.contains({ 7925, 7927, 7929 }, target.itemid) then - if target.itemid == 7929 then - Game.setStorageValue(GlobalStorage.Inquisition, math.random(4, 5)) - end - local newShadowNexus = Game.createItem(target.itemid + 1, 1, shadowNexusPosition) - if newShadowNexus then - target:remove() - newShadowNexus:decay() - end - nexusMessage(player, player:getName() .. " damaged the shadow nexus! You can't damage it while it's burning.") - toPosition:sendMagicEffect(CONST_ME_ENERGYHIT) - elseif target.itemid == 7931 then - if Game.getStorageValue(GlobalStorage.Inquisition) > 0 then - Game.setStorageValue(GlobalStorage.Inquisition, (Game.getStorageValue(GlobalStorage.Inquisition) - 1)) - if player:getStorageValue(Storage.TheInquisition.Questline) < 22 then - -- The Inquisition Questlog- 'Mission 7: The Shadow Nexus' - player:setStorageValue(Storage.TheInquisition.Mission07, 2) - player:setStorageValue(Storage.TheInquisition.Questline, 22) - end - for i = 1, #effectPositions do - effectPositions[i]:sendMagicEffect(CONST_ME_HOLYAREA) - end - nexusMessage(player, player:getName() .. " destroyed the shadow nexus! In 10 seconds it will return to its original state.") - item:remove(1) - toPosition:sendMagicEffect(CONST_ME_HOLYAREA) - else - target:transform(7925) - end - end - - return true + -- Antler Talisman Transformation + if target.itemid == config.antler_talisman then + item:transform(config.sacred_antler_talisman) + item:remove(1) + target:remove(1) + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You besprinkle the antler talisman with holy water. It glittlers faintly") + player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) + return true + + -- Eclipse Quest + elseif target.actionid == 2000 then + item:remove(1) + toPosition:sendMagicEffect(CONST_ME_FIREAREA) + player:setStorageValue(Storage.TheInquisition.Mission02, 2) + player:setStorageValue(Storage.TheInquisition.Questline, 5) + return true + + -- Haunted Ruin Quest + elseif target.actionid == 2003 then + if player:getStorageValue(Storage.TheInquisition.Questline) ~= 12 then + return true + end + + Game.createMonster("Pirate Ghost", toPosition) + item:remove(1) + player:setStorageValue(Storage.TheInquisition.Questline, 13) + player:setStorageValue(Storage.TheInquisition.Mission04, 2) + + local doorItem = Tile(doorPosition):getItemById(7869) + if doorItem then + doorItem:transform(7868) + end + addEvent(revertItem, 10 * 1000, doorPosition, 7868, 7869) + return true + + -- Rest in Hallowed Ground Quest + elseif target.actionid >= 4208 and target.actionid <= 4223 then + local graveStorage = storages[target.actionid] + local questline = player:getStorageValue(Storage.TibiaTales.RestInHallowedGround.Questline) + if player:getStorageValue(graveStorage) == 1 or questline ~= 3 then + return false + end + + player:setStorageValue(graveStorage, 1) + + local cStorage = player:getStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater) + if cStorage < 14 then + player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater, math.max(0, cStorage) + 1) + elseif cStorage == 14 then + player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater, -1) + player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.Questline, 4) + item:transform(2874, 0) + end + + toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) + return true + + -- Shadow Nexus Quest + elseif table.contains({ 7925, 7927, 7929 }, target.itemid) then + if target.itemid == 7929 then + Game.setStorageValue(GlobalStorage.Inquisition, math.random(4, 5)) + end + local newShadowNexus = Game.createItem(target.itemid + 1, 1, shadowNexusPosition) + if newShadowNexus then + target:remove() + newShadowNexus:decay() + end + nexusMessage(player, player:getName() .. " damaged the shadow nexus! You can't damage it while it's burning.") + toPosition:sendMagicEffect(CONST_ME_ENERGYHIT) + + -- Shadow Nexus Transformation + elseif target.itemid == 7931 then + if Game.getStorageValue(GlobalStorage.Inquisition) > 0 then + Game.setStorageValue(GlobalStorage.Inquisition, (Game.getStorageValue(GlobalStorage.Inquisition) - 1)) + if player:getStorageValue(Storage.TheInquisition.Questline) < 22 then + player:setStorageValue(Storage.TheInquisition.Mission07, 2) + player:setStorageValue(Storage.TheInquisition.Questline, 22) + end + for i = 1, #effectPositions do + effectPositions[i]:sendMagicEffect(CONST_ME_HOLYAREA) + end + nexusMessage(player, player:getName() .. " destroyed the shadow nexus! In 10 seconds it will return to its original state.") + item:remove(1) + toPosition:sendMagicEffect(CONST_ME_HOLYAREA) + else + target:transform(7925) + end + end + + return true end othersHolyWater:id(133) diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 785d4df587a..a4f6ae19de4 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -12,7 +12,73 @@ ItemAction = { itemId = 103, itemPos = { { x = 32408, y = 32107, z = 10 } }, }, - [40001] = { -- The cursed crystal skeletons + -- Rest in Hallowed Ground Quest + [4208] = { + itemId = 1979, + itemPos = { { x = 33188, y = 31688, z = 6 } }, + }, + [4209] = { + itemId = 1979, + itemPos = { {x = 33190, y = 31691, z = 6} }, + }, + [4210] = { + itemId = 1979, + itemPos = { {x = 33192, y = 31688, z = 6} }, + }, + [4211] = { + itemId = 1979, + itemPos = { {x = 33196, y = 31691, z = 6} }, + }, + [4212] = { + itemId = 1979, + itemPos = { {x = 33197, y = 31687, z = 6} }, + }, + [4213] = { + itemId = 1979, + itemPos = { {x = 33202, y = 31689, z = 6} }, + }, + [4214] = { + itemId = 1979, + itemPos = { {x = 33203, y = 31687, z = 6} }, + }, + [4215] = { + itemId = 1979, + itemPos = { {x = 33204, y = 31688, z = 6} }, + }, + [4216] = { + itemId = 1979, + itemPos = { {x = 33203, y = 31682, z = 6} }, + }, + [4217] = { + itemId = 1979, + itemPos = { {x = 33205, y = 31680, z = 6} }, + }, + [4218] = { + itemId = 1979, + itemPos = { {x = 33203, y = 31677, z = 6} }, + }, + [4219] = { + itemId = 1979, + itemPos = { {x = 33210, y = 31670, z = 7} }, + }, + [4220] = { + itemId = 1979, + itemPos = { {x = 33215, y = 31667, z = 7} }, + }, + [4221] = { + itemId = 1979, + itemPos = { {x = 33219, y = 31671, z = 7} }, + }, + [4222] = { + itemId = 1979, + itemPos = { {x = 33223, y = 31665, z = 7} }, + }, + [4223] = { + itemId = 1979, + itemPos = { {x = 33217, y = 31661, z = 7} }, + }, + -- The cursed crystal skeletons + [40001] = { itemId = 27490, itemPos = { { x = 31974, y = 32907, z = 8 }, From 90f31ea012e68156caf6ea46064c7eb468d761e8 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 24 Jul 2024 14:29:39 +0000 Subject: [PATCH 020/112] Lua code format - (Stylua) --- .../actions/quests/others/holy_water.lua | 236 +++++++++--------- data-otservbr-global/startup/tables/item.lua | 30 +-- 2 files changed, 133 insertions(+), 133 deletions(-) diff --git a/data-otservbr-global/scripts/actions/quests/others/holy_water.lua b/data-otservbr-global/scripts/actions/quests/others/holy_water.lua index 87842fd84c5..c4e1baf39cf 100644 --- a/data-otservbr-global/scripts/actions/quests/others/holy_water.lua +++ b/data-otservbr-global/scripts/actions/quests/others/holy_water.lua @@ -1,141 +1,141 @@ local doorPosition = Position(32260, 32791, 7) local shadowNexusPosition = Position(33115, 31702, 12) local effectPositions = { - Position(33113, 31702, 12), - Position(33116, 31702, 12), + Position(33113, 31702, 12), + Position(33116, 31702, 12), } local function revertItem(position, itemId, transformId) - local item = Tile(position):getItemById(itemId) - if item then - item:transform(transformId) - end + local item = Tile(position):getItemById(itemId) + if item then + item:transform(transformId) + end end local function nexusMessage(player, message) - local spectators = Game.getSpectators(shadowNexusPosition, false, true, 3, 3) - for i = 1, #spectators do - player:say(message, TALKTYPE_MONSTER_YELL, false, spectators[i], shadowNexusPosition) - end + local spectators = Game.getSpectators(shadowNexusPosition, false, true, 3, 3) + for i = 1, #spectators do + player:say(message, TALKTYPE_MONSTER_YELL, false, spectators[i], shadowNexusPosition) + end end local storages = { - [4208] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave1, - [4209] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave2, - [4210] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave3, - [4211] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave4, - [4212] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave5, - [4213] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave6, - [4214] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave7, - [4215] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave8, - [4216] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave9, - [4217] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave10, - [4218] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave11, - [4219] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave12, - [4220] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave13, - [4221] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave14, - [4222] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave15, - [4223] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave16, + [4208] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave1, + [4209] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave2, + [4210] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave3, + [4211] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave4, + [4212] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave5, + [4213] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave6, + [4214] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave7, + [4215] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave8, + [4216] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave9, + [4217] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave10, + [4218] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave11, + [4219] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave12, + [4220] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave13, + [4221] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave14, + [4222] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave15, + [4223] = Storage.TibiaTales.RestInHallowedGround.Graves.Grave16, } local config = { - antler_talisman = 22008, - sacred_antler_talisman = 22009, + antler_talisman = 22008, + sacred_antler_talisman = 22009, } local othersHolyWater = Action() function othersHolyWater.onUse(player, item, fromPosition, target, toPosition, isHotkey) - -- Antler Talisman Transformation - if target.itemid == config.antler_talisman then - item:transform(config.sacred_antler_talisman) - item:remove(1) - target:remove(1) - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You besprinkle the antler talisman with holy water. It glittlers faintly") - player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) - return true - - -- Eclipse Quest - elseif target.actionid == 2000 then - item:remove(1) - toPosition:sendMagicEffect(CONST_ME_FIREAREA) - player:setStorageValue(Storage.TheInquisition.Mission02, 2) - player:setStorageValue(Storage.TheInquisition.Questline, 5) - return true - - -- Haunted Ruin Quest - elseif target.actionid == 2003 then - if player:getStorageValue(Storage.TheInquisition.Questline) ~= 12 then - return true - end - - Game.createMonster("Pirate Ghost", toPosition) - item:remove(1) - player:setStorageValue(Storage.TheInquisition.Questline, 13) - player:setStorageValue(Storage.TheInquisition.Mission04, 2) - - local doorItem = Tile(doorPosition):getItemById(7869) - if doorItem then - doorItem:transform(7868) - end - addEvent(revertItem, 10 * 1000, doorPosition, 7868, 7869) - return true - - -- Rest in Hallowed Ground Quest - elseif target.actionid >= 4208 and target.actionid <= 4223 then - local graveStorage = storages[target.actionid] - local questline = player:getStorageValue(Storage.TibiaTales.RestInHallowedGround.Questline) - if player:getStorageValue(graveStorage) == 1 or questline ~= 3 then - return false - end - - player:setStorageValue(graveStorage, 1) - - local cStorage = player:getStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater) - if cStorage < 14 then - player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater, math.max(0, cStorage) + 1) - elseif cStorage == 14 then - player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater, -1) - player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.Questline, 4) - item:transform(2874, 0) - end - - toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - - -- Shadow Nexus Quest - elseif table.contains({ 7925, 7927, 7929 }, target.itemid) then - if target.itemid == 7929 then - Game.setStorageValue(GlobalStorage.Inquisition, math.random(4, 5)) - end - local newShadowNexus = Game.createItem(target.itemid + 1, 1, shadowNexusPosition) - if newShadowNexus then - target:remove() - newShadowNexus:decay() - end - nexusMessage(player, player:getName() .. " damaged the shadow nexus! You can't damage it while it's burning.") - toPosition:sendMagicEffect(CONST_ME_ENERGYHIT) - - -- Shadow Nexus Transformation - elseif target.itemid == 7931 then - if Game.getStorageValue(GlobalStorage.Inquisition) > 0 then - Game.setStorageValue(GlobalStorage.Inquisition, (Game.getStorageValue(GlobalStorage.Inquisition) - 1)) - if player:getStorageValue(Storage.TheInquisition.Questline) < 22 then - player:setStorageValue(Storage.TheInquisition.Mission07, 2) - player:setStorageValue(Storage.TheInquisition.Questline, 22) - end - for i = 1, #effectPositions do - effectPositions[i]:sendMagicEffect(CONST_ME_HOLYAREA) - end - nexusMessage(player, player:getName() .. " destroyed the shadow nexus! In 10 seconds it will return to its original state.") - item:remove(1) - toPosition:sendMagicEffect(CONST_ME_HOLYAREA) - else - target:transform(7925) - end - end - - return true + -- Antler Talisman Transformation + if target.itemid == config.antler_talisman then + item:transform(config.sacred_antler_talisman) + item:remove(1) + target:remove(1) + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You besprinkle the antler talisman with holy water. It glittlers faintly") + player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) + return true + + -- Eclipse Quest + elseif target.actionid == 2000 then + item:remove(1) + toPosition:sendMagicEffect(CONST_ME_FIREAREA) + player:setStorageValue(Storage.TheInquisition.Mission02, 2) + player:setStorageValue(Storage.TheInquisition.Questline, 5) + return true + + -- Haunted Ruin Quest + elseif target.actionid == 2003 then + if player:getStorageValue(Storage.TheInquisition.Questline) ~= 12 then + return true + end + + Game.createMonster("Pirate Ghost", toPosition) + item:remove(1) + player:setStorageValue(Storage.TheInquisition.Questline, 13) + player:setStorageValue(Storage.TheInquisition.Mission04, 2) + + local doorItem = Tile(doorPosition):getItemById(7869) + if doorItem then + doorItem:transform(7868) + end + addEvent(revertItem, 10 * 1000, doorPosition, 7868, 7869) + return true + + -- Rest in Hallowed Ground Quest + elseif target.actionid >= 4208 and target.actionid <= 4223 then + local graveStorage = storages[target.actionid] + local questline = player:getStorageValue(Storage.TibiaTales.RestInHallowedGround.Questline) + if player:getStorageValue(graveStorage) == 1 or questline ~= 3 then + return false + end + + player:setStorageValue(graveStorage, 1) + + local cStorage = player:getStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater) + if cStorage < 14 then + player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater, math.max(0, cStorage) + 1) + elseif cStorage == 14 then + player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.HolyWater, -1) + player:setStorageValue(Storage.TibiaTales.RestInHallowedGround.Questline, 4) + item:transform(2874, 0) + end + + toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) + return true + + -- Shadow Nexus Quest + elseif table.contains({ 7925, 7927, 7929 }, target.itemid) then + if target.itemid == 7929 then + Game.setStorageValue(GlobalStorage.Inquisition, math.random(4, 5)) + end + local newShadowNexus = Game.createItem(target.itemid + 1, 1, shadowNexusPosition) + if newShadowNexus then + target:remove() + newShadowNexus:decay() + end + nexusMessage(player, player:getName() .. " damaged the shadow nexus! You can't damage it while it's burning.") + toPosition:sendMagicEffect(CONST_ME_ENERGYHIT) + + -- Shadow Nexus Transformation + elseif target.itemid == 7931 then + if Game.getStorageValue(GlobalStorage.Inquisition) > 0 then + Game.setStorageValue(GlobalStorage.Inquisition, (Game.getStorageValue(GlobalStorage.Inquisition) - 1)) + if player:getStorageValue(Storage.TheInquisition.Questline) < 22 then + player:setStorageValue(Storage.TheInquisition.Mission07, 2) + player:setStorageValue(Storage.TheInquisition.Questline, 22) + end + for i = 1, #effectPositions do + effectPositions[i]:sendMagicEffect(CONST_ME_HOLYAREA) + end + nexusMessage(player, player:getName() .. " destroyed the shadow nexus! In 10 seconds it will return to its original state.") + item:remove(1) + toPosition:sendMagicEffect(CONST_ME_HOLYAREA) + else + target:transform(7925) + end + end + + return true end othersHolyWater:id(133) diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index a4f6ae19de4..5dfb94c4787 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -19,63 +19,63 @@ ItemAction = { }, [4209] = { itemId = 1979, - itemPos = { {x = 33190, y = 31691, z = 6} }, + itemPos = { { x = 33190, y = 31691, z = 6 } }, }, [4210] = { itemId = 1979, - itemPos = { {x = 33192, y = 31688, z = 6} }, + itemPos = { { x = 33192, y = 31688, z = 6 } }, }, [4211] = { itemId = 1979, - itemPos = { {x = 33196, y = 31691, z = 6} }, + itemPos = { { x = 33196, y = 31691, z = 6 } }, }, [4212] = { itemId = 1979, - itemPos = { {x = 33197, y = 31687, z = 6} }, + itemPos = { { x = 33197, y = 31687, z = 6 } }, }, [4213] = { itemId = 1979, - itemPos = { {x = 33202, y = 31689, z = 6} }, + itemPos = { { x = 33202, y = 31689, z = 6 } }, }, [4214] = { itemId = 1979, - itemPos = { {x = 33203, y = 31687, z = 6} }, + itemPos = { { x = 33203, y = 31687, z = 6 } }, }, [4215] = { itemId = 1979, - itemPos = { {x = 33204, y = 31688, z = 6} }, + itemPos = { { x = 33204, y = 31688, z = 6 } }, }, [4216] = { itemId = 1979, - itemPos = { {x = 33203, y = 31682, z = 6} }, + itemPos = { { x = 33203, y = 31682, z = 6 } }, }, [4217] = { itemId = 1979, - itemPos = { {x = 33205, y = 31680, z = 6} }, + itemPos = { { x = 33205, y = 31680, z = 6 } }, }, [4218] = { itemId = 1979, - itemPos = { {x = 33203, y = 31677, z = 6} }, + itemPos = { { x = 33203, y = 31677, z = 6 } }, }, [4219] = { itemId = 1979, - itemPos = { {x = 33210, y = 31670, z = 7} }, + itemPos = { { x = 33210, y = 31670, z = 7 } }, }, [4220] = { itemId = 1979, - itemPos = { {x = 33215, y = 31667, z = 7} }, + itemPos = { { x = 33215, y = 31667, z = 7 } }, }, [4221] = { itemId = 1979, - itemPos = { {x = 33219, y = 31671, z = 7} }, + itemPos = { { x = 33219, y = 31671, z = 7 } }, }, [4222] = { itemId = 1979, - itemPos = { {x = 33223, y = 31665, z = 7} }, + itemPos = { { x = 33223, y = 31665, z = 7 } }, }, [4223] = { itemId = 1979, - itemPos = { {x = 33217, y = 31661, z = 7} }, + itemPos = { { x = 33217, y = 31661, z = 7 } }, }, -- The cursed crystal skeletons [40001] = { From 0e9e0f78c9d3799aadaef0b97eebddcfd157f30a Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:43:28 -0300 Subject: [PATCH 021/112] Secret Service --- data-otservbr-global/lib/core/quests.lua | 40 +++---- data-otservbr-global/lib/core/storages.lua | 59 +++++----- data-otservbr-global/npc/chester_kahs.lua | 92 ++++++++-------- data-otservbr-global/npc/emma.lua | 103 ++++++++---------- data-otservbr-global/npc/freezhild.lua | 6 +- data-otservbr-global/npc/gamel.lua | 8 +- data-otservbr-global/npc/karl.lua | 4 +- data-otservbr-global/npc/uncle.lua | 90 +++++++-------- .../actions/other/others/quest_system2.lua | 2 +- .../actions/quests/others/fire_bug.lua | 4 +- .../actions_amazon_disguise_kit.lua} | 0 .../secret_service/actions_lever.lua} | 1 + .../secret_service/actions_ring.lua} | 4 +- .../secret_service/actions_rust_bugs.lua} | 4 +- .../secret_service/actions_tools.lua} | 0 .../creaturescripts_black_knight_kill.lua} | 6 +- .../secret_service/movements_amazon.lua} | 4 +- .../secret_service/movements_pirate.lua} | 4 +- data-otservbr-global/startup/tables/chest.lua | 71 ++++++++++++ .../startup/tables/door_quest.lua | 22 ++-- data-otservbr-global/startup/tables/item.lua | 17 +++ data-otservbr-global/startup/tables/lever.lua | 7 ++ data/scripts/lib/register_actions.lua | 4 +- 23 files changed, 324 insertions(+), 228 deletions(-) rename data-otservbr-global/scripts/{actions/quests/secret_service/amazon_disguise_kit.lua => quests/secret_service/actions_amazon_disguise_kit.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/secret_service/lever.lua => quests/secret_service/actions_lever.lua} (99%) rename data-otservbr-global/scripts/{actions/quests/secret_service/ring.lua => quests/secret_service/actions_ring.lua} (68%) rename data-otservbr-global/scripts/{actions/quests/secret_service/rust_bugs.lua => quests/secret_service/actions_rust_bugs.lua} (72%) rename data-otservbr-global/scripts/{actions/quests/secret_service/tools.lua => quests/secret_service/actions_tools.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/secret_service/black_knight_kill.lua => quests/secret_service/creaturescripts_black_knight_kill.lua} (57%) rename data-otservbr-global/scripts/{movements/quests/secret_service/amazon.lua => quests/secret_service/movements_amazon.lua} (73%) rename data-otservbr-global/scripts/{movements/quests/secret_service/pirate.lua => quests/secret_service/movements_pirate.lua} (70%) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 59d1968e9b9..8e939e71d6f 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -2516,12 +2516,12 @@ if not Quests then }, [15] = { name = "Secret Service", - startStorageId = Storage.SecretService.Quest, + startStorageId = Storage.Quest.U8_1.SecretService.Quest, startStorageValue = 1, missions = { [1] = { name = "Mission 1: From Thais with Love", - storageId = Storage.SecretService.TBIMission01, + storageId = Storage.Quest.U8_1.SecretService.TBIMission01, missionId = 10191, startValue = 1, endValue = 3, @@ -2534,7 +2534,7 @@ if not Quests then }, [2] = { name = "Mission 1: For Your Eyes Only", - storageId = Storage.SecretService.AVINMission01, + storageId = Storage.Quest.U8_1.SecretService.AVINMission01, missionId = 10192, startValue = 1, endValue = 4, @@ -2548,7 +2548,7 @@ if not Quests then }, [3] = { name = "Mission 1: Borrowed Knowledge", - storageId = Storage.SecretService.CGBMission01, + storageId = Storage.Quest.U8_1.SecretService.CGBMission01, missionId = 10193, startValue = 1, endValue = 2, @@ -2559,7 +2559,7 @@ if not Quests then }, [4] = { name = "Mission 2: Operation Green Claw", - storageId = Storage.SecretService.TBIMission02, + storageId = Storage.Quest.U8_1.SecretService.TBIMission02, missionId = 10194, startValue = 1, endValue = 2, @@ -2571,7 +2571,7 @@ if not Quests then }, [5] = { name = "Mission 2: A File Between Friends", - storageId = Storage.SecretService.AVINMission02, + storageId = Storage.Quest.U8_1.SecretService.AVINMission02, missionId = 10195, startValue = 1, endValue = 2, @@ -2582,7 +2582,7 @@ if not Quests then }, [6] = { name = "Mission 2: Codename:Lumberjack", - storageId = Storage.SecretService.CGBMission02, + storageId = Storage.Quest.U8_1.SecretService.CGBMission02, missionId = 10196, startValue = 1, endValue = 2, @@ -2594,7 +2594,7 @@ if not Quests then }, [7] = { name = "Mission 3: Treachery in Port Hope", - storageId = Storage.SecretService.TBIMission03, + storageId = Storage.Quest.U8_1.SecretService.TBIMission03, missionId = 10197, startValue = 1, endValue = 3, @@ -2606,7 +2606,7 @@ if not Quests then }, [8] = { name = "Mission 3: What Men are Made of", - storageId = Storage.SecretService.AVINMission03, + storageId = Storage.Quest.U8_1.SecretService.AVINMission03, missionId = 10198, startValue = 1, endValue = 4, @@ -2620,7 +2620,7 @@ if not Quests then }, [9] = { name = "Mission 3: Rust in Peace", - storageId = Storage.SecretService.CGBMission03, + storageId = Storage.Quest.U8_1.SecretService.CGBMission03, missionId = 10199, startValue = 1, endValue = 3, @@ -2633,7 +2633,7 @@ if not Quests then }, [10] = { name = "Mission 4: Objective Hellgate", - storageId = Storage.SecretService.TBIMission04, + storageId = Storage.Quest.U8_1.SecretService.TBIMission04, missionId = 10200, startValue = 1, endValue = 2, @@ -2644,7 +2644,7 @@ if not Quests then }, [11] = { name = "Mission 4: Pawn Captures Knight", - storageId = Storage.SecretService.AVINMission04, + storageId = Storage.Quest.U8_1.SecretService.AVINMission04, missionId = 10201, startValue = 1, endValue = 3, @@ -2656,7 +2656,7 @@ if not Quests then }, [12] = { name = "Mission 4: Plot for A Plan", - storageId = Storage.SecretService.CGBMission04, + storageId = Storage.Quest.U8_1.SecretService.CGBMission04, missionId = 10202, startValue = 1, endValue = 2, @@ -2667,7 +2667,7 @@ if not Quests then }, [13] = { name = "Mission 5: Coldfinger", - storageId = Storage.SecretService.TBIMission05, + storageId = Storage.Quest.U8_1.SecretService.TBIMission05, missionId = 10203, startValue = 1, endValue = 3, @@ -2679,7 +2679,7 @@ if not Quests then }, [14] = { name = "Mission 5: A Cryptic Mission", - storageId = Storage.SecretService.AVINMission05, + storageId = Storage.Quest.U8_1.SecretService.AVINMission05, missionId = 10204, startValue = 1, endValue = 2, @@ -2690,7 +2690,7 @@ if not Quests then }, [15] = { name = "Mission 5: No Admittance", - storageId = Storage.SecretService.CGBMission05, + storageId = Storage.Quest.U8_1.SecretService.CGBMission05, missionId = 10205, startValue = 1, endValue = 2, @@ -2701,7 +2701,7 @@ if not Quests then }, [16] = { name = "Mission 6: The Weakest Spot", - storageId = Storage.SecretService.TBIMission06, + storageId = Storage.Quest.U8_1.SecretService.TBIMission06, missionId = 10206, startValue = 1, endValue = 3, @@ -2714,7 +2714,7 @@ if not Quests then }, [17] = { name = "Mission 6: A Little Bribe Won't Hurt", - storageId = Storage.SecretService.AVINMission06, + storageId = Storage.Quest.U8_1.SecretService.AVINMission06, missionId = 10207, startValue = 1, endValue = 3, @@ -2726,7 +2726,7 @@ if not Quests then }, [18] = { name = "Mission 6: News From the Past", - storageId = Storage.SecretService.CGBMission06, + storageId = Storage.Quest.U8_1.SecretService.CGBMission06, missionId = 10208, startValue = 1, endValue = 2, @@ -2737,7 +2737,7 @@ if not Quests then }, [19] = { name = "Mission 7: Licence to Kill", - storageId = Storage.SecretService.Mission07, + storageId = Storage.Quest.U8_1.SecretService.Mission07, missionId = 10209, startValue = 1, endValue = 2, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index a8800286c73..b70553e9335 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -1106,30 +1106,6 @@ Storage = { TheHuntForTheSeaSerpent = { -- Reserved storage from 51410 - 51419 }, - SecretService = { - -- Reserved storage from 51420 - 51449 - Quest = 51420, - TBIMission01 = 51421, - AVINMission01 = 51422, - CGBMission01 = 51423, - TBIMission02 = 51424, - AVINMission02 = 51425, - CGBMission02 = 51426, - TBIMission03 = 51427, - AVINMission03 = 51428, - CGBMission03 = 51429, - TBIMission04 = 51430, - AVINMission04 = 51431, - CGBMission04 = 51432, - TBIMission05 = 51433, - AVINMission05 = 51434, - CGBMission05 = 51435, - TBIMission06 = 51436, - AVINMission06 = 51437, - CGBMission06 = 51438, - Mission07 = 51439, - RottenTree = 51440, - }, HiddenCityOfBeregar = { -- Reserved storage from 51450 - 51479 DefaultStart = 51450, @@ -2061,8 +2037,39 @@ Storage = { KosheiAmuletPart3 = 41357, KosheiAmuletPart4 = 41358, }, - RestInHallowedGround = {}, - SecretService = {}, + SecretService = { + Quest = 51420, + TBIMission01 = 51421, + AVINMission01 = 51422, + CGBMission01 = 51423, + TBIMission02 = 51424, + AVINMission02 = 51425, + CGBMission02 = 51426, + TBIMission03 = 51427, + AVINMission03 = 51428, + CGBMission03 = 51429, + TBIMission04 = 51430, + AVINMission04 = 51431, + CGBMission04 = 51432, + TBIMission05 = 51433, + AVINMission05 = 51434, + CGBMission05 = 51435, + TBIMission06 = 51436, + AVINMission06 = 51437, + CGBMission06 = 51438, + Mission07 = 51439, + RottenTree = 51440, + AHX17L89 = 51441, + FamilySignetRing = 51442, + MagicSpellbook = 51443, + BuildingPlans = 51444, + SuspiciousDocuments = 51445, + Book = 51446, + RottenHeartOfTree = 51447, + LotteryTicket = 51448, + PoemScroll = 51449, + IntelligenceReports = 51450, + }, StealFromThieves = {}, StrongPotions = { Reward = 10043, diff --git a/data-otservbr-global/npc/chester_kahs.lua b/data-otservbr-global/npc/chester_kahs.lua index 796c3dfcb57..c885ef84f1b 100644 --- a/data-otservbr-global/npc/chester_kahs.lua +++ b/data-otservbr-global/npc/chester_kahs.lua @@ -98,27 +98,27 @@ local function creatureSayCallback(npc, creature, type, message) end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 then - player:setStorageValue(Storage.SecretService.Quest, 1) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 1) npcHandler:say("Then I welcome you to the TBI. This is a great moment for you, remember it well. Talk to me about your missions whenever you feel ready.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then - player:setStorageValue(Storage.SecretService.TBIMission01, 3) - player:setStorageValue(Storage.SecretService.Quest, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission01, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 3) npcHandler:say("I think they understood the warning the way it was meant. If not, you will have to visit Venore soon again. But for now it's settled.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 7 then if player:removeItem(5956, 1) then - player:setStorageValue(Storage.SecretService.TBIMission02, 2) - player:setStorageValue(Storage.SecretService.Quest, 5) - npcHandler:say("Thank you, we can finally let them have some closure regarding this.", npc, creature) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission02, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 5) + npcHandler:say("I can only hope that this information are as valuable as we expected it. A good man died for them.", npc, creature) else npcHandler:say("Please bring me some proof of his whereabouts.", npc, creature) end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 8 then if player:removeItem(5952, 1) then - player:setStorageValue(Storage.SecretService.TBIMission03, 3) - player:setStorageValue(Storage.SecretService.Quest, 7) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission03, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 7) npcHandler:say("I can only hope that this information are as valuable as we expected it. A good man died for them.", npc, creature) else npcHandler:say("Please bring me some valuable information!", npc, creature) @@ -126,21 +126,21 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 9 then if player:removeItem(348, 1) then - player:setStorageValue(Storage.SecretService.TBIMission04, 2) - player:setStorageValue(Storage.SecretService.Quest, 9) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission04, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 9) npcHandler:say("Ah yes, very interesting. Almost as I suspected. It's a good thing that we got those documents in our hands.", npc, creature) else npcHandler:say("We need those intelligence reports, do whatever you need to do agent!", npc, creature) end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 10 then - player:setStorageValue(Storage.SecretService.TBIMission05, 3) - player:setStorageValue(Storage.SecretService.Quest, 11) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission05, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 11) npcHandler:say("Now that Venore is of nearly no importance anymore, there is only Carlin left to deal with.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 11 then - player:setStorageValue(Storage.SecretService.TBIMission06, 3) - player:setStorageValue(Storage.SecretService.Quest, 13) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission06, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 13) npcHandler:say("I already heard that our little trick worked quite well. Several officials of Carlin are already on their way to repair the damage done to their diplomatic efforts. It will not only cost them much money but also quite some time.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 12 then @@ -153,8 +153,8 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 13 then if player:removeItem(396, 1) then - player:setStorageValue(Storage.SecretService.Mission07, 2) - player:setStorageValue(Storage.SecretService.Quest, 15) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Mission07, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 15) player:addItem(897, 1) npcHandler:say("You have done superb work agent, I grant you the title of Top Agent! Here's a little gift you might find useful.", npc, creature) else @@ -188,7 +188,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Do you need the healing now?", npc, creature) npcHandler:setTopic(playerId, 4) elseif MsgContains(message, "join") then - if player:getStorageValue(Storage.SecretService.Quest) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) < 1 then npcHandler:say({ "Our bureau is an old and traditional branch of the Thaian government. It takes more than lip service to join our ranks ...", "Absolute loyalty to the crown and the Thaian cause as well as courage face-to-face with the enemy is the least we expect from our members ...", @@ -197,9 +197,9 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 5) end elseif MsgContains(message, "mission") then - if player:getStorageValue(Storage.SecretService.Quest) == 1 and player:getStorageValue(Storage.SecretService.AVINMission01) < 1 and player:getStorageValue(Storage.SecretService.CGBMission01) < 1 then - player:setStorageValue(Storage.SecretService.Quest, 2) - player:setStorageValue(Storage.SecretService.TBIMission01, 1) + if player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 1 and player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01) < 1 and player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission01) < 1 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission01, 1) npcHandler:say({ "Your first task is to deliver a warning. Illegally, the Venoreans are crafting more ships than the Thaian authorities have allowed them ...", "Our sources have told us that those ships often end up in the hands of pirates or smugglers ...", @@ -209,12 +209,12 @@ local function creatureSayCallback(npc, creature, type, message) "If you get captured or killed during your mission, we will deny any contact with you.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.TBIMission01) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission01) == 2 then npcHandler:say("Have you fulfilled your current mission?", npc, creature) npcHandler:setTopic(playerId, 6) - elseif player:getStorageValue(Storage.SecretService.TBIMission01) == 3 and player:getStorageValue(Storage.SecretService.Quest) == 3 then - player:setStorageValue(Storage.SecretService.Quest, 4) - player:setStorageValue(Storage.SecretService.TBIMission02, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission01) == 3 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 3 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 4) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission02, 1) npcHandler:say({ "Your next mission concerns an internal matter for our agency. Some decades ago, one of our most talented field agents vanished in the Green Claw Swamp ...", "Nowadays, that more and more adventurers are swarming this area, there is an increasing number of reports on some sinister goings-on and mysterious ruins in the middle of the swamp ...", @@ -225,24 +225,24 @@ local function creatureSayCallback(npc, creature, type, message) "As a small incentive I think its worthy to mention that he was wearing a quite impressive armor. You may keep it for yourself if you stumble across it.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.TBIMission02) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission02) == 1 then npcHandler:say("Have you fulfilled your current mission?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.SecretService.TBIMission02) == 2 and player:getStorageValue(Storage.SecretService.Quest) == 5 then - player:setStorageValue(Storage.SecretService.Quest, 6) - player:setStorageValue(Storage.SecretService.TBIMission03, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission02) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 5 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 6) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission03, 1) npcHandler:say({ "One of our agents is missing. He was investigating the cause for the slow growth of our colony Port Hope ...", "You will continue these investigations at the point where the information that the lost agent has sent us ends. Some of the traders in Port Hope must have connections to persons who are interested in sabotaging our efforts in Tiquanda ...", "Search their personal belongings to find some sort of evidence that we could need!", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.TBIMission03) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission03) == 2 then npcHandler:say("Have you fulfilled your current mission?", npc, creature) npcHandler:setTopic(playerId, 8) - elseif player:getStorageValue(Storage.SecretService.TBIMission03) == 3 and player:getStorageValue(Storage.SecretService.Quest) == 7 then - player:setStorageValue(Storage.SecretService.Quest, 8) - player:setStorageValue(Storage.SecretService.TBIMission04, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission03) == 3 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 7 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 8) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission04, 1) npcHandler:say({ "Just recently we were able to secretly help our elven friends to exposure an agitator sent by Carlin to poison our connections with them. The elves' reaction wasswift and without compromise ...", "They banished the delinquent in a place they call 'Hellgate'. Unfortunately, we learnt later that the convict was sent there with several of his belongings and it is very likely that he took vital papers with him ...", @@ -250,12 +250,12 @@ local function creatureSayCallback(npc, creature, type, message) "We don't care how you get them. Do whatever you think is necessary.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.TBIMission04) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission04) == 1 then npcHandler:say("Have you fulfilled your current mission?", npc, creature) npcHandler:setTopic(playerId, 9) - elseif player:getStorageValue(Storage.SecretService.TBIMission04) == 2 and player:getStorageValue(Storage.SecretService.Quest) == 9 then - player:setStorageValue(Storage.SecretService.Quest, 10) - player:setStorageValue(Storage.SecretService.TBIMission05, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission04) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 9 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 10) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission05, 1) player:addItem(349, 1) npcHandler:say({ "It's bad enough that Carlin got a solid foothold in the far North but now the Venoreans also try to move in. They try to gain influence on the barbarian raiders by bribing their leaders or making them great promises ...", @@ -263,12 +263,12 @@ local function creatureSayCallback(npc, creature, type, message) "Here is a signet ring that the Venorean emissaries use to wear. 'Lose' the ring in the north-western corner of the highest level of the tower. They will surely find it there.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.TBIMission05) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission05) == 2 then npcHandler:say("Have you fulfilled your current mission?", npc, creature) npcHandler:setTopic(playerId, 10) - elseif player:getStorageValue(Storage.SecretService.TBIMission05) == 3 and player:getStorageValue(Storage.SecretService.Quest) == 11 then - player:setStorageValue(Storage.SecretService.Quest, 12) - player:setStorageValue(Storage.SecretService.TBIMission06, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission05) == 3 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 11 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 12) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission06, 1) player:addItem(397, 1) npcHandler:say({ "The women of Carlin have the northern city Svargrond in the firm grip of her manicured hands. At the moment, there is little we can do about it but there is one thing that plays into our hands ...", @@ -276,24 +276,24 @@ local function creatureSayCallback(npc, creature, type, message) "If some amazonian warrior would smash a beer or ale cask in front of some witnesses, the relationship would surely suffer a bit. So go and disguise yourself as an amazon. Then use a crowbar to destroy a cask.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.TBIMission06) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission06) == 2 then npcHandler:say("Have you fulfilled your current mission?", npc, creature) npcHandler:setTopic(playerId, 11) - elseif player:getStorageValue(Storage.SecretService.TBIMission06) == 3 and player:getStorageValue(Storage.SecretService.Quest) == 13 then - player:setStorageValue(Storage.SecretService.Quest, 14) - player:setStorageValue(Storage.SecretService.Mission07, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission06) == 3 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 13 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 14) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Mission07, 1) npcHandler:say({ "Great, you are here. We need your service in a mission of utmost urgency ...", "A mad dwarven technomancer that listens to the name of Blowbeard sent us a blackmailing letter. He demands to deliver all of Thais's gold to him. Else he will destroy the city with an artificial earthquake caused by one of his machines! ...", "We need you to find his base in Kazordoon and to kill him before he can use his infernal machine. Bring us his beard as proof of your success.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.TBIMission06) == 3 and player:getStorageValue(Storage.SecretService.Mission07) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission06) == 3 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Mission07) == 1 then npcHandler:say("Have you fulfilled your current mission?", npc, creature) npcHandler:setTopic(playerId, 13) end elseif MsgContains(message, "disguise") then - if player:getStorageValue(Storage.SecretService.TBIMission06) == 1 then + if player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission06) == 1 then npcHandler:say("If you lost or wasted your disguise kit I can replace it. It will cost you 1000 gold though since you lost royal property. Is that ok for you?", npc, creature) npcHandler:setTopic(playerId, 12) end diff --git a/data-otservbr-global/npc/emma.lua b/data-otservbr-global/npc/emma.lua index 36a4a9f4e3e..9ebb218bd97 100644 --- a/data-otservbr-global/npc/emma.lua +++ b/data-otservbr-global/npc/emma.lua @@ -59,14 +59,14 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.SecretService.Quest, 1) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 1) player:addAchievement("Secret Agent") npcHandler:say("I am still a bit sceptical, but well, welcome to the girls brigade.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then if player:removeItem(648, 1) then - player:setStorageValue(Storage.SecretService.CGBMission01, 2) - player:setStorageValue(Storage.SecretService.Quest, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission01, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 3) npcHandler:say("How unnecessarily complicated, but that's the way those Thaians are. In the end we got what we wanted and they can't do anything about it.", npc, creature) else npcHandler:say("Bring me the spellbook.", npc, creature) @@ -74,22 +74,22 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(652, 1) then - player:setStorageValue(Storage.SecretService.CGBMission02, 2) - player:setStorageValue(Storage.SecretService.Quest, 5) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission02, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 5) npcHandler:say("I think the druids will be pleased to hear that the immediate threat has been averted.", npc, creature) else npcHandler:say("Bring me the heart as proof.", npc, creature) end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 4 then - player:setStorageValue(Storage.SecretService.CGBMission03, 3) - player:setStorageValue(Storage.SecretService.Quest, 7) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission03, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 7) npcHandler:say("Great! This blow strikes them where it hurts most: profit.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 then if player:removeItem(399, 1) then - player:setStorageValue(Storage.SecretService.CGBMission04, 2) - player:setStorageValue(Storage.SecretService.Quest, 9) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission04, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 9) npcHandler:say("I hope our craftsmen can do something with this stuff. For me it makes hardly any sense.", npc, creature) else npcHandler:say("You need to bring me those plans!", npc, creature) @@ -97,8 +97,8 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then if player:removeItem(400, 1) then - player:setStorageValue(Storage.SecretService.CGBMission05, 2) - player:setStorageValue(Storage.SecretService.Quest, 11) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission05, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 11) npcHandler:say("I will have this correspondence examined by our specialists. I am sure they are quite revealing.", npc, creature) else npcHandler:say("Bring me back some hints or something!", npc, creature) @@ -106,8 +106,8 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 7 then if player:removeItem(401, 1) then - player:setStorageValue(Storage.SecretService.CGBMission06, 2) - player:setStorageValue(Storage.SecretService.Quest, 13) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission06, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 13) npcHandler:say("I hope this old book will do those researches any good. Personally I see little use to proof some bloodlines after we cut all ties to Thais.", npc, creature) else npcHandler:say("You need to bring us that book of family trees!", npc, creature) @@ -115,8 +115,8 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 8 then if player:removeItem(396, 1) then - player:setStorageValue(Storage.SecretService.Mission07, 2) - player:setStorageValue(Storage.SecretService.Quest, 15) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Mission07, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 15) player:addAchievement("Top CGB Agent") player:addItem(898, 1) npcHandler:say({ @@ -133,41 +133,32 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("As you wish.", npc, creature) npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "join") then - if player:getStorageValue(Storage.SecretService.Quest) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) < 1 then if player:getSex() == PLAYERSEX_FEMALE then - npcHandler:say({ - "The girls brigade is the foremost front on which we fight the numerous enemies of our city ...", - "It's a constant race to stay ahead of our enemies. Absolute loyalty and the willingness to put ones life at stake are attributes that are vital for this brigade ...", - "If you join, you dedicate your service to Carlin alone! Do you truly think that you are girl enough to join the brigade?", - }, npc, creature) + npcHandler:say("The girls brigade is the foremost front on which we fight the numerous enemies of our city ... It's a constant race to stay ahead of our enemies. Absolute loyalty and the willingness to put ones life at stake are attributes that are vital for this brigade ... If you join, you dedicate your service to Carlin alone! Do you truly think that you are girl enough to join the brigade?", npc, creature) else - npcHandler:say({ - "A man in the girls brigade? Come on this is hilarious, this is outright stupid, this is ...", - "exactly what no one would expect. Mhm, on second thought the element of surprise might offset your male inferiority. The girls brigade is the foremost front on which we fight the numerous enemies of our city ...", - "It's a constant race to stay ahead of our enemies. Absolute loyalty and the willingness to put ones life at stake are attributes that are vital for this brigade ...", - "If you join, you dedicate your service to Carlin alone! Do you truly think that you are girl enough to join the brigade?", - }, npc, creature) + npcHandler:say("A man in the girls brigade? Come on this is hilarious, this is outright stupid, this is ... exactly what no one would expect. Mhm, on second thought the element of surprise might offset your male inferiority.", npc, creature) end npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.SecretService.TBIMission01) > 0 or player:getStorageValue(Storage.SecretService.AVINMission01) > 0 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission01) > 0 or player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01) > 0 then npcHandler:say("Don't try to fool me. We are perfectly aware to whom you are loyal.", npc, creature) end elseif MsgContains(message, "mission") then - if player:getStorageValue(Storage.SecretService.Quest) == 1 and player:getStorageValue(Storage.SecretService.TBIMission01) < 1 and player:getStorageValue(Storage.SecretService.CGBMission01) < 1 then - player:setStorageValue(Storage.SecretService.Quest, 2) - player:setStorageValue(Storage.SecretService.CGBMission01, 1) + if player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 1 and player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission01) < 1 and player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission01) < 1 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission01, 1) npcHandler:say({ "Our relations with Thais can be called strained at best. Therefore, it's not really astounding that the Thaian financed Edron's academy but refuse to share some knowledge with our druids ..", "But we won't accept this so easily. With the help of divination, we learnt that the knowledge our druids are looking for is found in a certain book ...", "It will be your task to enter the academy and to steal this book for us.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.CGBMission01) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission01) == 1 then npcHandler:say("Have you been successful?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.SecretService.CGBMission01) == 2 and player:getStorageValue(Storage.SecretService.Quest) == 3 then - player:setStorageValue(Storage.SecretService.Quest, 4) - player:setStorageValue(Storage.SecretService.CGBMission02, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission01) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 3 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 4) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission02, 1) npcHandler:say({ "The druids have asked the brigade for a favour. Given that we heavily rely on their resources and they are important supporters of our cities, we can't deny them the request ...", "A wandering druid has recently visited the Green Claw Swamp, located north west of that corrupted hell hole Venore. While gathering herbs, he noticed some malignant presence in the said area ...", @@ -178,12 +169,12 @@ local function creatureSayCallback(npc, creature, type, message) "Travel to Green Claw Swamp and rip out the heart out of the master tree. Without it, the unnatural trees will wither soon. Bring me the heart as proof.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.CGBMission02) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission02) == 1 then npcHandler:say("Have you been successful?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.SecretService.CGBMission02) == 2 and player:getStorageValue(Storage.SecretService.Quest) == 5 then - player:setStorageValue(Storage.SecretService.Quest, 6) - player:setStorageValue(Storage.SecretService.CGBMission03, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission02) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 5 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 6) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission03, 1) player:addItem(350, 1) npcHandler:say({ "The scheming Venoreans are a constant thorn in our side. They supply our enemies with all kind of equipment to boost the threat they pose to our freedom. It will be your task to hinder future weapon deliveries significantly ...", @@ -191,53 +182,53 @@ local function creatureSayCallback(npc, creature, type, message) "Take this box of rust bugs and use them on the keyhole of the smithy in the Ironhouse. These 'pets' will ruin all metal there and it will take them a while to get rid of them.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.CGBMission03) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission03) == 2 then npcHandler:say("Have you been successful?", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.SecretService.CGBMission03) == 3 and player:getStorageValue(Storage.SecretService.Quest) == 7 then - player:setStorageValue(Storage.SecretService.Quest, 8) - player:setStorageValue(Storage.SecretService.CGBMission04, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission03) == 3 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 7 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 8) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission04, 1) npcHandler:say({ "Venore has plans for a new kind of ship. It will be faster and more resilient than any other known ship. It will surely improve their dominance over the sea trade. Unless we get those plans for ourselves ...", "And this is where you come into play. Find the ship plans in the Venorean shipyard or perhaps at the harbour and bring them here immediately.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.CGBMission04) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission04) == 1 then npcHandler:say("Have you been successful?", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.SecretService.CGBMission04) == 2 and player:getStorageValue(Storage.SecretService.Quest) == 9 then - player:setStorageValue(Storage.SecretService.Quest, 10) - player:setStorageValue(Storage.SecretService.CGBMission05, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission04) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 9 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 10) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission05, 1) npcHandler:say({ "Ruins of some ancient cathedral are found south west of Venore. It was a project that the Thaians never finished. However, our scouts reported some suspicious activities there ...", "There is a continual coming and going which hints on something big hiding there. We ask you to enter the ruins of the cathedral and to find out what all these people are doing there ...", "You might find several hints there, but I am sure you will know exactly when you have found what we are looking for.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.CGBMission05) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission05) == 1 then npcHandler:say("Have you been successful?", npc, creature) npcHandler:setTopic(playerId, 6) - elseif player:getStorageValue(Storage.SecretService.CGBMission05) == 2 and player:getStorageValue(Storage.SecretService.Quest) == 11 then - player:setStorageValue(Storage.SecretService.Quest, 12) - player:setStorageValue(Storage.SecretService.CGBMission06, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission05) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 11 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 12) + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission06, 1) npcHandler:say({ "As you might know, once the old aristocracy of our city shared blood-ties with the noblemen of Thais. There are many unresolved claims for titles and family heirlooms and Thais does little to help in this matter ...", "Therefore, we will take matters into our own hands. There is a grave in the crypts on the Isle of the Kings in which we assume a book containing ancient family histories and family trees ...", "We need this book! We will not ask how you acquired it.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.CGBMission06) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission06) == 1 then npcHandler:say("Have you been successful?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.SecretService.CGBMission06) == 2 and player:getStorageValue(Storage.SecretService.Quest) == 13 then - player:setStorageValue(Storage.SecretService.Quest, 14) - player:setStorageValue(Storage.SecretService.Mission07, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission06) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 13 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 14) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Mission07, 1) npcHandler:say({ "I have bad news: a mad dwarf threatens to destroy our beloved city. He claims to have invented some device that enables him to destroy the whole city ...", "He has a laboratory somewhere in Kazordoon, probably somewhere near the technomancer hall. Find him and kill him! Bring me his beard as a proof!", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.CGBMission06) == 2 and player:getStorageValue(Storage.SecretService.Mission07) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission06) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Mission07) == 1 then npcHandler:say("Have you been successful?", npc, creature) npcHandler:setTopic(playerId, 8) end diff --git a/data-otservbr-global/npc/freezhild.lua b/data-otservbr-global/npc/freezhild.lua index f1fde236040..d7d90d93b5b 100644 --- a/data-otservbr-global/npc/freezhild.lua +++ b/data-otservbr-global/npc/freezhild.lua @@ -59,15 +59,15 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "weapons") then - if player:getStorageValue(Storage.SecretService.AVINMission06) == 1 then + if player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission06) == 1 then npcHandler:say("Crate of weapons you say.. for me?", npc, creature) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then if player:removeItem(405, 1) then - player:setStorageValue(Storage.SecretService.AVINMission06, 2) - npcHandler:say("Why thank you |PLAYERNAME|.", npc, creature) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission06, 2) + npcHandler:say("I'm wondering why you are doing this. Well, we accept the gift. Don't think that this makes you a friend though.", npc, creature) else npcHandler:say("You don't have any crate of weapons!", npc, creature) end diff --git a/data-otservbr-global/npc/gamel.lua b/data-otservbr-global/npc/gamel.lua index 96e9cb0540d..f6b50617a3b 100644 --- a/data-otservbr-global/npc/gamel.lua +++ b/data-otservbr-global/npc/gamel.lua @@ -60,8 +60,8 @@ local function greetCallback(npc, creature) local playerId = creature:getId() local player = Player(creature) - if player:getStorageValue(Storage.SecretService.AVINMission01) == 1 and player:getItemCount(402) > 0 then - player:setStorageValue(Storage.SecretService.AVINMission01, 2) + if player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01) == 1 and player:getItemCount(402) > 0 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01, 2) npcHandler:say("I don't like the way you look. Help me boys!", npc, creature) for i = 1, 2 do Game.createMonster("Bandit", npc:getPosition()) @@ -82,14 +82,14 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "letter") then - if player:getStorageValue(Storage.SecretService.AVINMission01) == 2 then + if player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01) == 2 then npcHandler:say("You have a letter for me?", npc, creature) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then if player:removeItem(402, 1) then - player:setStorageValue(Storage.SecretService.AVINMission01, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01, 3) npcHandler:say("Oh well. I guess I am still on the hook. Tell your 'uncle' I will proceed as he suggested.", npc, creature) else npcHandler:say("You don't have any letter!", npc, creature) diff --git a/data-otservbr-global/npc/karl.lua b/data-otservbr-global/npc/karl.lua index 92d6ca95128..375105a724f 100644 --- a/data-otservbr-global/npc/karl.lua +++ b/data-otservbr-global/npc/karl.lua @@ -59,7 +59,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "barrel") then - if player:getStorageValue(Storage.SecretService.AVINMission03) == 2 then + if player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission03) == 2 then npcHandler:say("Do you bring me a barrel of beer??", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -71,7 +71,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then if player:removeItem(404, 1) then - player:setStorageValue(Storage.SecretService.AVINMission03, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission03, 3) npcHandler:say("Three cheers for the noble |PLAYERNAME|.", npc, creature) else npcHandler:say("You don't have any barrel of beer!", npc, creature) diff --git a/data-otservbr-global/npc/uncle.lua b/data-otservbr-global/npc/uncle.lua index cfe4b85d5f2..e5dac50d0a2 100644 --- a/data-otservbr-global/npc/uncle.lua +++ b/data-otservbr-global/npc/uncle.lua @@ -59,52 +59,52 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.SecretService.Quest, 1) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 1) player:addAchievement("Secret Agent") npcHandler:say("Then welcome to the family.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then - player:setStorageValue(Storage.SecretService.AVINMission01, 4) - player:setStorageValue(Storage.SecretService.Quest, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01, 4) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 3) npcHandler:say("I hope you did not make this little pest too nervous. He isn't serving us too well by hiding under some stone or something like that. However, nicely done for your first job.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(403, 1) then - player:setStorageValue(Storage.SecretService.AVINMission02, 2) - player:setStorageValue(Storage.SecretService.Quest, 5) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission02, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 5) npcHandler:say("Ah, yes. This will be a most interesting lecture.", npc, creature) else npcHandler:say("Please bring me the file AH-X17L89.", npc, creature) end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 4 then - player:setStorageValue(Storage.SecretService.AVINMission03, 4) - player:setStorageValue(Storage.SecretService.Quest, 7) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission03, 4) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 7) npcHandler:say("Does it not warm up your heart if you can bring a little joy to the people while doing your job? Well, don't get carried away, most part of your job is not warming up hearts but tearing them out.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 then - player:setStorageValue(Storage.SecretService.AVINMission04, 3) - player:setStorageValue(Storage.SecretService.Quest, 9) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission04, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 9) npcHandler:say("Good work getting rid of that nuisance.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then if player:removeItem(406, 1) then - player:setStorageValue(Storage.SecretService.AVINMission05, 2) - player:setStorageValue(Storage.SecretService.Quest, 11) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission05, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 11) npcHandler:say("Fine, fine. This will serve us quite well. Ah, don't give me that look... you are not that stupid, are you?", npc, creature) else npcHandler:say("Come back when you've found the ring.", npc, creature) end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 7 then - player:setStorageValue(Storage.SecretService.AVINMission06, 3) - player:setStorageValue(Storage.SecretService.Quest, 13) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission06, 3) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 13) npcHandler:say("Even if the present has not improved our relations, the weapons will enable the barbarians to put more pressure on Svargrond and Carlin. So in any case we profited from the present.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 8 then if player:removeItem(396, 1) then - player:setStorageValue(Storage.SecretService.Mission07, 2) - player:setStorageValue(Storage.SecretService.Quest, 15) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Mission07, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 15) player:addAchievement("Top AVIN Agent") player:addItem(899, 1) npcHandler:say({ @@ -120,7 +120,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("As you wish.", npc, creature) npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "join") then - if player:getStorageValue(Storage.SecretService.Quest) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) < 1 then npcHandler:say({ "Well, well, well! As you might know, we are entrusted by the Venorean tradesmen to ensure the safety of their ventures ...", "This task often puts our representatives in rather dangerous and challenging situations. On the other hand, you can expect a generous compensation for your efforts on our behalf...", @@ -130,42 +130,42 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, "mission") then - if player:getStorageValue(Storage.SecretService.Quest) == 1 and player:getStorageValue(Storage.SecretService.TBIMission01) < 1 and player:getStorageValue(Storage.SecretService.CGBMission01) < 1 then - player:setStorageValue(Storage.SecretService.Quest, 2) - player:setStorageValue(Storage.SecretService.AVINMission01, 1) + if player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 1 and player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission01) < 1 and player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission01) < 1 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01, 1) player:addItem(402, 1) npcHandler:say("Let's start with a rather simple job. There is a contact in Thais with that we need to get in touch again. Deliver this note to Gamel in Thais. Get an answer from him. If he is a bit reluctant, be 'persuasive'.", npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.AVINMission01) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01) == 3 then npcHandler:say("Do you have news to make old Uncle happy?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.SecretService.AVINMission01) == 4 and player:getStorageValue(Storage.SecretService.Quest) == 3 then - player:setStorageValue(Storage.SecretService.Quest, 4) - player:setStorageValue(Storage.SecretService.AVINMission02, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission01) == 4 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 3 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 4) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission02, 1) npcHandler:say({ "Our Thaian allies are sometimes a bit forgetful. For this reason we are not always informed timely about certain activities. We won't insult our great king by pointing out this flaw ...", "Still, we are in dire need of these information so we are forced to take action on our own. Travel to the Thaian castle and 'find' the documents we need. They have the file name AH-X17L89. ...", "Now go to Thaian castle and get the File.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.AVINMission02) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission02) == 1 then npcHandler:say("Do you have news to make old Uncle happy?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.SecretService.AVINMission02) == 2 and player:getStorageValue(Storage.SecretService.Quest) == 5 then - player:setStorageValue(Storage.SecretService.Quest, 6) - player:setStorageValue(Storage.SecretService.AVINMission03, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission02) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 5 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 6) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission03, 1) player:addItem(404, 1) npcHandler:say({ "The oppression of Carlin's men by their lunatic women is unbearable to some of our authorities. We see it as our honourable duty to support the male resistance in Carlin ...", "The poor guys have some speakeasy in the sewers. Bring them this barrel of beer with our kind regards to strengthen their resistance.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.AVINMission03) == 3 then - npcHandler:say("Do you have news to make old Uncle happy?", npc, creature) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission03) == 3 then + npcHandler:say("Do you have news to make old Uncle happy? Don't tell me you need another barrel of beer, though.", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.SecretService.AVINMission03) == 4 and player:getStorageValue(Storage.SecretService.Quest) == 7 then - player:setStorageValue(Storage.SecretService.Quest, 8) - player:setStorageValue(Storage.SecretService.AVINMission04, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission03) == 4 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 7 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 8) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission04, 1) npcHandler:say({ "As you know, our lovely city is a bastion of civilisation surrounded by numerous hazards. The nearby Plains of Havoc and the hostile elven town Shadowthorn are only a few of the obstacles we have to overcome on an almost daily basis ...", "Against all odds, we managed to gain some modest profit by exploiting these circumstances in one way or the other. Recently though, one of our neighbours went too far...", @@ -175,20 +175,20 @@ local function creatureSayCallback(npc, creature, type, message) "Even though we can live with this loss, it becomes obvious that the knight's madness gets worse which makes him unbearable as a neighbour. Find him in his hideout in the Green Claw Swamp and get rid of him.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.AVINMission04) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission04) == 2 then npcHandler:say("Do you have news to make old Uncle happy?", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.SecretService.AVINMission04) == 3 and player:getStorageValue(Storage.SecretService.Quest) == 9 then - player:setStorageValue(Storage.SecretService.Quest, 10) - player:setStorageValue(Storage.SecretService.AVINMission05, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission04) == 3 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 9 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 10) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission05, 1) npcHandler:say("I need you to locate a lost ring on the Isle of the Kings for me, get back to me once you have it.", npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.AVINMission05) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission05) == 1 then npcHandler:say("Do you have news to make old Uncle happy?", npc, creature) npcHandler:setTopic(playerId, 6) - elseif player:getStorageValue(Storage.SecretService.AVINMission05) == 2 and player:getStorageValue(Storage.SecretService.Quest) == 11 then - player:setStorageValue(Storage.SecretService.Quest, 12) - player:setStorageValue(Storage.SecretService.AVINMission06, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission05) == 2 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 11 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 12) + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission06, 1) player:addItem(405, 1) npcHandler:say({ "We try to establish new trade agreements with various potential customers. Sometimes we have to offer some presents in advance to ensure that trade is prospering and flourishing. It will be your task to deliver one of those little presents ...", @@ -197,19 +197,19 @@ local function creatureSayCallback(npc, creature, type, message) "Unfortunately, most of them will attack you on sight. It will probably take some time until you find somebody that is willing to talk to you and to accept the weapons.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.AVINMission06) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission06) == 2 then npcHandler:say("Do you have news to make old Uncle happy?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.SecretService.AVINMission06) == 3 and player:getStorageValue(Storage.SecretService.Quest) == 13 then - player:setStorageValue(Storage.SecretService.Quest, 14) - player:setStorageValue(Storage.SecretService.Mission07, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission06) == 3 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) == 13 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.Quest, 14) + player:setStorageValue(Storage.Quest.U8_1.SecretService.Mission07, 1) npcHandler:say({ "Some dwarven criminal called Blowbeard dares to blackmail our city. He threatens to destroy the whole city and demands an insane amount of gold ...", "Of course we are not willing to give him a single gold coin. It will be your job to get rid of this problem. Go and kill this infamous dwarf ...", "His laboratory is near the technomancer hall. Bring me his beard as proof of his demise.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SecretService.AVINMission06) == 3 and player:getStorageValue(Storage.SecretService.Mission07) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission06) == 3 and player:getStorageValue(Storage.Quest.U8_1.SecretService.Mission07) == 1 then npcHandler:say("Do you have news to make old Uncle happy?", npc, creature) npcHandler:setTopic(playerId, 8) end diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua index dfb664777a3..51548ba437e 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua @@ -181,7 +181,7 @@ local config = { items = { { itemId = 652 }, }, - storage = Storage.SecretService.RottenTree, + storage = Storage.Quest.U8_1.SecretService.RottenTree, }, [50032] = { items = { diff --git a/data-otservbr-global/scripts/actions/quests/others/fire_bug.lua b/data-otservbr-global/scripts/actions/quests/others/fire_bug.lua index e75bebf26bd..89953755ef1 100644 --- a/data-otservbr-global/scripts/actions/quests/others/fire_bug.lua +++ b/data-otservbr-global/scripts/actions/quests/others/fire_bug.lua @@ -92,9 +92,9 @@ function othersFireBug.onUse(player, item, fromPosition, target, toPosition, isH target:transform(2113) return true elseif target.actionid == 12550 or target.actionid == 12551 then -- Secret Service Quest - if player:getStorageValue(Storage.SecretService.TBIMission01) == 1 then + if player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission01) == 1 then Game.createItem(2118, 1, Position(32893, 32012, 6)) - player:setStorageValue(Storage.SecretService.TBIMission01, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission01, 2) end end return true diff --git a/data-otservbr-global/scripts/actions/quests/secret_service/amazon_disguise_kit.lua b/data-otservbr-global/scripts/quests/secret_service/actions_amazon_disguise_kit.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/secret_service/amazon_disguise_kit.lua rename to data-otservbr-global/scripts/quests/secret_service/actions_amazon_disguise_kit.lua diff --git a/data-otservbr-global/scripts/actions/quests/secret_service/lever.lua b/data-otservbr-global/scripts/quests/secret_service/actions_lever.lua similarity index 99% rename from data-otservbr-global/scripts/actions/quests/secret_service/lever.lua rename to data-otservbr-global/scripts/quests/secret_service/actions_lever.lua index 49788978fa5..46e09c90490 100644 --- a/data-otservbr-global/scripts/actions/quests/secret_service/lever.lua +++ b/data-otservbr-global/scripts/quests/secret_service/actions_lever.lua @@ -21,6 +21,7 @@ local monsters = { } local secretServiceLever = Action() + function secretServiceLever.onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.itemid == 2772 then for i = 1, #monsters do diff --git a/data-otservbr-global/scripts/actions/quests/secret_service/ring.lua b/data-otservbr-global/scripts/quests/secret_service/actions_ring.lua similarity index 68% rename from data-otservbr-global/scripts/actions/quests/secret_service/ring.lua rename to data-otservbr-global/scripts/quests/secret_service/actions_ring.lua index 60c10a9a4f2..cb980d99b58 100644 --- a/data-otservbr-global/scripts/actions/quests/secret_service/ring.lua +++ b/data-otservbr-global/scripts/quests/secret_service/actions_ring.lua @@ -4,8 +4,8 @@ function secretServiceRing.onUse(player, item, fromPosition, target, toPosition, return false end - if player:getStorageValue(Storage.SecretService.TBIMission05) == 1 then - player:setStorageValue(Storage.SecretService.TBIMission05, 2) + if player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission05) == 1 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission05, 2) item:remove() player:say("You have placed the false evidence!", TALKTYPE_MONSTER_SAY) end diff --git a/data-otservbr-global/scripts/actions/quests/secret_service/rust_bugs.lua b/data-otservbr-global/scripts/quests/secret_service/actions_rust_bugs.lua similarity index 72% rename from data-otservbr-global/scripts/actions/quests/secret_service/rust_bugs.lua rename to data-otservbr-global/scripts/quests/secret_service/actions_rust_bugs.lua index 94467c6f844..c5d78ca6908 100644 --- a/data-otservbr-global/scripts/actions/quests/secret_service/rust_bugs.lua +++ b/data-otservbr-global/scripts/quests/secret_service/actions_rust_bugs.lua @@ -4,8 +4,8 @@ function secretServiceBugs.onUse(player, item, fromPosition, target, toPosition, return false end - if player:getStorageValue(Storage.SecretService.CGBMission03) == 1 then - player:setStorageValue(Storage.SecretService.CGBMission03, 2) + if player:getStorageValue(Storage.Quest.U8_1.SecretService.CGBMission03) == 1 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.CGBMission03, 2) item:remove() for i = 32909, 32912 do Game.createItem(1069, 1, Position(i, 32112, 7)) diff --git a/data-otservbr-global/scripts/actions/quests/secret_service/tools.lua b/data-otservbr-global/scripts/quests/secret_service/actions_tools.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/secret_service/tools.lua rename to data-otservbr-global/scripts/quests/secret_service/actions_tools.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/secret_service/black_knight_kill.lua b/data-otservbr-global/scripts/quests/secret_service/creaturescripts_black_knight_kill.lua similarity index 57% rename from data-otservbr-global/scripts/creaturescripts/quests/secret_service/black_knight_kill.lua rename to data-otservbr-global/scripts/quests/secret_service/creaturescripts_black_knight_kill.lua index d63dac6a194..d2a83b3dc32 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/secret_service/black_knight_kill.lua +++ b/data-otservbr-global/scripts/quests/secret_service/creaturescripts_black_knight_kill.lua @@ -1,10 +1,12 @@ local blackKnightKill = CreatureEvent("BlackKnightDeath") + function blackKnightKill.onDeath(creature) onDeathForDamagingPlayers(creature, function(creature, player) - if player:getStorageValue(Storage.SecretService.AVINMission04) == 1 then - player:setStorageValue(Storage.SecretService.AVINMission04, 2) + if player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission04) == 1 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission04, 2) end end) + return true end diff --git a/data-otservbr-global/scripts/movements/quests/secret_service/amazon.lua b/data-otservbr-global/scripts/quests/secret_service/movements_amazon.lua similarity index 73% rename from data-otservbr-global/scripts/movements/quests/secret_service/amazon.lua rename to data-otservbr-global/scripts/quests/secret_service/movements_amazon.lua index 482ed19b66d..f48ed74c9f8 100644 --- a/data-otservbr-global/scripts/movements/quests/secret_service/amazon.lua +++ b/data-otservbr-global/scripts/quests/secret_service/movements_amazon.lua @@ -6,8 +6,8 @@ function amazon.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.SecretService.AVINMission03) == 1 then - player:setStorageValue(Storage.SecretService.AVINMission03, 2) + if player:getStorageValue(Storage.Quest.U8_1.SecretService.AVINMission03) == 1 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.AVINMission03, 2) Game.createMonster("amazon", Position(32326, 31803, 8)) Game.createMonster("amazon", Position(32330, 31803, 8)) end diff --git a/data-otservbr-global/scripts/movements/quests/secret_service/pirate.lua b/data-otservbr-global/scripts/quests/secret_service/movements_pirate.lua similarity index 70% rename from data-otservbr-global/scripts/movements/quests/secret_service/pirate.lua rename to data-otservbr-global/scripts/quests/secret_service/movements_pirate.lua index 382fe985f3e..9ecf6eac7ea 100644 --- a/data-otservbr-global/scripts/movements/quests/secret_service/pirate.lua +++ b/data-otservbr-global/scripts/quests/secret_service/movements_pirate.lua @@ -6,8 +6,8 @@ function pirate.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.SecretService.TBIMission03) == 1 then - player:setStorageValue(Storage.SecretService.TBIMission03, 2) + if player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission03) == 1 then + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission03, 2) Game.createMonster("pirate buccaneer", Position(32641, 32733, 7)) Game.createMonster("pirate buccaneer", Position(32642, 32733, 7)) end diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index b487e514548..8306a1d87a7 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1228,6 +1228,77 @@ ChestUnique = { weight = 10.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessGold, }, + -- Secret Service Quest + [6170] = { + itemId = 2433, + itemPos = { x = 32311, y = 32177, z = 5 }, + reward = { { 403, 1 } }, + weight = 13.00, + storage = Storage.Quest.U8_1.SecretService.AHX17L89, + }, + [6171] = { + itemId = 1983, + itemPos = { x = 32156, y = 31954, z = 13 }, + reward = { { 406, 1 } }, + weight = 0.80, + storage = Storage.Quest.U8_1.SecretService.FamilySignetRing, + }, + [6172] = { + itemId = 2433, + itemPos = { x = 33271, y = 31839, z = 3 }, + reward = { { 648, 1 } }, + weight = 58.00, + storage = Storage.Quest.U8_1.SecretService.MagicSpellbook, + }, + [6173] = { + itemId = 2473, + itemPos = { x = 32907, y = 32012, z = 6 }, + reward = { { 399, 1 } }, + weight = 1.00, + storage = Storage.Quest.U8_1.SecretService.BuildingPlans, + }, + [6174] = { + itemId = 2433, + itemPos = { x = 32598, y = 32380, z = 10 }, + reward = { { 400, 1 } }, + weight = 1.50, + storage = Storage.Quest.U8_1.SecretService.SuspiciousDocuments, + }, + [6175] = { + itemId = 2473, + itemPos = { x = 32180, y = 31930, z = 11 }, + reward = { { 401, 1 } }, + weight = 13.00, + storage = Storage.Quest.U8_1.SecretService.Book, + }, + [6176] = { + itemId = 3634, + itemPos = { x = 32876, y = 31958, z = 11 }, + reward = { { 652, 1 } }, + weight = 45.00, + storage = Storage.Quest.U8_1.SecretService.RottenHeartOfTree, + }, + [6177] = { + itemId = 2469, + itemPos = { x = 32872, y = 31958, z = 11 }, + reward = { { 5956, 1 } }, + weight = 1.20, + storage = Storage.Quest.U8_1.SecretService.LotteryTicket, + }, + [6178] = { + itemId = 2472, + itemPos = { x = 32643, y = 32733, z = 7 }, + reward = { { 5952, 1 } }, + weight = 1.20, + storage = Storage.Quest.U8_1.SecretService.PoemScroll, + }, + [6179] = { + itemId = 4240, + itemPos = { x = 32773, y = 31582, z = 11 }, + reward = { { 348, 1 } }, + weight = 1.20, + storage = Storage.Quest.U8_1.SecretService.IntelligenceReports, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index c35bba51a2d..1db118539b0 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -539,43 +539,43 @@ QuestDoorAction = { itemPos = { { x = 32367, y = 31782, z = 8 } }, }, -- Secret service door - [Storage.SecretService.CGBMission01] = { + [Storage.Quest.U8_1.SecretService.CGBMission01] = { itemId = false, itemPos = { { x = 33270, y = 31839, z = 3 } }, }, - [Storage.SecretService.TBIMission02] = { + [Storage.Quest.U8_1.SecretService.TBIMission02] = { itemId = false, itemPos = { { x = 32872, y = 31957, z = 11 } }, }, - [Storage.SecretService.AVINMission02] = { + [Storage.Quest.U8_1.SecretService.AVINMission02] = { itemId = false, itemPos = { { x = 32310, y = 32178, z = 5 } }, }, - [Storage.SecretService.CGBMission02] = { + [Storage.Quest.U8_1.SecretService.CGBMission02] = { itemId = false, itemPos = { { x = 32876, y = 31957, z = 11 } }, }, - [Storage.SecretService.TBIMission03] = { + [Storage.Quest.U8_1.SecretService.TBIMission03] = { itemId = false, itemPos = { { x = 32639, y = 32735, z = 7 } }, }, - [Storage.SecretService.TBIMission04] = { + [Storage.Quest.U8_1.SecretService.TBIMission04] = { itemId = false, itemPos = { { x = 32772, y = 31582, z = 11 } }, }, - [Storage.SecretService.CGBMission04] = { + [Storage.Quest.U8_1.SecretService.CGBMission04] = { itemId = false, itemPos = { { x = 32906, y = 32013, z = 6 } }, }, - [Storage.SecretService.AVINMission05] = { + [Storage.Quest.U8_1.SecretService.AVINMission05] = { itemId = false, itemPos = { { x = 32156, y = 31951, z = 13 } }, }, - [Storage.SecretService.CGBMission05] = { + [Storage.Quest.U8_1.SecretService.CGBMission05] = { itemId = false, itemPos = { { x = 32599, y = 32380, z = 10 } }, }, - [Storage.SecretService.Mission07] = { + [Storage.Quest.U8_1.SecretService.Mission07] = { itemId = false, itemPos = { { x = 32537, y = 31897, z = 13 } }, }, @@ -739,7 +739,7 @@ QuestDoorAction = { itemId = 1644, itemPos = { { x = 33001, y = 32047, z = 12 } }, }, - [Storage.SecretService.CGBMission06] = { + [Storage.Quest.U8_1.SecretService.CGBMission06] = { itemId = 6260, itemPos = { { x = 32180, y = 31933, z = 11 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 5dfb94c4787..c454cdac2ac 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -77,6 +77,23 @@ ItemAction = { itemId = 1979, itemPos = { { x = 33217, y = 31661, z = 7 } }, }, + -- Secret Service + [12550] = { + itemId = 16622, + itemPos = { { x = 32893, y = 32013, z = 6 } }, + }, + [12551] = { + itemId = 16485, + itemPos = { { x = 32894, y = 32013, z = 6 } }, + }, + [12563] = { + itemId = 6967, + itemPos = { { x = 32020, y = 31439, z = 1 } }, + }, + [12566] = { + itemId = 2525, + itemPos = { { x = 32205, y = 31153, z = 8 } }, + }, -- The cursed crystal skeletons [40001] = { itemId = 27490, diff --git a/data-otservbr-global/startup/tables/lever.lua b/data-otservbr-global/startup/tables/lever.lua index 8d5b107259e..dfd232234cf 100644 --- a/data-otservbr-global/startup/tables/lever.lua +++ b/data-otservbr-global/startup/tables/lever.lua @@ -1,6 +1,13 @@ -- Look README.md for see the reserved action/unique numbers LeverAction = { + -- Secret Service + [12574] = { + itemId = 2772, + itemPos = { + { x = 32576, y = 31862, z = 14 }, + }, + }, -- Dawnport bridge lever -- Path: data\scripts\actions\dawnport\lever.lua [30001] = { diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index 25d23f1926d..8820e751c55 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -955,12 +955,12 @@ function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) addEvent(revertCask, 3 * 60 * 1000, toPosition) end end - elseif target.actionid == 12566 and player:getStorageValue(Storage.SecretService.TBIMission06) == 1 then + elseif target.actionid == 12566 and player:getStorageValue(Storage.Quest.U8_1.SecretService.TBIMission06) == 1 then -- Secret service quest local yellPosition = Position(32204, 31157, 8) -- Amazon lookType if player:getOutfit().lookType == 137 then - player:setStorageValue(Storage.SecretService.TBIMission06, 2) + player:setStorageValue(Storage.Quest.U8_1.SecretService.TBIMission06, 2) Game.createMonster("barbarian skullhunter", yellPosition) player:say("Nooooo! What have you done??", TALKTYPE_MONSTER_SAY, false, 0, yellPosition) yellPosition.y = yellPosition.y - 1 From c55cef92f84cb41fa241e7e30163898915572b7d Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 24 Jul 2024 18:45:15 +0000 Subject: [PATCH 022/112] Lua code format - (Stylua) --- data-otservbr-global/npc/emma.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/data-otservbr-global/npc/emma.lua b/data-otservbr-global/npc/emma.lua index 9ebb218bd97..d958a81f7c8 100644 --- a/data-otservbr-global/npc/emma.lua +++ b/data-otservbr-global/npc/emma.lua @@ -135,7 +135,11 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "join") then if player:getStorageValue(Storage.Quest.U8_1.SecretService.Quest) < 1 then if player:getSex() == PLAYERSEX_FEMALE then - npcHandler:say("The girls brigade is the foremost front on which we fight the numerous enemies of our city ... It's a constant race to stay ahead of our enemies. Absolute loyalty and the willingness to put ones life at stake are attributes that are vital for this brigade ... If you join, you dedicate your service to Carlin alone! Do you truly think that you are girl enough to join the brigade?", npc, creature) + npcHandler:say( + "The girls brigade is the foremost front on which we fight the numerous enemies of our city ... It's a constant race to stay ahead of our enemies. Absolute loyalty and the willingness to put ones life at stake are attributes that are vital for this brigade ... If you join, you dedicate your service to Carlin alone! Do you truly think that you are girl enough to join the brigade?", + npc, + creature + ) else npcHandler:say("A man in the girls brigade? Come on this is hilarious, this is outright stupid, this is ... exactly what no one would expect. Mhm, on second thought the element of surprise might offset your male inferiority.", npc, creature) end From 8214b6bc2cb4d87b20ac13e8de9c9c7cf1c5fd9d Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:48:18 -0300 Subject: [PATCH 023/112] More --- data-otservbr-global/lib/core/storages.lua | 67 +++++++++++----------- 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index b70553e9335..6d0144b1e5f 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2038,41 +2038,40 @@ Storage = { KosheiAmuletPart4 = 41358, }, SecretService = { - Quest = 51420, - TBIMission01 = 51421, - AVINMission01 = 51422, - CGBMission01 = 51423, - TBIMission02 = 51424, - AVINMission02 = 51425, - CGBMission02 = 51426, - TBIMission03 = 51427, - AVINMission03 = 51428, - CGBMission03 = 51429, - TBIMission04 = 51430, - AVINMission04 = 51431, - CGBMission04 = 51432, - TBIMission05 = 51433, - AVINMission05 = 51434, - CGBMission05 = 51435, - TBIMission06 = 51436, - AVINMission06 = 51437, - CGBMission06 = 51438, - Mission07 = 51439, - RottenTree = 51440, - AHX17L89 = 51441, - FamilySignetRing = 51442, - MagicSpellbook = 51443, - BuildingPlans = 51444, - SuspiciousDocuments = 51445, - Book = 51446, - RottenHeartOfTree = 51447, - LotteryTicket = 51448, - PoemScroll = 51449, - IntelligenceReports = 51450, - }, - StealFromThieves = {}, + Quest = 41359, + TBIMission01 = 41360, + AVINMission01 = 41361, + CGBMission01 = 41362, + TBIMission02 = 41363, + AVINMission02 = 41364, + CGBMission02 = 41365, + TBIMission03 = 41366, + AVINMission03 = 41367, + CGBMission03 = 41368, + TBIMission04 = 41369, + AVINMission04 = 41370, + CGBMission04 = 41371, + TBIMission05 = 41372, + AVINMission05 = 41373, + CGBMission05 = 41374, + TBIMission06 = 41375, + AVINMission06 = 41376, + CGBMission06 = 41377, + Mission07 = 41378, + RottenTree = 41379, + AHX17L89 = 41380, + FamilySignetRing = 41381, + MagicSpellbook = 41382, + BuildingPlans = 41383, + SuspiciousDocuments = 41384, + Book = 41385, + RottenHeartOfTree = 41386, + LotteryTicket = 41387, + PoemScroll = 41388, + IntelligenceReports = 41389, + }, StrongPotions = { - Reward = 10043, + Reward = 41390, }, TheExterminator = {}, TheTravellingTrader = {}, From b66ea958b80182906e49dd4f4377177453bba702 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 17:22:37 -0300 Subject: [PATCH 024/112] -- The Exterminator Quest --- .../actions/quests/tibia_tales/exterminator_flask.lua | 1 + data-otservbr-global/startup/tables/item.lua | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/data-otservbr-global/scripts/actions/quests/tibia_tales/exterminator_flask.lua b/data-otservbr-global/scripts/actions/quests/tibia_tales/exterminator_flask.lua index 448c7a17b71..be6914b83d8 100644 --- a/data-otservbr-global/scripts/actions/quests/tibia_tales/exterminator_flask.lua +++ b/data-otservbr-global/scripts/actions/quests/tibia_tales/exterminator_flask.lua @@ -1,4 +1,5 @@ local exterminatorFlask = Action() + function exterminatorFlask.onUse(player, item, fromPosition, target, toPosition, isHotkey) if target.actionid ~= 4207 then return false diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index c454cdac2ac..145b1318706 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -12,6 +12,14 @@ ItemAction = { itemId = 103, itemPos = { { x = 32408, y = 32107, z = 10 } }, }, + -- The Exterminator Quest + [4207] = { + itemId = 622, + itemPos = { + { x = 32306, y = 31821, z = 9 } + { x = 32306, y = 31822, z = 9 } + }, + }, -- Rest in Hallowed Ground Quest [4208] = { itemId = 1979, From 96acf0a347bbc5d4f7c3886c237a650dbfcf21e6 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 17:27:16 -0300 Subject: [PATCH 025/112] The Exterminator Quest - fix --- data-otservbr-global/startup/tables/item.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 145b1318706..c99f943d785 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -16,8 +16,8 @@ ItemAction = { [4207] = { itemId = 622, itemPos = { - { x = 32306, y = 31821, z = 9 } - { x = 32306, y = 31822, z = 9 } + { x = 32306, y = 31821, z = 9 }, + { x = 32306, y = 31822, z = 9 }, }, }, -- Rest in Hallowed Ground Quest From 322b1a45dac42565e02199b31d713637e200432f Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:09:12 -0300 Subject: [PATCH 026/112] The Travelling Trader Quest --- data-otservbr-global/lib/core/quests.lua | 16 +++--- data-otservbr-global/lib/core/storages.lua | 22 +++---- data-otservbr-global/npc/briasol.lua | 4 +- data-otservbr-global/npc/miraia.lua | 6 +- data-otservbr-global/npc/rashid.lua | 57 +++++++++---------- data-otservbr-global/npc/rashid_custom.lua | 54 +++++++++--------- data-otservbr-global/npc/snake_eye.lua | 4 +- data-otservbr-global/npc/uzgod.lua | 4 +- data-otservbr-global/npc/willard.lua | 4 +- .../actions/other/others/quest_system2.lua | 2 +- .../outlaw_camp_door.lua | 2 +- .../creaturescripts/customs/freequests.lua | 16 +++--- data-otservbr-global/startup/tables/item.lua | 5 ++ 13 files changed, 98 insertions(+), 98 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 8e939e71d6f..aedb9e7c58e 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -3979,12 +3979,12 @@ if not Quests then }, [27] = { name = "The Travelling Trader Quest", - startStorageId = Storage.TravellingTrader.Mission01, + startStorageId = Storage.Quest.U8_1.TheTravellingTrader.Mission01, startStorageValue = 1, missions = { [1] = { name = "Mission 1: Trophy", - storageId = Storage.TravellingTrader.Mission01, + storageId = Storage.Quest.U8_1.TheTravellingTrader.Mission01, missionId = 10288, startValue = 1, endValue = 2, @@ -3996,7 +3996,7 @@ if not Quests then }, [2] = { name = "Mission 2: Delivery", - storageId = Storage.TravellingTrader.Mission02, + storageId = Storage.Quest.U8_1.TheTravellingTrader.Mission02, missionId = 10289, startValue = 1, endValue = 5, @@ -4011,7 +4011,7 @@ if not Quests then }, [3] = { name = "Mission 3: Cheese", - storageId = Storage.TravellingTrader.Mission03, + storageId = Storage.Quest.U8_1.TheTravellingTrader.Mission03, missionId = 10290, startValue = 1, endValue = 3, @@ -4024,7 +4024,7 @@ if not Quests then }, [4] = { name = "Mission 4: Vase", - storageId = Storage.TravellingTrader.Mission04, + storageId = Storage.Quest.U8_1.TheTravellingTrader.Mission04, missionId = 10291, startValue = 1, endValue = 3, @@ -4038,7 +4038,7 @@ if not Quests then }, [5] = { name = "Mission 5: Make a deal", - storageId = Storage.TravellingTrader.Mission05, + storageId = Storage.Quest.U8_1.TheTravellingTrader.Mission05, missionId = 10292, startValue = 1, endValue = 3, @@ -4051,7 +4051,7 @@ if not Quests then }, [6] = { name = "Mission 6: Goldfish", - storageId = Storage.TravellingTrader.Mission06, + storageId = Storage.Quest.U8_1.TheTravellingTrader.Mission06, missionId = 10293, startValue = 1, endValue = 2, @@ -4062,7 +4062,7 @@ if not Quests then }, [7] = { name = "Mission 7: Declare", - storageId = Storage.TravellingTrader.Mission07, + storageId = Storage.Quest.U8_1.TheTravellingTrader.Mission07, missionId = 10294, startValue = 1, endValue = 1, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 6d0144b1e5f..328e9f8e5bd 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -561,17 +561,6 @@ Storage = { SpectralStoneDoor = 50560, IceMusicDoor = 50561, }, - TravellingTrader = { - -- Reserved storage from 50600 - 50619 - Mission01 = 50600, - Mission02 = 50601, - Mission03 = 50602, - Mission04 = 50603, - Mission05 = 50604, - Mission06 = 50605, - Mission07 = 50606, - -- unused packageDoor = 50607 - }, DjinnWar = { -- Reserved storage from 50620 - 50649 Faction = { @@ -2073,8 +2062,15 @@ Storage = { StrongPotions = { Reward = 41390, }, - TheExterminator = {}, - TheTravellingTrader = {}, + TheTravellingTrader = { + Mission01 = 41391, + Mission02 = 41392, + Mission03 = 41393, + Mission04 = 41394, + Mission05 = 41395, + Mission06 = 41396, + Mission07 = 41397, + }, TheUltimateBooze = {}, ToAppeaseTheMighty = {}, ToBlindTheEnemy = {}, diff --git a/data-otservbr-global/npc/briasol.lua b/data-otservbr-global/npc/briasol.lua index 38dcd074159..78eef134bbf 100644 --- a/data-otservbr-global/npc/briasol.lua +++ b/data-otservbr-global/npc/briasol.lua @@ -64,7 +64,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "fine vase") then - if player:getStorageValue(Storage.TravellingTrader.Mission04) == 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04) == 1 then npcHandler:say({ "Rashid sent you, I suppose. Before I sell you that vase, one word of advice. ...", "Make room in your backpack so that I can place the vase carefully inside it. If it falls to the floor, it will most likely shatter or break if you try to pick it up again. ...", @@ -76,7 +76,7 @@ local function creatureSayCallback(npc, creature, type, message) if npcHandler:getTopic(playerId) == 1 then if player:getMoney() + player:getBankBalance() >= 1000 then npcHandler:say("Here it is.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission04, 2) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04, 2) player:addItem(227, 1) player:removeMoneyBank(1000) else diff --git a/data-otservbr-global/npc/miraia.lua b/data-otservbr-global/npc/miraia.lua index 00101154766..bb0651110ea 100644 --- a/data-otservbr-global/npc/miraia.lua +++ b/data-otservbr-global/npc/miraia.lua @@ -123,9 +123,9 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say(config[message].text[2], npc, creature) end elseif MsgContains(message, "scarab cheese") then - if player:getStorageValue(Storage.TravellingTrader.Mission03) == 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03) == 1 then npcHandler:say("Let me cover my nose before I get this for you... Would you REALLY like to buy scarab cheese for 100 gold?", npc, creature) - elseif player:getStorageValue(Storage.TravellingTrader.Mission03) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03) == 2 then npcHandler:say("Oh the last cheese molded? Would you like to buy another one for 100 gold?", npc, creature) end npcHandler:setTopic(playerId, 4) @@ -164,7 +164,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 4 then if player:getMoney() + player:getBankBalance() >= 100 then - player:setStorageValue(Storage.TravellingTrader.Mission03, 2) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03, 2) player:addItem(169, 1) player:removeMoneyBank(100) npcHandler:say("Here it is.", npc, creature) diff --git a/data-otservbr-global/npc/rashid.lua b/data-otservbr-global/npc/rashid.lua index 7c719f0c655..4fda8a6c788 100644 --- a/data-otservbr-global/npc/rashid.lua +++ b/data-otservbr-global/npc/rashid.lua @@ -60,57 +60,57 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "mission") then if os.date("%A") == "Monday" then - if player:getStorageValue(Storage.TravellingTrader.Mission01) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01) < 1 then npcHandler:say("Well, you could attempt the mission to become a recognised trader, but it requires a lot of travelling. Are you willing to try?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.TravellingTrader.Mission01) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01) == 1 then npcHandler:say("Have you managed to obtain a rare deer trophy for my customer?", npc, creature) npcHandler:setTopic(playerId, 3) end elseif os.date("%A") == "Tuesday" then - if player:getStorageValue(Storage.TravellingTrader.Mission01) == 2 and player:getStorageValue(Storage.TravellingTrader.Mission02) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01) == 2 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.TravellingTrader.Mission02) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) == 4 then npcHandler:say("Did you bring me the package?", npc, creature) npcHandler:setTopic(playerId, 6) end elseif os.date("%A") == "Wednesday" then - if player:getStorageValue(Storage.TravellingTrader.Mission02) == 5 and player:getStorageValue(Storage.TravellingTrader.Mission03) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) == 5 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.TravellingTrader.Mission03) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03) == 2 then npcHandler:say("Have you brought the cheese?", npc, creature) npcHandler:setTopic(playerId, 9) end elseif os.date("%A") == "Thursday" then - if player:getStorageValue(Storage.TravellingTrader.Mission03) == 3 and player:getStorageValue(Storage.TravellingTrader.Mission04) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03) == 3 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 10) - elseif player:getStorageValue(Storage.TravellingTrader.Mission04) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04) == 2 then npcHandler:say("Have you brought the vase?", npc, creature) npcHandler:setTopic(playerId, 12) end elseif os.date("%A") == "Friday" then - if player:getStorageValue(Storage.TravellingTrader.Mission04) == 3 and player:getStorageValue(Storage.TravellingTrader.Mission05) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04) == 3 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 13) - elseif player:getStorageValue(Storage.TravellingTrader.Mission05) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05) == 2 then npcHandler:say("Have you brought a cheap but good crimson sword?", npc, creature) npcHandler:setTopic(playerId, 15) end elseif os.date("%A") == "Saturday" then - if player:getStorageValue(Storage.TravellingTrader.Mission05) == 3 and player:getStorageValue(Storage.TravellingTrader.Mission06) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05) == 3 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 16) - elseif player:getStorageValue(Storage.TravellingTrader.Mission06) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06) == 1 then npcHandler:say("Have you brought me a gold fish??", npc, creature) npcHandler:setTopic(playerId, 18) end elseif os.date("%A") == "Sunday" then - if player:getStorageValue(Storage.TravellingTrader.Mission06) == 2 and player:getStorageValue(Storage.TravellingTrader.Mission07) ~= 1 then - npcHandler:say("Ah, right. I hereby declare you - one of my recognised traders! Feel free to offer me your wares!", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission07, 1) + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06) == 2 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission07) ~= 1 then + npcHandler:say("Ah, right. I hereby declare you - one of my recognised traders! Feel free to offer me your wares, just ask me for a {trade}!", npc, creature) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission07, 1) player:addAchievement("Recognised Trader") npcHandler:setTopic(playerId, 0) end @@ -128,12 +128,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 2) elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say("Fine. Then get a hold of that deer trophy and bring it to me while I'm in Svargrond. Just ask me about your mission.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission01, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(7397, 1) then npcHandler:say("Well done! I'll take that from you. Come see me another day, I'll be busy for a while now. ", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission01, 2) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01, 2) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 4 then @@ -145,12 +145,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 5) elseif npcHandler:getTopic(playerId) == 5 then npcHandler:say("Fine. Then off you go, just ask Willard about the 'package for Rashid'.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission02, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then if player:removeItem(145, 1) then npcHandler:say("Great. Just place it over there - yes, thanks, that's it. Come see me another day, I'll be busy for a while now. ", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission02, 5) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02, 5) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 7 then @@ -164,12 +164,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 8) elseif npcHandler:getTopic(playerId) == 8 then npcHandler:say("Okay, then please find Miraia in Darashia and ask her about the {'scarab cheese'}.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission03, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 9 then if player:removeItem(169, 1) then npcHandler:say("Mmmhh, the lovely odeur of scarab cheese! I really can't understand why most people can't stand it. Thanks, well done! ", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission03, 3) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03, 3) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 10 then @@ -181,13 +181,13 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 11) elseif npcHandler:getTopic(playerId) == 11 then npcHandler:say("Okay, then please find {Briasol} in {Ab'Dendriel} and ask for a {'fine vase'}.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission04, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04, 1) player:addMoney(1000) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 12 then if player:removeItem(227, 1) then npcHandler:say("I'm surprised that you managed to bring this vase without a single crack. That was what I needed to know, thank you. ", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission04, 3) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04, 3) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 13 then @@ -197,17 +197,16 @@ local function creatureSayCallback(npc, creature, type, message) "Dwarves are said to be the most stubborn of all traders. Travel to {Kazordoon} and try to get the smith {Uzgod} to sell a {crimson sword} to you. ...", "Of course, it has to be cheap. Don't come back with anything more expensive than 400 gold. ...", "And the quality must not suffer, of course! Everything clear and understood?", - "Dwarves are said to be the most stubborn of all traders. Travel to Kazordoon and try to get the smith Uzgod to sell a crimson sword to you. ...", }, npc, creature) npcHandler:setTopic(playerId, 14) elseif npcHandler:getTopic(playerId) == 14 then npcHandler:say("Okay, I'm curious how you will do with {Uzgod}. Good luck!", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission05, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 15 then if player:removeItem(7385, 1) then npcHandler:say("Ha! You are clever indeed, well done! I'll take this from you. Come see me tomorrow, I think we two might get into business after all.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission05, 3) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05, 3) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 16 then @@ -220,12 +219,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 17) elseif npcHandler:getTopic(playerId) == 17 then npcHandler:say("Thanks so much! I'll be waiting eagerly for your return then.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission06, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 18 then if player:removeItem(5929, 1) then npcHandler:say("Thank you!! Ah, this makes my day! I'll take the rest of the day off to get to know this little guy. Come see me tomorrow, if you like.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission06, 2) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06, 2) npcHandler:setTopic(playerId, 0) end end @@ -262,7 +261,7 @@ npcHandler:setMessage(MESSAGE_WALKAWAY, "Come back soon!") npcHandler:setMessage(MESSAGE_SENDTRADE, "Take all the time you need to decide what you want!") local function onTradeRequest(npc, creature) - if Player(creature):getStorageValue(Storage.TravellingTrader.Mission07) ~= 1 then + if Player(creature):getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission07) ~= 1 then npcHandler:say("Sorry, but you do not belong to my exclusive customers. I have to make sure that I can trust in the quality of your wares.", npc, creature) return false end diff --git a/data-otservbr-global/npc/rashid_custom.lua b/data-otservbr-global/npc/rashid_custom.lua index 421427ee795..46b2f35abad 100644 --- a/data-otservbr-global/npc/rashid_custom.lua +++ b/data-otservbr-global/npc/rashid_custom.lua @@ -62,57 +62,57 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "mission") then if os.date("%A") == "Monday" then - if player:getStorageValue(Storage.TravellingTrader.Mission01) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01) < 1 then npcHandler:say("Well, you could attempt the mission to become a recognised trader, but it requires a lot of travelling. Are you willing to try?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.TravellingTrader.Mission01) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01) == 1 then npcHandler:say("Have you managed to obtain a rare deer trophy for my customer?", npc, creature) npcHandler:setTopic(playerId, 3) end elseif os.date("%A") == "Tuesday" then - if player:getStorageValue(Storage.TravellingTrader.Mission01) == 2 and player:getStorageValue(Storage.TravellingTrader.Mission02) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01) == 2 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.TravellingTrader.Mission02) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) == 4 then npcHandler:say("Did you bring me the package?", npc, creature) npcHandler:setTopic(playerId, 6) end elseif os.date("%A") == "Wednesday" then - if player:getStorageValue(Storage.TravellingTrader.Mission02) == 5 and player:getStorageValue(Storage.TravellingTrader.Mission03) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) == 5 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.TravellingTrader.Mission03) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03) == 2 then npcHandler:say("Have you brought the cheese?", npc, creature) npcHandler:setTopic(playerId, 9) end elseif os.date("%A") == "Thursday" then - if player:getStorageValue(Storage.TravellingTrader.Mission03) == 3 and player:getStorageValue(Storage.TravellingTrader.Mission04) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03) == 3 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 10) - elseif player:getStorageValue(Storage.TravellingTrader.Mission04) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04) == 2 then npcHandler:say("Have you brought the vase?", npc, creature) npcHandler:setTopic(playerId, 12) end elseif os.date("%A") == "Friday" then - if player:getStorageValue(Storage.TravellingTrader.Mission04) == 3 and player:getStorageValue(Storage.TravellingTrader.Mission05) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04) == 3 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 13) - elseif player:getStorageValue(Storage.TravellingTrader.Mission05) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05) == 2 then npcHandler:say("Have you brought a cheap but good crimson sword?", npc, creature) npcHandler:setTopic(playerId, 15) end elseif os.date("%A") == "Saturday" then - if player:getStorageValue(Storage.TravellingTrader.Mission05) == 3 and player:getStorageValue(Storage.TravellingTrader.Mission06) < 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05) == 3 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06) < 1 then npcHandler:say("So, my friend, are you willing to proceed to the next mission to become a recognised trader?", npc, creature) npcHandler:setTopic(playerId, 16) - elseif player:getStorageValue(Storage.TravellingTrader.Mission06) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06) == 1 then npcHandler:say("Have you brought me a gold fish??", npc, creature) npcHandler:setTopic(playerId, 18) end elseif os.date("%A") == "Sunday" then - if player:getStorageValue(Storage.TravellingTrader.Mission06) == 2 and player:getStorageValue(Storage.TravellingTrader.Mission07) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06) == 2 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission07) ~= 1 then npcHandler:say("Ah, right. I hereby declare you - one of my recognised traders! Feel free to offer me your wares!", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission07, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission07, 1) player:addAchievement("Recognised Trader") npcHandler:setTopic(playerId, 0) end @@ -130,12 +130,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 2) elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say("Fine. Then get a hold of that deer trophy and bring it to me while I'm in Svargrond. Just ask me about your mission.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission01, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(7397, 1) then npcHandler:say("Well done! I'll take that from you. Come see me another day, I'll be busy for a while now. ", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission01, 2) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission01, 2) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 4 then @@ -147,12 +147,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 5) elseif npcHandler:getTopic(playerId) == 5 then npcHandler:say("Fine. Then off you go, just ask Willard about the 'package for Rashid'.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission02, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then if player:removeItem(145, 1) then npcHandler:say("Great. Just place it over there - yes, thanks, that's it. Come see me another day, I'll be busy for a while now. ", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission02, 5) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02, 5) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 7 then @@ -166,12 +166,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 8) elseif npcHandler:getTopic(playerId) == 8 then npcHandler:say("Okay, then please find Miraia in Darashia and ask her about the {'scarab cheese'}.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission03, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 9 then if player:removeItem(169, 1) then npcHandler:say("Mmmhh, the lovely odeur of scarab cheese! I really can't understand why most people can't stand it. Thanks, well done! ", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission03, 3) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission03, 3) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 10 then @@ -183,13 +183,13 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 11) elseif npcHandler:getTopic(playerId) == 11 then npcHandler:say("Okay, then please find {Briasol} in {Ab'Dendriel} and ask for a {'fine vase'}.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission04, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04, 1) player:addMoney(1000) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 12 then if player:removeItem(227, 1) then npcHandler:say("I'm surprised that you managed to bring this vase without a single crack. That was what I needed to know, thank you. ", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission04, 3) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission04, 3) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 13 then @@ -204,12 +204,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 14) elseif npcHandler:getTopic(playerId) == 14 then npcHandler:say("Okay, I'm curious how you will do with {Uzgod}. Good luck!", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission05, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 15 then if player:removeItem(7385, 1) then npcHandler:say("Ha! You are clever indeed, well done! I'll take this from you. Come see me tomorrow, I think we two might get into business after all.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission05, 3) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05, 3) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 16 then @@ -222,12 +222,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 17) elseif npcHandler:getTopic(playerId) == 17 then npcHandler:say("Thanks so much! I'll be waiting eagerly for your return then.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission06, 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 18 then if player:removeItem(5929, 1) then npcHandler:say("Thank you!! Ah, this makes my day! I'll take the rest of the day off to get to know this little guy. Come see me tomorrow, if you like.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission06, 2) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission06, 2) npcHandler:setTopic(playerId, 0) end end @@ -264,7 +264,7 @@ npcHandler:setMessage(MESSAGE_WALKAWAY, "Come back soon!") npcHandler:setMessage(MESSAGE_SENDTRADE, "Take all the time you need to decide what you want!") local function onTradeRequest(npc, creature) - if toggleRashidStorage and Player(creature):getStorageValue(Storage.TravellingTrader.Mission07) ~= 1 then + if toggleRashidStorage and Player(creature):getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission07) ~= 1 then npcHandler:say("Sorry, but you do not belong to my exclusive customers. I have to make sure that I can trust in the quality of your wares.", npc, creature) return false end diff --git a/data-otservbr-global/npc/snake_eye.lua b/data-otservbr-global/npc/snake_eye.lua index 4eade5af763..9e59632667d 100644 --- a/data-otservbr-global/npc/snake_eye.lua +++ b/data-otservbr-global/npc/snake_eye.lua @@ -59,9 +59,9 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "package for rashid") then - if player:getStorageValue(Storage.TravellingTrader.Mission02) >= 1 and player:getStorageValue(Storage.TravellingTrader.Mission02) < 3 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) >= 1 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) < 3 then npcHandler:say("So you're the delivery boy? Go ahead, but I warn you, it's quite heavy. You can take it from the box over there.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission02, 3) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02, 3) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "documents") then diff --git a/data-otservbr-global/npc/uzgod.lua b/data-otservbr-global/npc/uzgod.lua index 698ad8ea579..b3afffea699 100644 --- a/data-otservbr-global/npc/uzgod.lua +++ b/data-otservbr-global/npc/uzgod.lua @@ -79,7 +79,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, "crimson sword") then - if player:getStorageValue(Storage.TravellingTrader.Mission05) == 1 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05) == 1 then npcHandler:say("Me don't sell crimson sword.", npc, creature) npcHandler:setTopic(playerId, 5) end @@ -122,7 +122,7 @@ local function creatureSayCallback(npc, creature, type, message) if player:removeMoneyBank(250) and player:removeItem(5880, 3) then npcHandler:say("Ah, that's how me like me customers. Ok, me do this... ... another fine swing of the hammer here and there... ... here you have it!", npc, creature) player:addItem(7385, 1) - player:setStorageValue(Storage.TravellingTrader.Mission05, 2) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission05, 2) npcHandler:setTopic(playerId, 0) end end diff --git a/data-otservbr-global/npc/willard.lua b/data-otservbr-global/npc/willard.lua index f35d20ad231..f6395476ba7 100644 --- a/data-otservbr-global/npc/willard.lua +++ b/data-otservbr-global/npc/willard.lua @@ -65,7 +65,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "package for rashid") then - if player:getStorageValue(Storage.TravellingTrader.Mission02) >= 1 and player:getStorageValue(Storage.TravellingTrader.Mission02) < 3 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) >= 1 and player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) < 3 then npcHandler:say({ "Oooh, damn, I completely forgot about that. I was supposed to pick it up from the Outlaw Camp. ...", "I can't leave my shop here right now, please go and talk to Snake Eye about that package... I promise he won't make any trouble. ...", @@ -76,7 +76,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("Thank you, I appreciate it. Don't forget to mention the package to Snake.", npc, creature) - player:setStorageValue(Storage.TravellingTrader.Mission02, player:getStorageValue(Storage.TravellingTrader.Mission02) + 1) + player:setStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02, player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) + 1) npcHandler:setTopic(playerId, 0) end end diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua index 51548ba437e..4d46deda7c4 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua @@ -33,7 +33,7 @@ local config = { items = { { itemId = 145 }, }, - storage = Storage.TravellingTrader.Mission02, + storage = Storage.Quest.U8_1.TheTravellingTrader.Mission02, formerValue = 3, newValue = 4, }, diff --git a/data-otservbr-global/scripts/actions/quests/the_travelling_trader/outlaw_camp_door.lua b/data-otservbr-global/scripts/actions/quests/the_travelling_trader/outlaw_camp_door.lua index 50f2687748f..9f8acff2bc5 100644 --- a/data-otservbr-global/scripts/actions/quests/the_travelling_trader/outlaw_camp_door.lua +++ b/data-otservbr-global/scripts/actions/quests/the_travelling_trader/outlaw_camp_door.lua @@ -1,6 +1,6 @@ local outlawCamp = Action() function outlawCamp.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.TravellingTrader.Mission02) == 3 then + if player:getStorageValue(Storage.Quest.U8_1.TheTravellingTrader.Mission02) == 3 then if item.itemid == 1642 then player:teleportTo(toPosition, true) item:transform(item.itemid + 1) diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index ec8eb869498..5669ccdd4b1 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -229,14 +229,14 @@ local questTable = { { storage = Storage.ThievesGuild.Mission06, storageValue = 4 }, { storage = Storage.ThievesGuild.Mission07, storageValue = 2 }, { storage = Storage.ThievesGuild.Mission08, storageValue = 1 }, - { storage = Storage.TravellingTrader.Mission01, storageValue = 1 }, - { storage = Storage.TravellingTrader.Mission01, storageValue = 2 }, - { storage = Storage.TravellingTrader.Mission02, storageValue = 5 }, - { storage = Storage.TravellingTrader.Mission03, storageValue = 3 }, - { storage = Storage.TravellingTrader.Mission04, storageValue = 3 }, - { storage = Storage.TravellingTrader.Mission05, storageValue = 3 }, - { storage = Storage.TravellingTrader.Mission06, storageValue = 2 }, - { storage = Storage.TravellingTrader.Mission07, storageValue = 1 }, + { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission01, storageValue = 1 }, + { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission01, storageValue = 2 }, + { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission02, storageValue = 5 }, + { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission03, storageValue = 3 }, + { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission04, storageValue = 3 }, + { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission05, storageValue = 3 }, + { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission06, storageValue = 2 }, + { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission07, storageValue = 1 }, { storage = Storage.Quest.U8_0.BarbarianArena.QuestLogGreenhorn, storageValue = 1 }, { storage = Storage.TibiaTales.DefaultStart, storageValue = 1 }, { storage = Storage.TibiaTales.ToAppeaseTheMightyQuest, storageValue = 1 }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index c99f943d785..96f60676a80 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -7,6 +7,11 @@ ItemAction = { itemId = 2819, itemPos = { { x = 33063, y = 31624, z = 15 } }, }, + -- The Travelling Trader Quest + [1108] = { + itemId = 1642, + itemPos = { { x = 32660, y = 32192, z = 8 } }, + }, -- Into The Bone Pit Quest - ectoplasm container [4205] = { itemId = 103, From ca6d5ffb3081e45891f920d89ed34bc99342edba Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:15:07 -0300 Subject: [PATCH 027/112] Tibia Tales --- data-otservbr-global/lib/core/storages.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 328e9f8e5bd..4d5a124aa69 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2071,7 +2071,6 @@ Storage = { Mission06 = 41396, Mission07 = 41397, }, - TheUltimateBooze = {}, ToAppeaseTheMighty = {}, ToBlindTheEnemy = {}, ToOutfoxAFox = {}, From ebaf5ed858571c4d014bdb26b883e65318615cbb Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:39:40 -0300 Subject: [PATCH 028/112] To Appease the Mighty Quest --- data-otservbr-global/npc/kazzan.lua | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/data-otservbr-global/npc/kazzan.lua b/data-otservbr-global/npc/kazzan.lua index f137e73f43e..f579a81d49b 100644 --- a/data-otservbr-global/npc/kazzan.lua +++ b/data-otservbr-global/npc/kazzan.lua @@ -50,11 +50,6 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end -local function greetCallback(npc, creature) - local playerId = creature:getId() - npcHandler:setTopic(playerId, 0) - return true -end local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() @@ -66,9 +61,7 @@ local function creatureSayCallback(npc, creature, type, message) -- Pegando a quest if MsgContains(message, "mission") and player:getStorageValue(Storage.TibiaTales.ToAppeaseTheMightyQuest) < 1 then if player:getStorageValue(Storage.DjinnWar.Faction.MaridDoor) < 1 and player:getStorageValue(Storage.DjinnWar.Faction.EfreetDoor) < 1 then - npcHandler:say({ - "Do you know the location of the djinn fortresses in the mountains south of here?", - }, npc, creature) + npcHandler:say("Do you know the location of the djinn fortresses in the mountains south of here?", npc, creature) npcHandler:setTopic(playerId, 1) end elseif npcHandler:getTopic(playerId) == 1 and MsgContains(message, "yes") then @@ -88,9 +81,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.TibiaTales.ToAppeaseTheMightyQuest, 1) -- Entregando elseif player:getStorageValue(Storage.TibiaTales.ToAppeaseTheMightyQuest) == 3 then - npcHandler:say({ - "Well, I don't blame you for that. I am sure you did your best. Now we can just hope that peace remains. Here, take this small gratification for your effort to help and Daraman may bless you!", - }, npc, creature) + npcHandler:say("Well, I don't blame you for that. I am sure you did your best. Now we can just hope that peace remains. Here, take this small gratification for your effort to help and Daraman may bless you!", npc, creature) player:setStorageValue(Storage.TibiaTales.ToAppeaseTheMightyQuest, player:getStorageValue(Storage.TibiaTales.ToAppeaseTheMightyQuest) + 1) player:addItem(3035, 20) end @@ -106,7 +97,7 @@ end npcHandler:setCallback(CALLBACK_SET_INTERACTION, onAddFocus) npcHandler:setCallback(CALLBACK_REMOVE_INTERACTION, onReleaseFocus) -npcHandler:setCallback(CALLBACK_GREET, greetCallback) +npcHandler:setMessage(MESSAGE_GREET, "Feel welcome in the lands of the children of the enlightened Daraman, |PLAYERNAME|.") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) From 403074d54ddd9dbcda7d378d0dad1090c067a439 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:45:39 -0300 Subject: [PATCH 029/112] Tibia Tales --- data-otservbr-global/lib/core/storages.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 4d5a124aa69..c0aac705a56 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2071,7 +2071,6 @@ Storage = { Mission06 = 41396, Mission07 = 41397, }, - ToAppeaseTheMighty = {}, ToBlindTheEnemy = {}, ToOutfoxAFox = {}, TowerDefence = {}, From 69ad93125e07b7100a3d3283c71618f643188458 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:52:49 -0300 Subject: [PATCH 030/112] To Blind the Enemy Quest I kept this quest without the need for missions, I think this mission is purely useless, but the reward I kept normal. --- data-otservbr-global/lib/core/storages.lua | 7 ++++- data-otservbr-global/startup/tables/chest.lua | 31 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index c0aac705a56..15e54df27f7 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2071,7 +2071,12 @@ Storage = { Mission06 = 41396, Mission07 = 41397, }, - ToBlindTheEnemy = {}, + ToBlindTheEnemy = { + DwarvenShield = 41398, + MorningStar = 41399, + BP1 = 41400, + BP2 = 41401, + }, ToOutfoxAFox = {}, TowerDefence = {}, Waterfall = {}, diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 8306a1d87a7..999d93d9194 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1299,6 +1299,37 @@ ChestUnique = { weight = 1.20, storage = Storage.Quest.U8_1.SecretService.IntelligenceReports, }, + -- To Blind the Enemy Quest + [6180] = { + itemId = 2472, + itemPos = { x = 32591, y = 31647, z = 3 }, + reward = { { 3425, 1 } }, + weight = 55.00, + storage = Storage.Quest.U8_1.ToBlindTheEnemy.DwarvenShield, + }, + [6181] = { + itemId = 2472, + itemPos = { x = 32590, y = 31647, z = 3 }, + reward = { { 3282, 1 } }, + weight = 54.00, + storage = Storage.Quest.U8_1.ToBlindTheEnemy.MorningStar, + }, + [6182] = { + itemId = 2434, + itemPos = { x = 32588, y = 31645, z = 3 }, + container = 2853, + reward = { { 237, 1 }, { 3147, 1 }, { 3059, 1 }, }, + weight = 31.00, + storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP1, + }, + [6183] = { + itemId = 2434, + itemPos = { x = 32588, y = 31644, z = 3 }, + container = 2853, + reward = { { 3028, 2 }, { 3031, 100 } }, + weight = 18.20, + storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP2, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) From ff10f256c83c4aa13c93d9c7d0900a54a3cefa1a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 24 Jul 2024 21:53:31 +0000 Subject: [PATCH 031/112] Lua code format - (Stylua) --- data-otservbr-global/startup/tables/chest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 999d93d9194..d40bf24c2c2 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1318,7 +1318,7 @@ ChestUnique = { itemId = 2434, itemPos = { x = 32588, y = 31645, z = 3 }, container = 2853, - reward = { { 237, 1 }, { 3147, 1 }, { 3059, 1 }, }, + reward = { { 237, 1 }, { 3147, 1 }, { 3059, 1 } }, weight = 31.00, storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP1, }, From 6158ea465cd103f85b3c0e858a5b6b193bd2ee73 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:54:38 -0300 Subject: [PATCH 032/112] Revert "To Blind the Enemy Quest" This reverts commit 69ad93125e07b7100a3d3283c71618f643188458. --- data-otservbr-global/lib/core/storages.lua | 7 +---- data-otservbr-global/startup/tables/chest.lua | 31 ------------------- 2 files changed, 1 insertion(+), 37 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 15e54df27f7..c0aac705a56 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2071,12 +2071,7 @@ Storage = { Mission06 = 41396, Mission07 = 41397, }, - ToBlindTheEnemy = { - DwarvenShield = 41398, - MorningStar = 41399, - BP1 = 41400, - BP2 = 41401, - }, + ToBlindTheEnemy = {}, ToOutfoxAFox = {}, TowerDefence = {}, Waterfall = {}, diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 999d93d9194..8306a1d87a7 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1299,37 +1299,6 @@ ChestUnique = { weight = 1.20, storage = Storage.Quest.U8_1.SecretService.IntelligenceReports, }, - -- To Blind the Enemy Quest - [6180] = { - itemId = 2472, - itemPos = { x = 32591, y = 31647, z = 3 }, - reward = { { 3425, 1 } }, - weight = 55.00, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.DwarvenShield, - }, - [6181] = { - itemId = 2472, - itemPos = { x = 32590, y = 31647, z = 3 }, - reward = { { 3282, 1 } }, - weight = 54.00, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.MorningStar, - }, - [6182] = { - itemId = 2434, - itemPos = { x = 32588, y = 31645, z = 3 }, - container = 2853, - reward = { { 237, 1 }, { 3147, 1 }, { 3059, 1 }, }, - weight = 31.00, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP1, - }, - [6183] = { - itemId = 2434, - itemPos = { x = 32588, y = 31644, z = 3 }, - container = 2853, - reward = { { 3028, 2 }, { 3031, 100 } }, - weight = 18.20, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP2, - }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) From 33ffbff86e0c1e104bf101395a80dc879a0b5937 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 18:55:28 -0300 Subject: [PATCH 033/112] Revert "Merge branch 'Review-Quests-8-to-8.74' of https://github.com/htc16/canary into Review-Quests-8-to-8.74" This reverts commit 2d5aad72e65c441e479710f7c923fec7a3a29f96, reversing changes made to 6158ea465cd103f85b3c0e858a5b6b193bd2ee73. --- data-otservbr-global/startup/tables/chest.lua | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index d40bf24c2c2..8306a1d87a7 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1299,37 +1299,6 @@ ChestUnique = { weight = 1.20, storage = Storage.Quest.U8_1.SecretService.IntelligenceReports, }, - -- To Blind the Enemy Quest - [6180] = { - itemId = 2472, - itemPos = { x = 32591, y = 31647, z = 3 }, - reward = { { 3425, 1 } }, - weight = 55.00, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.DwarvenShield, - }, - [6181] = { - itemId = 2472, - itemPos = { x = 32590, y = 31647, z = 3 }, - reward = { { 3282, 1 } }, - weight = 54.00, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.MorningStar, - }, - [6182] = { - itemId = 2434, - itemPos = { x = 32588, y = 31645, z = 3 }, - container = 2853, - reward = { { 237, 1 }, { 3147, 1 }, { 3059, 1 } }, - weight = 31.00, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP1, - }, - [6183] = { - itemId = 2434, - itemPos = { x = 32588, y = 31644, z = 3 }, - container = 2853, - reward = { { 3028, 2 }, { 3031, 100 } }, - weight = 18.20, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP2, - }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) From bc06e249eb5c1e9019959fd51d72049c5580c633 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 19:45:01 -0300 Subject: [PATCH 034/112] To Blind the Enemy Quest I couldn't put the same effect on the image when the mirror breaks, but it achieved its purpose. --- data-otservbr-global/lib/core/storages.lua | 8 +++- data-otservbr-global/npc/eroth.lua | 42 +++++++++++++++++++ .../to_blind_the_enemy_quest/mirror.lua | 31 ++++++++++++++ data-otservbr-global/startup/tables/chest.lua | 31 ++++++++++++++ data-otservbr-global/startup/tables/item.lua | 5 +++ 5 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 data-otservbr-global/scripts/quests/to_blind_the_enemy_quest/mirror.lua diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index c0aac705a56..c4ec4522748 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2071,7 +2071,13 @@ Storage = { Mission06 = 41396, Mission07 = 41397, }, - ToBlindTheEnemy = {}, + ToBlindTheEnemy = { + Questline = 41398, + DwarvenShield = 41399, + MorningStar = 41400, + BP1 = 41401, + BP2 = 41402, + }, ToOutfoxAFox = {}, TowerDefence = {}, Waterfall = {}, diff --git a/data-otservbr-global/npc/eroth.lua b/data-otservbr-global/npc/eroth.lua index 6e54910817a..b541a6d64ba 100644 --- a/data-otservbr-global/npc/eroth.lua +++ b/data-otservbr-global/npc/eroth.lua @@ -45,6 +45,48 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end +local function creatureSayCallback(npc, creature, type, message) + local player = Player(creature) + local playerId = player:getId() + + -- Check if NPC can interact with the creature + if not npcHandler:checkInteraction(npc, creature) then + return false + end + + -- Check if the message contains "mission" + if MsgContains(message, "mission") then + -- Check if player is starting the quest + if player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline) < 1 then + npcHandler:say("Have you ever heard of Elvenbane? It is the castle west of Ab'Dendriel which is inhabited by villains from all over the continent. Any support in this war is welcome. Are you willing to help?", npc, creature) + npcHandler:setTopic(playerId, 1) + -- Check if player has completed certain objectives + elseif player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline) == 2 + and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.DwarvenShield) == 1 + and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.MorningStar) == 1 + and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.BP1) == 1 + and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.BP2) == 1 then + npcHandler:say("I heard the blow! The reflection must have caused a overcharge of magical energy leading to the contraction and the implosion. Just like I hoped! Please take this as a reward. Thank you very much.", npc, creature) + player:addItem(3082, 1) + player:addItem(3035, 10) + player:setStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline, 3) + npcHandler:setTopic(playerId, 0) + end + -- Check if the player has accepted the mission + elseif npcHandler:getTopic(playerId) == 1 and MsgContains(message, "yes") then + npcHandler:say({ + "Recently we found out that they are in the possession of a scrying crystal ball. They can hear all our discussions about tactics and upcoming attacks. ...", + "No wonder that they always have been so well prepared. Now you come into play, destroy the scrying crystal ball in Elvenbane. It should be on the top floor. ...", + "We don't really know how to destroy it but we suppose it may work if you reflect the invisible power of the ball. The beam should be adjusted to Ab'Dendriel. Take this mirror and give it a try. Good luck.", + }, npc, creature) + player:addItem(3463, 1) + player:setStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline, 1) + npcHandler:setTopic(playerId, 0) + end + + return true +end + keywordHandler:addKeyword({ "job" }, StdModule.say, { npcHandler = npcHandler, text = "I am the leader of the Cenath caste." }) keywordHandler:addKeyword({ "kuridai" }, StdModule.say, { npcHandler = npcHandler, text = "The Kuridai are aggressive and victims of their instincts. Without our help they would surely die in a foolish war." }) keywordHandler:addKeyword({ "crunor" }, StdModule.say, { npcHandler = npcHandler, text = "Gods are for the weak. We will master the world on our own. We need no gods." }) diff --git a/data-otservbr-global/scripts/quests/to_blind_the_enemy_quest/mirror.lua b/data-otservbr-global/scripts/quests/to_blind_the_enemy_quest/mirror.lua new file mode 100644 index 00000000000..454d1692742 --- /dev/null +++ b/data-otservbr-global/scripts/quests/to_blind_the_enemy_quest/mirror.lua @@ -0,0 +1,31 @@ +local mirror = Action() + +local function revertItem(position, itemId) + local item = Tile(position):getItemById(itemId) + if item then + item:transform(itemId) + end +end + +function mirror.onUse(player, item, fromPosition, target, toPosition, isHotkey) + if player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline) == 1 then + if target:getActionId() == 4001 and target.itemid == 132 then + local itemToRemove = Tile(toPosition):getItemById(132) + if itemToRemove then + itemToRemove:remove() + toPosition:sendMagicEffect(CONST_ME_MAGIC_POWDER) + player:setStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline, 2) + player:say("KABOOM !!", TALKTYPE_MONSTER_SAY, false, player, toPosition) + addEvent(revertItem, 60 * 1000, toPosition, 132) + item:remove(1) + end + + return true + end + end + + return onUseMirror(player, item, fromPosition, target, toPosition, isHotkey) +end + +mirror:id(3463) +mirror:register() diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 8306a1d87a7..d40bf24c2c2 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1299,6 +1299,37 @@ ChestUnique = { weight = 1.20, storage = Storage.Quest.U8_1.SecretService.IntelligenceReports, }, + -- To Blind the Enemy Quest + [6180] = { + itemId = 2472, + itemPos = { x = 32591, y = 31647, z = 3 }, + reward = { { 3425, 1 } }, + weight = 55.00, + storage = Storage.Quest.U8_1.ToBlindTheEnemy.DwarvenShield, + }, + [6181] = { + itemId = 2472, + itemPos = { x = 32590, y = 31647, z = 3 }, + reward = { { 3282, 1 } }, + weight = 54.00, + storage = Storage.Quest.U8_1.ToBlindTheEnemy.MorningStar, + }, + [6182] = { + itemId = 2434, + itemPos = { x = 32588, y = 31645, z = 3 }, + container = 2853, + reward = { { 237, 1 }, { 3147, 1 }, { 3059, 1 } }, + weight = 31.00, + storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP1, + }, + [6183] = { + itemId = 2434, + itemPos = { x = 32588, y = 31644, z = 3 }, + container = 2853, + reward = { { 3028, 2 }, { 3031, 100 } }, + weight = 18.20, + storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP2, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 96f60676a80..867dbcd1344 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -12,6 +12,11 @@ ItemAction = { itemId = 1642, itemPos = { { x = 32660, y = 32192, z = 8 } }, }, + -- To Blind the Enemy Quest + [4001] = { + itemId = 132, + itemPos = { { x = 32592, y = 31645, z = 2 } }, + }, -- Into The Bone Pit Quest - ectoplasm container [4205] = { itemId = 103, From fb9f31d71163b5d54e38e76c75e7b0f375994c9f Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 24 Jul 2024 22:45:36 +0000 Subject: [PATCH 035/112] Lua code format - (Stylua) --- data-otservbr-global/npc/eroth.lua | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/data-otservbr-global/npc/eroth.lua b/data-otservbr-global/npc/eroth.lua index b541a6d64ba..c53f22d7b49 100644 --- a/data-otservbr-global/npc/eroth.lua +++ b/data-otservbr-global/npc/eroth.lua @@ -61,11 +61,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Have you ever heard of Elvenbane? It is the castle west of Ab'Dendriel which is inhabited by villains from all over the continent. Any support in this war is welcome. Are you willing to help?", npc, creature) npcHandler:setTopic(playerId, 1) -- Check if player has completed certain objectives - elseif player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline) == 2 - and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.DwarvenShield) == 1 - and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.MorningStar) == 1 - and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.BP1) == 1 - and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.BP2) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline) == 2 and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.DwarvenShield) == 1 and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.MorningStar) == 1 and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.BP1) == 1 and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.BP2) == 1 then npcHandler:say("I heard the blow! The reflection must have caused a overcharge of magical energy leading to the contraction and the implosion. Just like I hoped! Please take this as a reward. Thank you very much.", npc, creature) player:addItem(3082, 1) player:addItem(3035, 10) From e397fc9762a4d8332087c62c47da221d9ca7c51c Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 24 Jul 2024 19:50:37 -0300 Subject: [PATCH 036/112] To Blind the Enemy Quest - Tibia Tales --- data-otservbr-global/lib/core/storages.lua | 14 +++++++------- data-otservbr-global/npc/eroth.lua | 8 ++++---- .../quests/to_blind_the_enemy_quest/mirror.lua | 4 ++-- data-otservbr-global/startup/tables/chest.lua | 8 ++++---- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index c4ec4522748..980ae0bdc37 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -1164,6 +1164,13 @@ Storage = { MedusaOil = 51531, Questline = 51532, }, + ToBlindTheEnemy = { + Questline = 41398, + DwarvenShield = 41399, + MorningStar = 41400, + BP1 = 41401, + BP2 = 41402, + }, }, TheShatteredIsles = { -- Reserved storage from 51540 - 51589 @@ -2071,13 +2078,6 @@ Storage = { Mission06 = 41396, Mission07 = 41397, }, - ToBlindTheEnemy = { - Questline = 41398, - DwarvenShield = 41399, - MorningStar = 41400, - BP1 = 41401, - BP2 = 41402, - }, ToOutfoxAFox = {}, TowerDefence = {}, Waterfall = {}, diff --git a/data-otservbr-global/npc/eroth.lua b/data-otservbr-global/npc/eroth.lua index c53f22d7b49..e8b59fa681f 100644 --- a/data-otservbr-global/npc/eroth.lua +++ b/data-otservbr-global/npc/eroth.lua @@ -57,15 +57,15 @@ local function creatureSayCallback(npc, creature, type, message) -- Check if the message contains "mission" if MsgContains(message, "mission") then -- Check if player is starting the quest - if player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline) < 1 then + if player:getStorageValue(Storage.TibiaTales.ToBlindTheEnemy.Questline) < 1 then npcHandler:say("Have you ever heard of Elvenbane? It is the castle west of Ab'Dendriel which is inhabited by villains from all over the continent. Any support in this war is welcome. Are you willing to help?", npc, creature) npcHandler:setTopic(playerId, 1) -- Check if player has completed certain objectives - elseif player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline) == 2 and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.DwarvenShield) == 1 and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.MorningStar) == 1 and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.BP1) == 1 and player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.BP2) == 1 then + elseif player:getStorageValue(Storage.TibiaTales.ToBlindTheEnemy.Questline) == 2 and player:getStorageValue(Storage.TibiaTales.ToBlindTheEnemy.DwarvenShield) == 1 and player:getStorageValue(Storage.TibiaTales.ToBlindTheEnemy.MorningStar) == 1 and player:getStorageValue(Storage.TibiaTales.ToBlindTheEnemy.BP1) == 1 and player:getStorageValue(Storage.TibiaTales.ToBlindTheEnemy.BP2) == 1 then npcHandler:say("I heard the blow! The reflection must have caused a overcharge of magical energy leading to the contraction and the implosion. Just like I hoped! Please take this as a reward. Thank you very much.", npc, creature) player:addItem(3082, 1) player:addItem(3035, 10) - player:setStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline, 3) + player:setStorageValue(Storage.TibiaTales.ToBlindTheEnemy.Questline, 3) npcHandler:setTopic(playerId, 0) end -- Check if the player has accepted the mission @@ -76,7 +76,7 @@ local function creatureSayCallback(npc, creature, type, message) "We don't really know how to destroy it but we suppose it may work if you reflect the invisible power of the ball. The beam should be adjusted to Ab'Dendriel. Take this mirror and give it a try. Good luck.", }, npc, creature) player:addItem(3463, 1) - player:setStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline, 1) + player:setStorageValue(Storage.TibiaTales.ToBlindTheEnemy.Questline, 1) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/scripts/quests/to_blind_the_enemy_quest/mirror.lua b/data-otservbr-global/scripts/quests/to_blind_the_enemy_quest/mirror.lua index 454d1692742..95da06446a5 100644 --- a/data-otservbr-global/scripts/quests/to_blind_the_enemy_quest/mirror.lua +++ b/data-otservbr-global/scripts/quests/to_blind_the_enemy_quest/mirror.lua @@ -8,13 +8,13 @@ local function revertItem(position, itemId) end function mirror.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline) == 1 then + if player:getStorageValue(Storage.TibiaTales.ToBlindTheEnemy.Questline) == 1 then if target:getActionId() == 4001 and target.itemid == 132 then local itemToRemove = Tile(toPosition):getItemById(132) if itemToRemove then itemToRemove:remove() toPosition:sendMagicEffect(CONST_ME_MAGIC_POWDER) - player:setStorageValue(Storage.Quest.U8_1.ToBlindTheEnemy.Questline, 2) + player:setStorageValue(Storage.TibiaTales.ToBlindTheEnemy.Questline, 2) player:say("KABOOM !!", TALKTYPE_MONSTER_SAY, false, player, toPosition) addEvent(revertItem, 60 * 1000, toPosition, 132) item:remove(1) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index d40bf24c2c2..53e1d981526 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1305,14 +1305,14 @@ ChestUnique = { itemPos = { x = 32591, y = 31647, z = 3 }, reward = { { 3425, 1 } }, weight = 55.00, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.DwarvenShield, + storage = Storage.TibiaTales.ToBlindTheEnemy.DwarvenShield, }, [6181] = { itemId = 2472, itemPos = { x = 32590, y = 31647, z = 3 }, reward = { { 3282, 1 } }, weight = 54.00, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.MorningStar, + storage = Storage.TibiaTales.ToBlindTheEnemy.MorningStar, }, [6182] = { itemId = 2434, @@ -1320,7 +1320,7 @@ ChestUnique = { container = 2853, reward = { { 237, 1 }, { 3147, 1 }, { 3059, 1 } }, weight = 31.00, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP1, + storage = Storage.TibiaTales.ToBlindTheEnemy.BP1, }, [6183] = { itemId = 2434, @@ -1328,7 +1328,7 @@ ChestUnique = { container = 2853, reward = { { 3028, 2 }, { 3031, 100 } }, weight = 18.20, - storage = Storage.Quest.U8_1.ToBlindTheEnemy.BP2, + storage = Storage.TibiaTales.ToBlindTheEnemy.BP2, }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest From f1d18aaac2c63422b2254fe1e5a4b1a7d85e438b Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 08:17:35 -0300 Subject: [PATCH 037/112] Synchronization with PR: https://github.com/opentibiabr/canary/pull/2675 and https://github.com/opentibiabr/canary/pull/2725 --- data-otservbr-global/startup/tables/chest.lua | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 53e1d981526..012264565b0 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -999,7 +999,7 @@ ChestUnique = { time = 24, -- hour }, -- The Ice Island Quest - Skeleton - Formorgar Glacier - [6140] = { + [6216] = { itemId = 4024, itemPos = { x = 32121, y = 31106, z = 12 }, container = 2853, @@ -1007,7 +1007,7 @@ ChestUnique = { weight = 97.00, storage = Storage.Quest.U8_0.TheIceIslands.FormorgarGlacierSkeleton, }, - [6141] = { + [6217] = { itemId = 2472, itemPos = { x = 32027, y = 31104, z = 11 }, reward = { { 2820, 1 } }, @@ -1015,7 +1015,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.TheIceIslands.FormorgarGlacierChest, }, -- Shards of Ancient Winters Quest - [6142] = { + [6218] = { itemId = 2523, itemPos = { x = 32483, y = 31110, z = 8 }, container = 7343, @@ -1023,7 +1023,7 @@ ChestUnique = { weight = 67.80, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Inukaya, }, - [6143] = { + [6219] = { itemId = 2523, itemPos = { x = 32431, y = 31235, z = 8 }, container = 2853, @@ -1031,7 +1031,7 @@ ChestUnique = { weight = 45.90, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Tyrsung, }, - [6144] = { + [6220] = { itemId = 2473, itemPos = { x = 32146, y = 31430, z = 8 }, container = 2853, @@ -1039,7 +1039,7 @@ ChestUnique = { weight = 45.90, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Okolnir, }, - [6145] = { + [6221] = { itemId = 4024, itemPos = { x = 32490, y = 31192, z = 10 }, container = 2853, @@ -1047,7 +1047,7 @@ ChestUnique = { weight = 52.00, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Helheim, }, - [6146] = { + [6222] = { itemId = 2472, itemPos = { x = 32154, y = 31116, z = 9 }, container = 2853, @@ -1056,7 +1056,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.ShardsofAncientWinters.FormorgarMines, }, -- Barbarian Arena Quest - Greenhorn - [6147] = { + [6223] = { itemId = 2472, itemPos = { x = 32231, y = 31065, z = 7 }, container = 2856, @@ -1064,7 +1064,7 @@ ChestUnique = { weight = 25.10, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornPresent, }, - [6148] = { + [6224] = { itemId = 2480, itemPos = { x = 32231, y = 31068, z = 7 }, container = 7342, @@ -1072,21 +1072,21 @@ ChestUnique = { weight = 158.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornBP, }, - [6149] = { + [6225] = { itemId = 2482, itemPos = { x = 32235, y = 31068, z = 7 }, reward = { { 7392, 1 } }, weight = 54.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, }, - [6150] = { + [6226] = { itemId = 2482, itemPos = { x = 32235, y = 31066, z = 7 }, reward = { { 7380, 1 } }, weight = 45.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, }, - [6151] = { + [6227] = { itemId = 2482, itemPos = { x = 32235, y = 31064, z = 7 }, reward = { { 7406, 1 } }, @@ -1094,7 +1094,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, }, -- Barbarian Arena Quest - Scrapper - [6152] = { + [6228] = { itemId = 2472, itemPos = { x = 32231, y = 31058, z = 7 }, container = 2856, @@ -1102,7 +1102,7 @@ ChestUnique = { weight = 25.10, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperPresent, }, - [6153] = { + [6229] = { itemId = 2480, itemPos = { x = 32231, y = 31068, z = 7 }, container = 7342, @@ -1110,21 +1110,21 @@ ChestUnique = { weight = 270.40, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperBP, }, - [6154] = { + [6230] = { itemId = 2482, itemPos = { x = 32235, y = 31061, z = 7 }, reward = { { 7415, 1 } }, weight = 78.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, }, - [6155] = { + [6231] = { itemId = 2482, itemPos = { x = 32235, y = 31059, z = 7 }, reward = { { 7389, 1 } }, weight = 61.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, }, - [6156] = { + [6232] = { itemId = 2482, itemPos = { x = 32235, y = 31057, z = 7 }, reward = { { 7384, 1 } }, @@ -1132,7 +1132,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, }, -- Barbarian Arena Quest - Warlord - [6157] = { + [6233] = { itemId = 2472, itemPos = { x = 32231, y = 31051, z = 7 }, container = 2856, @@ -1140,7 +1140,7 @@ ChestUnique = { weight = 13.60, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordPresent, }, - [6158] = { + [6234] = { itemId = 2480, itemPos = { x = 32231, y = 31054, z = 7 }, container = 7342, @@ -1148,21 +1148,21 @@ ChestUnique = { weight = 115.30, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordBP, }, - [6159] = { + [6235] = { itemId = 2482, itemPos = { x = 32235, y = 31054, z = 7 }, reward = { { 7429, 1 } }, weight = 39.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, - [6160] = { + [6236] = { itemId = 2482, itemPos = { x = 32235, y = 31052, z = 7 }, reward = { { 7434, 1 } }, weight = 92.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, - [6161] = { + [6237] = { itemId = 2482, itemPos = { x = 32235, y = 31050, z = 7 }, reward = { { 7390, 1 } }, @@ -1170,7 +1170,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, -- Fishing Box Quest - [6162] = { + [6238] = { itemId = 2473, itemPos = { x = 32015, y = 31409, z = 7 }, container = 2853, @@ -1179,49 +1179,49 @@ ChestUnique = { storage = Storage.Quest.U8_0.FishingBox, }, -- Koshei The Deathless Quest - [6163] = { + [6239] = { itemId = 2908, itemPos = { x = 33193, y = 32459, z = 7 }, reward = { { 7530, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart1, }, - [6164] = { + [6240] = { itemId = 1983, itemPos = { x = 33305, y = 32277, z = 10 }, reward = { { 7528, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart2, }, - [6165] = { + [6241] = { itemId = 231, itemPos = { x = 33212, y = 32593, z = 7 }, reward = { { 7531, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart3, }, - [6166] = { + [6242] = { itemId = 1983, itemPos = { x = 33053, y = 32468, z = 11 }, reward = { { 7529, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart4, }, - [6167] = { + [6243] = { itemId = 2472, itemPos = { x = 33261, y = 32444, z = 12 }, reward = { { 645, 1 } }, weight = 18.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessLegs, }, - [6168] = { + [6244] = { itemId = 2480, itemPos = { x = 33261, y = 32448, z = 12 }, reward = { { 3035, 100 } }, weight = 5.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessPlatinum, }, - [6169] = { + [6245] = { itemId = 2469, itemPos = { x = 33273, y = 32470, z = 11 }, reward = { { 3031, 100 } }, @@ -1229,70 +1229,70 @@ ChestUnique = { storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessGold, }, -- Secret Service Quest - [6170] = { + [6246] = { itemId = 2433, itemPos = { x = 32311, y = 32177, z = 5 }, reward = { { 403, 1 } }, weight = 13.00, storage = Storage.Quest.U8_1.SecretService.AHX17L89, }, - [6171] = { + [6247] = { itemId = 1983, itemPos = { x = 32156, y = 31954, z = 13 }, reward = { { 406, 1 } }, weight = 0.80, storage = Storage.Quest.U8_1.SecretService.FamilySignetRing, }, - [6172] = { + [6248] = { itemId = 2433, itemPos = { x = 33271, y = 31839, z = 3 }, reward = { { 648, 1 } }, weight = 58.00, storage = Storage.Quest.U8_1.SecretService.MagicSpellbook, }, - [6173] = { + [6249] = { itemId = 2473, itemPos = { x = 32907, y = 32012, z = 6 }, reward = { { 399, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.SecretService.BuildingPlans, }, - [6174] = { + [6250] = { itemId = 2433, itemPos = { x = 32598, y = 32380, z = 10 }, reward = { { 400, 1 } }, weight = 1.50, storage = Storage.Quest.U8_1.SecretService.SuspiciousDocuments, }, - [6175] = { + [6251] = { itemId = 2473, itemPos = { x = 32180, y = 31930, z = 11 }, reward = { { 401, 1 } }, weight = 13.00, storage = Storage.Quest.U8_1.SecretService.Book, }, - [6176] = { + [6252] = { itemId = 3634, itemPos = { x = 32876, y = 31958, z = 11 }, reward = { { 652, 1 } }, weight = 45.00, storage = Storage.Quest.U8_1.SecretService.RottenHeartOfTree, }, - [6177] = { + [6253] = { itemId = 2469, itemPos = { x = 32872, y = 31958, z = 11 }, reward = { { 5956, 1 } }, weight = 1.20, storage = Storage.Quest.U8_1.SecretService.LotteryTicket, }, - [6178] = { + [6254] = { itemId = 2472, itemPos = { x = 32643, y = 32733, z = 7 }, reward = { { 5952, 1 } }, weight = 1.20, storage = Storage.Quest.U8_1.SecretService.PoemScroll, }, - [6179] = { + [6255] = { itemId = 4240, itemPos = { x = 32773, y = 31582, z = 11 }, reward = { { 348, 1 } }, @@ -1300,21 +1300,21 @@ ChestUnique = { storage = Storage.Quest.U8_1.SecretService.IntelligenceReports, }, -- To Blind the Enemy Quest - [6180] = { + [6256] = { itemId = 2472, itemPos = { x = 32591, y = 31647, z = 3 }, reward = { { 3425, 1 } }, weight = 55.00, storage = Storage.TibiaTales.ToBlindTheEnemy.DwarvenShield, }, - [6181] = { + [6257] = { itemId = 2472, itemPos = { x = 32590, y = 31647, z = 3 }, reward = { { 3282, 1 } }, weight = 54.00, storage = Storage.TibiaTales.ToBlindTheEnemy.MorningStar, }, - [6182] = { + [6259] = { itemId = 2434, itemPos = { x = 32588, y = 31645, z = 3 }, container = 2853, @@ -1322,7 +1322,7 @@ ChestUnique = { weight = 31.00, storage = Storage.TibiaTales.ToBlindTheEnemy.BP1, }, - [6183] = { + [6260] = { itemId = 2434, itemPos = { x = 32588, y = 31644, z = 3 }, container = 2853, From b6bc672128a27489ca9bd6a4ed5b2c61d8c398ca Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 09:23:24 -0300 Subject: [PATCH 038/112] Update chest.lua --- data-otservbr-global/startup/tables/chest.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 012264565b0..b2fe1121f78 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1314,7 +1314,7 @@ ChestUnique = { weight = 54.00, storage = Storage.TibiaTales.ToBlindTheEnemy.MorningStar, }, - [6259] = { + [6258] = { itemId = 2434, itemPos = { x = 32588, y = 31645, z = 3 }, container = 2853, @@ -1322,7 +1322,7 @@ ChestUnique = { weight = 31.00, storage = Storage.TibiaTales.ToBlindTheEnemy.BP1, }, - [6260] = { + [6259] = { itemId = 2434, itemPos = { x = 32588, y = 31644, z = 3 }, container = 2853, From 0e0f43a009b7b6689f282d6fd35045437d8dd6bd Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 09:47:08 -0300 Subject: [PATCH 039/112] To Outfox a Fox Quest --- data-otservbr-global/lib/core/quests.lua | 2 +- data-otservbr-global/lib/core/storages.lua | 15 +++++++++------ data-otservbr-global/npc/budrik.lua | 13 ++++++++----- .../creaturescripts/customs/freequests.lua | 2 +- data-otservbr-global/startup/tables/chest.lua | 8 ++++++++ .../startup/tables/door_quest.lua | 2 +- 6 files changed, 28 insertions(+), 14 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index aedb9e7c58e..0bc38df4583 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -4649,7 +4649,7 @@ if not Quests then }, [14] = { name = "To Outfox a Fox", - storageId = Storage.ToOutfoxAFoxQuest, + storageId = Storage.TibiaTales.ToOutfoxAFoxQuest, missionId = 10432, startValue = 1, endValue = 2, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 980ae0bdc37..db7ab08090d 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -89,7 +89,6 @@ Storage = { WagonTicket = 30009, BloodHerbQuest = 30010, FirstMageWeapon = 30011, - ToOutfoxAFoxQuest = 30012, KawillBlessing = 30014, RentedHorseTimer = 30015, FountainOfLife = 30016, @@ -1165,11 +1164,15 @@ Storage = { Questline = 51532, }, ToBlindTheEnemy = { - Questline = 41398, - DwarvenShield = 41399, - MorningStar = 41400, - BP1 = 41401, - BP2 = 41402, + Questline = 51533, + DwarvenShield = 51534, + MorningStar = 51535, + BP1 = 51536, + BP2 = 51537, + }, + ToOutfoxAFoxQuest = { + Questline = 51538, + MiningHelmet = 51539, }, }, TheShatteredIsles = { diff --git a/data-otservbr-global/npc/budrik.lua b/data-otservbr-global/npc/budrik.lua index 6261e3d4c82..aab54f27e4b 100644 --- a/data-otservbr-global/npc/budrik.lua +++ b/data-otservbr-global/npc/budrik.lua @@ -58,21 +58,21 @@ local function creatureSayCallback(npc, creature, type, message) end if table.contains({ "mission", "quest" }, message:lower()) then - if player:getStorageValue(Storage.ToOutfoxAFoxQuest) < 1 then + if player:getStorageValue(Storage.TibiaTales.ToOutfoxAFoxQuest.Questline) < 1 then npcHandler:say({ "Funny that you are asking me for a mission! There is indeed something you can do for me. Ever heard about The Horned Fox? Anyway, yesterday his gang has stolen my mining helmet during a raid. ...", "It belonged to my father and before that to my grandfather. That helmet is at least 600 years old! I need it back. Are you willing to help me?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.ToOutfoxAFoxQuest) == 1 then + elseif player:getStorageValue(Storage.TibiaTales.ToOutfoxAFoxQuest.Questline) == 1 then if player:removeItem(139, 1) then - player:setStorageValue(Storage.ToOutfoxAFoxQuest, 2) + player:setStorageValue(Storage.TibiaTales.ToOutfoxAFoxQuest.Questline, 2) player:addItem(875, 1) npcHandler:say("As I was just saying to the others, 'this brave fellow will bring me my mining helmet back' and here you are with it!! Here take my spare helmet, I don't need it anymore!", npc, creature) else npcHandler:say("We presume the hideout of The Horned Fox is somewhere in the south-west near the coast, good luck finding my mining helmet!", npc, creature) end - elseif player:getStorageValue(Storage.ToOutfoxAFoxQuest) == 2 and player:getLevel() <= 40 and player:getStorageValue(Storage.KillingInTheNameOf.BudrikMinos) < 0 then + elseif player:getStorageValue(Storage.TibiaTales.ToOutfoxAFoxQuest.Questline) == 2 and player:getLevel() <= 40 and player:getStorageValue(Storage.KillingInTheNameOf.BudrikMinos) < 0 then npcHandler:say({ "I am so angry I could spit grit! That damn {Horned Fox} and his attacks! Let's show those bull-heads that they have messed with the wrong people....", "I want you to kill 5000 minotaurs - no matter where - for me and all the dwarfs of Kazordoon! Are you willing to do that?", @@ -100,7 +100,10 @@ local function creatureSayCallback(npc, creature, type, message) if npcHandler:getTopic(playerId) == 1 then npcHandler:say("I knew you have the guts for that task! We presume the hideout of The Horned Fox somewhere in the south-west near the coast. Good luck!", npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.ToOutfoxAFoxQuest, 1) + if player:getStorageValue(Storage.TibiaTales.DefaultStart) <= 0 then + player:setStorageValue(Storage.TibiaTales.DefaultStart, 1) + end + player:setStorageValue(Storage.TibiaTales.ToOutfoxAFoxQuest.Questline, 1) elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say("Hussah! Let's bring war to those hoof-legged, dirt-necked, bull-headed minotaurs!! Come back to me when you are done with your {mission}.", npc, creature) player:setStorageValue(JOIN_STOR, 1) diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 5669ccdd4b1..791986e6da0 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -361,7 +361,7 @@ local questTable = { -- Assassin Outfit quests { storage = Storage.KillingInTheNameOf.BudrikMinos, storageValue = 0 }, - { storage = Storage.ToOutfoxAFoxQuest, storageValue = 2 }, + { storage = Storage.TibiaTales.ToOutfoxAFoxQuest.Questline, storageValue = 2 }, -- Hunter Outfit quests { storage = Storage.OutfitQuest.HunterMusicSheet01, storageValue = 1 }, diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index b2fe1121f78..bc57e35855a 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1330,6 +1330,14 @@ ChestUnique = { weight = 18.20, storage = Storage.TibiaTales.ToBlindTheEnemy.BP2, }, + -- To Outfox a Fox Quest + [6260] = { + itemId = 2469, + itemPos = { x = 32467, y = 31970, z = 5 }, + reward = { { 139, 1 } }, + weight = 7.00, + storage = Storage.TibiaTales.ToOutfoxAFoxQuest.MiningHelmet, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 1db118539b0..9d70115026f 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -46,7 +46,7 @@ QuestDoorAction = { itemPos = { { x = 32455, y = 31967, z = 14 } }, }, -- To Outfox a Fox Quest, mining helmet door - [Storage.ToOutfoxAFoxQuest] = { + [Storage.TibiaTales.ToOutfoxAFoxQuest.Questline] = { itemId = false, itemPos = { { x = 32467, y = 31969, z = 5 } }, }, From 6e365e79039c5750ae8ee74b6f3f4a91d682e950 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 10:47:31 -0300 Subject: [PATCH 040/112] Tower Defence Quest --- data-otservbr-global/lib/core/storages.lua | 7 ++- .../monster/humanoids/goblin_leader.lua | 4 ++ .../npc/bunny_bonecrusher.lua | 46 +++++++++++++++++++ data-otservbr-global/npc/thanita.lua | 37 +++++++++++++++ .../creaturescripts_goblin_leader_kill.lua | 13 ++++++ .../startup/tables/door_quest.lua | 6 +++ 6 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 data-otservbr-global/scripts/quests/tower_defence_quest/creaturescripts_goblin_leader_kill.lua diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index db7ab08090d..4e63d0d6bc5 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -1174,6 +1174,7 @@ Storage = { Questline = 51538, MiningHelmet = 51539, }, + -- TowerDefenceQuest: when there is space, bring this quest that is in update 8.1 to Tibia Tales }, TheShatteredIsles = { -- Reserved storage from 51540 - 51589 @@ -2081,8 +2082,10 @@ Storage = { Mission06 = 41396, Mission07 = 41397, }, - ToOutfoxAFox = {}, - TowerDefence = {}, + TowerDefenceQuest = { + Questline = 41398, + Door = 41399, + }, Waterfall = {}, WhatAFoolish = {}, }, diff --git a/data-otservbr-global/monster/humanoids/goblin_leader.lua b/data-otservbr-global/monster/humanoids/goblin_leader.lua index 0f6f5d62a44..a442d25574b 100644 --- a/data-otservbr-global/monster/humanoids/goblin_leader.lua +++ b/data-otservbr-global/monster/humanoids/goblin_leader.lua @@ -42,6 +42,10 @@ monster.strategiesTarget = { nearest = 100, } +monster.events = { + "GoblinLeaderDeath", +} + monster.flags = { summonable = true, attackable = true, diff --git a/data-otservbr-global/npc/bunny_bonecrusher.lua b/data-otservbr-global/npc/bunny_bonecrusher.lua index 6a926df382a..43869dd9b5d 100644 --- a/data-otservbr-global/npc/bunny_bonecrusher.lua +++ b/data-otservbr-global/npc/bunny_bonecrusher.lua @@ -50,6 +50,45 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end +local function creatureSayCallback(npc, creature, type, message) + local player = Player(creature) + local playerId = player:getId() + + -- Check if NPC can interact with the creature + if not npcHandler:checkInteraction(npc, creature) then + return false + end + + -- Check if the message contains "mission" + if MsgContains(message, "mission") then + if player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) < 1 then + npcHandler:say({ + "Normally we don't assign missions to civilians - and particularly to MALE civilians - but in this case I think we can make an exception. ...", + "I need a courier to deliver a parcel to the watchtower in Femor Hills. You think you can handle that??", + }, npc, creature) + npcHandler:setTopic(playerId, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 4 then + npcHandler:say("Alright, you delivered the parcel. So what is the password Thanita told you?", npc, creature) + npcHandler:setTopic(playerId, 2) + end + elseif npcHandler:getTopic(playerId) == 1 and MsgContains(message, "yes") then + npcHandler:say("I am not sure if I should be glad now or not but anyway ... you will get a password so I will know if you just threw it away or actually delivered it. Here is the parcel. See you ....or not.", npc, creature) + player:addItem(140, 1) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 1) + npcHandler:setTopic(playerId, 0) + elseif npcHandler:getTopic(playerId) == 2 and MsgContains(message, "password*") then + npcHandler:say("That's right. Here is your reward some elementary arrows. You did pretty well on your mission!", npc, creature) + player:addItem(762, 50) + player:addItem(774, 50) + player:addItem(763, 50) + player:addItem(761, 50) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 5) + npcHandler:setTopic(playerId, 0) + end + + return true +end + keywordHandler:addKeyword({ "hail general" }, StdModule.say, { npcHandler = npcHandler, text = "Salutations, commoner |PLAYERNAME|!" }) keywordHandler:addKeyword({ "how", "are", "you" }, StdModule.say, { npcHandler = npcHandler, text = "We are in constant training and in perfect health." }) keywordHandler:addKeyword({ "job" }, StdModule.say, { npcHandler = npcHandler, text = "I am the general of the queen's army. I don't have time to explain this concept to you." }) @@ -67,6 +106,13 @@ keywordHandler:addKeyword({ "green ferrets" }, StdModule.say, { npcHandler = npc keywordHandler:addKeyword({ "join" }, StdModule.say, { npcHandler = npcHandler, text = "Join what?" }) keywordHandler:addKeyword({ "join army" }, StdModule.say, { npcHandler = npcHandler, text = "Sorry, we don't recruit foreigners. Maybe you can join if you prove yourself in a mission for the queen." }) + +npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) + +npcHandler:setMessage(MESSAGE_GREET, "Address me properly |PLAYERNAME|!") +npcHandler:setMessage(MESSAGE_WALKAWAY, "LONG LIVE THE QUEEN!") +npcHandler:setMessage(MESSAGE_FAREWELL, "LONG LIVE THE QUEEN!") + npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table diff --git a/data-otservbr-global/npc/thanita.lua b/data-otservbr-global/npc/thanita.lua index 43a61f8e0d7..452313c79ee 100644 --- a/data-otservbr-global/npc/thanita.lua +++ b/data-otservbr-global/npc/thanita.lua @@ -50,6 +50,43 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end +local function creatureSayCallback(npc, creature, type, message) + local player = Player(creature) + local playerId = player:getId() + + -- Check if NPC can interact with the creature + if not npcHandler:checkInteraction(npc, creature) then + return false + end + + -- Check if the message contains "mission" + if MsgContains(message, "mission") then + if player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 1 and player:removeItem(140, 1) then + npcHandler:say({ + "Oh great! Supplies from Carlin! Let me see ......ahh, nothing meaningful at all, like always. Well, before I give you the password for the delivery, you have to help me! ...", + "I have massive problems with the goblin tribe that lives here. You look strong enough to face their leader but you need to be smart to lure him out. ...", + "I heard they don't like fire very much, maybe that's worth a try. Their beds are mostly made of straw which is known as easily inflammable. ...", + "The entrance to their cave is at the pond south east of here.", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 2) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Door, 2) + npcHandler:setTopic(playerId, 0) + elseif player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 3 then + npcHandler:say("Impressive!! I could need someone like you here at the watchtower! Okay, the password you need to tell Bunny is ' password* '. Come back and visit me if you like to!", npc, creature) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 4) + npcHandler:setTopic(playerId, 0) + end + end + + return true +end + +npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) + +npcHandler:setMessage(MESSAGE_GREET, "How could you sneak up on me like this? I thought you were one of THEM! Well, since you are not, what brings you to this wilderness?") +npcHandler:setMessage(MESSAGE_WALKAWAY, "Take good care of yourself traveller. Would be a shame to lose such a courageous wanderer to those green monsters.") +npcHandler:setMessage(MESSAGE_FAREWELL, "Take good care of yourself traveller. Would be a shame to lose such a courageous wanderer to those green monsters.") + npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table diff --git a/data-otservbr-global/scripts/quests/tower_defence_quest/creaturescripts_goblin_leader_kill.lua b/data-otservbr-global/scripts/quests/tower_defence_quest/creaturescripts_goblin_leader_kill.lua new file mode 100644 index 00000000000..15358e22fb8 --- /dev/null +++ b/data-otservbr-global/scripts/quests/tower_defence_quest/creaturescripts_goblin_leader_kill.lua @@ -0,0 +1,13 @@ +local creaturescripts_goblin_leader_kill = CreatureEvent("GoblinLeaderDeath") + +function creaturescripts_goblin_leader_kill.onDeath(creature) + onDeathForDamagingPlayers(creature, function(creature, player) + if player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 2 then + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 3) + end + end) + + return true +end + +creaturescripts_goblin_leader_kill:register() diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 9d70115026f..d3642d0e862 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -927,6 +927,12 @@ QuestDoorAction = { { x = 32204, y = 31022, z = 14 }, }, }, + [Storage.Quest.U8_1.TowerDefenceQuest.Door] = { + itemId = 6258, + itemPos = { + { x = 32600, y = 31758, z = 9 }, + }, + }, } QuestDoorUnique = { From 96c42c0b4587f8ff20574dccabc1020dc32854ff Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 25 Jul 2024 13:48:08 +0000 Subject: [PATCH 041/112] Lua code format - (Stylua) --- .../npc/bunny_bonecrusher.lua | 73 +++++++++---------- data-otservbr-global/npc/thanita.lua | 56 +++++++------- 2 files changed, 64 insertions(+), 65 deletions(-) diff --git a/data-otservbr-global/npc/bunny_bonecrusher.lua b/data-otservbr-global/npc/bunny_bonecrusher.lua index 43869dd9b5d..2e9a3624c4e 100644 --- a/data-otservbr-global/npc/bunny_bonecrusher.lua +++ b/data-otservbr-global/npc/bunny_bonecrusher.lua @@ -51,42 +51,42 @@ npcType.onCloseChannel = function(npc, creature) end local function creatureSayCallback(npc, creature, type, message) - local player = Player(creature) - local playerId = player:getId() - - -- Check if NPC can interact with the creature - if not npcHandler:checkInteraction(npc, creature) then - return false - end - - -- Check if the message contains "mission" - if MsgContains(message, "mission") then - if player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) < 1 then - npcHandler:say({ - "Normally we don't assign missions to civilians - and particularly to MALE civilians - but in this case I think we can make an exception. ...", - "I need a courier to deliver a parcel to the watchtower in Femor Hills. You think you can handle that??", - }, npc, creature) - npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 4 then - npcHandler:say("Alright, you delivered the parcel. So what is the password Thanita told you?", npc, creature) - npcHandler:setTopic(playerId, 2) - end - elseif npcHandler:getTopic(playerId) == 1 and MsgContains(message, "yes") then - npcHandler:say("I am not sure if I should be glad now or not but anyway ... you will get a password so I will know if you just threw it away or actually delivered it. Here is the parcel. See you ....or not.", npc, creature) - player:addItem(140, 1) - player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 1) - npcHandler:setTopic(playerId, 0) - elseif npcHandler:getTopic(playerId) == 2 and MsgContains(message, "password*") then - npcHandler:say("That's right. Here is your reward some elementary arrows. You did pretty well on your mission!", npc, creature) - player:addItem(762, 50) - player:addItem(774, 50) - player:addItem(763, 50) - player:addItem(761, 50) - player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 5) - npcHandler:setTopic(playerId, 0) - end - - return true + local player = Player(creature) + local playerId = player:getId() + + -- Check if NPC can interact with the creature + if not npcHandler:checkInteraction(npc, creature) then + return false + end + + -- Check if the message contains "mission" + if MsgContains(message, "mission") then + if player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) < 1 then + npcHandler:say({ + "Normally we don't assign missions to civilians - and particularly to MALE civilians - but in this case I think we can make an exception. ...", + "I need a courier to deliver a parcel to the watchtower in Femor Hills. You think you can handle that??", + }, npc, creature) + npcHandler:setTopic(playerId, 1) + elseif player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 4 then + npcHandler:say("Alright, you delivered the parcel. So what is the password Thanita told you?", npc, creature) + npcHandler:setTopic(playerId, 2) + end + elseif npcHandler:getTopic(playerId) == 1 and MsgContains(message, "yes") then + npcHandler:say("I am not sure if I should be glad now or not but anyway ... you will get a password so I will know if you just threw it away or actually delivered it. Here is the parcel. See you ....or not.", npc, creature) + player:addItem(140, 1) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 1) + npcHandler:setTopic(playerId, 0) + elseif npcHandler:getTopic(playerId) == 2 and MsgContains(message, "password*") then + npcHandler:say("That's right. Here is your reward some elementary arrows. You did pretty well on your mission!", npc, creature) + player:addItem(762, 50) + player:addItem(774, 50) + player:addItem(763, 50) + player:addItem(761, 50) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 5) + npcHandler:setTopic(playerId, 0) + end + + return true end keywordHandler:addKeyword({ "hail general" }, StdModule.say, { npcHandler = npcHandler, text = "Salutations, commoner |PLAYERNAME|!" }) @@ -106,7 +106,6 @@ keywordHandler:addKeyword({ "green ferrets" }, StdModule.say, { npcHandler = npc keywordHandler:addKeyword({ "join" }, StdModule.say, { npcHandler = npcHandler, text = "Join what?" }) keywordHandler:addKeyword({ "join army" }, StdModule.say, { npcHandler = npcHandler, text = "Sorry, we don't recruit foreigners. Maybe you can join if you prove yourself in a mission for the queen." }) - npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setMessage(MESSAGE_GREET, "Address me properly |PLAYERNAME|!") diff --git a/data-otservbr-global/npc/thanita.lua b/data-otservbr-global/npc/thanita.lua index 452313c79ee..014ee8d1fe3 100644 --- a/data-otservbr-global/npc/thanita.lua +++ b/data-otservbr-global/npc/thanita.lua @@ -51,34 +51,34 @@ npcType.onCloseChannel = function(npc, creature) end local function creatureSayCallback(npc, creature, type, message) - local player = Player(creature) - local playerId = player:getId() - - -- Check if NPC can interact with the creature - if not npcHandler:checkInteraction(npc, creature) then - return false - end - - -- Check if the message contains "mission" - if MsgContains(message, "mission") then - if player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 1 and player:removeItem(140, 1) then - npcHandler:say({ - "Oh great! Supplies from Carlin! Let me see ......ahh, nothing meaningful at all, like always. Well, before I give you the password for the delivery, you have to help me! ...", - "I have massive problems with the goblin tribe that lives here. You look strong enough to face their leader but you need to be smart to lure him out. ...", - "I heard they don't like fire very much, maybe that's worth a try. Their beds are mostly made of straw which is known as easily inflammable. ...", - "The entrance to their cave is at the pond south east of here.", - }, npc, creature) - player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 2) - player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Door, 2) - npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 3 then - npcHandler:say("Impressive!! I could need someone like you here at the watchtower! Okay, the password you need to tell Bunny is ' password* '. Come back and visit me if you like to!", npc, creature) - player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 4) - npcHandler:setTopic(playerId, 0) - end - end - - return true + local player = Player(creature) + local playerId = player:getId() + + -- Check if NPC can interact with the creature + if not npcHandler:checkInteraction(npc, creature) then + return false + end + + -- Check if the message contains "mission" + if MsgContains(message, "mission") then + if player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 1 and player:removeItem(140, 1) then + npcHandler:say({ + "Oh great! Supplies from Carlin! Let me see ......ahh, nothing meaningful at all, like always. Well, before I give you the password for the delivery, you have to help me! ...", + "I have massive problems with the goblin tribe that lives here. You look strong enough to face their leader but you need to be smart to lure him out. ...", + "I heard they don't like fire very much, maybe that's worth a try. Their beds are mostly made of straw which is known as easily inflammable. ...", + "The entrance to their cave is at the pond south east of here.", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 2) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Door, 2) + npcHandler:setTopic(playerId, 0) + elseif player:getStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline) == 3 then + npcHandler:say("Impressive!! I could need someone like you here at the watchtower! Okay, the password you need to tell Bunny is ' password* '. Come back and visit me if you like to!", npc, creature) + player:setStorageValue(Storage.Quest.U8_1.TowerDefenceQuest.Questline, 4) + npcHandler:setTopic(playerId, 0) + end + end + + return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) From 1b57518aa7c0292a31ca5ca8d223005427ff1202 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 10:56:26 -0300 Subject: [PATCH 042/112] Waterfall Quest I believe this quest is the simplest so far and the most SURPRISING. --- data-otservbr-global/lib/core/storages.lua | 2 +- data-otservbr-global/startup/tables/chest.lua | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 4e63d0d6bc5..bf9d40b5f9b 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2086,7 +2086,7 @@ Storage = { Questline = 41398, Door = 41399, }, - Waterfall = {}, + WaterfallQuest = 41400, WhatAFoolish = {}, }, U8_2 = { -- update 8.2 - Reserved Storages 41651 - 41900 diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index bc57e35855a..d187c4dbf92 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1338,6 +1338,15 @@ ChestUnique = { weight = 7.00, storage = Storage.TibiaTales.ToOutfoxAFoxQuest.MiningHelmet, }, + -- Waterfall Quest + [6261] = { + itemId = 2472, + itemPos = { x = 32970, y = 32646, z = 8 }, + container = 5926, + reward = { { 6096, 1 }, { 3097, 1 } }, + weight = 7.00, + storage = Storage.Quest.U8_1.WaterfallQuest, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) From a73bd0aceb0ed84a5157a35bc253d600a6c48f93 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 15:17:49 -0300 Subject: [PATCH 043/112] Update chest.lua --- data-otservbr-global/startup/tables/chest.lua | 92 +++++++++---------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 2a5c6d47ad7..23fa19b8788 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1735,7 +1735,7 @@ ChestUnique = { questName = "honeyflower", }, -- The Ice Island Quest - Skeleton - Formorgar Glacier - [6216] = { + [6217] = { itemId = 4024, itemPos = { x = 32121, y = 31106, z = 12 }, container = 2853, @@ -1743,7 +1743,7 @@ ChestUnique = { weight = 97.00, storage = Storage.Quest.U8_0.TheIceIslands.FormorgarGlacierSkeleton, }, - [6217] = { + [6218] = { itemId = 2472, itemPos = { x = 32027, y = 31104, z = 11 }, reward = { { 2820, 1 } }, @@ -1751,7 +1751,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.TheIceIslands.FormorgarGlacierChest, }, -- Shards of Ancient Winters Quest - [6218] = { + [6219] = { itemId = 2523, itemPos = { x = 32483, y = 31110, z = 8 }, container = 7343, @@ -1759,7 +1759,7 @@ ChestUnique = { weight = 67.80, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Inukaya, }, - [6219] = { + [6220] = { itemId = 2523, itemPos = { x = 32431, y = 31235, z = 8 }, container = 2853, @@ -1767,7 +1767,7 @@ ChestUnique = { weight = 45.90, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Tyrsung, }, - [6220] = { + [6221] = { itemId = 2473, itemPos = { x = 32146, y = 31430, z = 8 }, container = 2853, @@ -1775,7 +1775,7 @@ ChestUnique = { weight = 45.90, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Okolnir, }, - [6221] = { + [6222] = { itemId = 4024, itemPos = { x = 32490, y = 31192, z = 10 }, container = 2853, @@ -1783,7 +1783,7 @@ ChestUnique = { weight = 52.00, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Helheim, }, - [6222] = { + [6223] = { itemId = 2472, itemPos = { x = 32154, y = 31116, z = 9 }, container = 2853, @@ -1792,7 +1792,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.ShardsofAncientWinters.FormorgarMines, }, -- Barbarian Arena Quest - Greenhorn - [6223] = { + [6224] = { itemId = 2472, itemPos = { x = 32231, y = 31065, z = 7 }, container = 2856, @@ -1800,7 +1800,7 @@ ChestUnique = { weight = 25.10, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornPresent, }, - [6224] = { + [6225] = { itemId = 2480, itemPos = { x = 32231, y = 31068, z = 7 }, container = 7342, @@ -1808,21 +1808,21 @@ ChestUnique = { weight = 158.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornBP, }, - [6225] = { + [6226] = { itemId = 2482, itemPos = { x = 32235, y = 31068, z = 7 }, reward = { { 7392, 1 } }, weight = 54.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, }, - [6226] = { + [6227] = { itemId = 2482, itemPos = { x = 32235, y = 31066, z = 7 }, reward = { { 7380, 1 } }, weight = 45.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, }, - [6227] = { + [6228] = { itemId = 2482, itemPos = { x = 32235, y = 31064, z = 7 }, reward = { { 7406, 1 } }, @@ -1830,7 +1830,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, }, -- Barbarian Arena Quest - Scrapper - [6228] = { + [6229] = { itemId = 2472, itemPos = { x = 32231, y = 31058, z = 7 }, container = 2856, @@ -1838,7 +1838,7 @@ ChestUnique = { weight = 25.10, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperPresent, }, - [6229] = { + [6230] = { itemId = 2480, itemPos = { x = 32231, y = 31068, z = 7 }, container = 7342, @@ -1846,21 +1846,21 @@ ChestUnique = { weight = 270.40, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperBP, }, - [6230] = { + [6231] = { itemId = 2482, itemPos = { x = 32235, y = 31061, z = 7 }, reward = { { 7415, 1 } }, weight = 78.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, }, - [6231] = { + [6232] = { itemId = 2482, itemPos = { x = 32235, y = 31059, z = 7 }, reward = { { 7389, 1 } }, weight = 61.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, }, - [6232] = { + [6233] = { itemId = 2482, itemPos = { x = 32235, y = 31057, z = 7 }, reward = { { 7384, 1 } }, @@ -1868,7 +1868,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, }, -- Barbarian Arena Quest - Warlord - [6233] = { + [6234] = { itemId = 2472, itemPos = { x = 32231, y = 31051, z = 7 }, container = 2856, @@ -1876,7 +1876,7 @@ ChestUnique = { weight = 13.60, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordPresent, }, - [6234] = { + [6235] = { itemId = 2480, itemPos = { x = 32231, y = 31054, z = 7 }, container = 7342, @@ -1884,21 +1884,21 @@ ChestUnique = { weight = 115.30, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordBP, }, - [6235] = { + [6236] = { itemId = 2482, itemPos = { x = 32235, y = 31054, z = 7 }, reward = { { 7429, 1 } }, weight = 39.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, - [6236] = { + [6237] = { itemId = 2482, itemPos = { x = 32235, y = 31052, z = 7 }, reward = { { 7434, 1 } }, weight = 92.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, - [6237] = { + [6238] = { itemId = 2482, itemPos = { x = 32235, y = 31050, z = 7 }, reward = { { 7390, 1 } }, @@ -1906,7 +1906,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, -- Fishing Box Quest - [6238] = { + [6239] = { itemId = 2473, itemPos = { x = 32015, y = 31409, z = 7 }, container = 2853, @@ -1915,49 +1915,49 @@ ChestUnique = { storage = Storage.Quest.U8_0.FishingBox, }, -- Koshei The Deathless Quest - [6239] = { + [6240] = { itemId = 2908, itemPos = { x = 33193, y = 32459, z = 7 }, reward = { { 7530, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart1, }, - [6240] = { + [6241] = { itemId = 1983, itemPos = { x = 33305, y = 32277, z = 10 }, reward = { { 7528, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart2, }, - [6241] = { + [6242] = { itemId = 231, itemPos = { x = 33212, y = 32593, z = 7 }, reward = { { 7531, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart3, }, - [6242] = { + [6243] = { itemId = 1983, itemPos = { x = 33053, y = 32468, z = 11 }, reward = { { 7529, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart4, }, - [6243] = { + [6244] = { itemId = 2472, itemPos = { x = 33261, y = 32444, z = 12 }, reward = { { 645, 1 } }, weight = 18.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessLegs, }, - [6244] = { + [6245] = { itemId = 2480, itemPos = { x = 33261, y = 32448, z = 12 }, reward = { { 3035, 100 } }, weight = 5.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessPlatinum, }, - [6245] = { + [6246] = { itemId = 2469, itemPos = { x = 33273, y = 32470, z = 11 }, reward = { { 3031, 100 } }, @@ -1965,70 +1965,70 @@ ChestUnique = { storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessGold, }, -- Secret Service Quest - [6246] = { + [6247] = { itemId = 2433, itemPos = { x = 32311, y = 32177, z = 5 }, reward = { { 403, 1 } }, weight = 13.00, storage = Storage.Quest.U8_1.SecretService.AHX17L89, }, - [6247] = { + [6248] = { itemId = 1983, itemPos = { x = 32156, y = 31954, z = 13 }, reward = { { 406, 1 } }, weight = 0.80, storage = Storage.Quest.U8_1.SecretService.FamilySignetRing, }, - [6248] = { + [6249] = { itemId = 2433, itemPos = { x = 33271, y = 31839, z = 3 }, reward = { { 648, 1 } }, weight = 58.00, storage = Storage.Quest.U8_1.SecretService.MagicSpellbook, }, - [6249] = { + [6250] = { itemId = 2473, itemPos = { x = 32907, y = 32012, z = 6 }, reward = { { 399, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.SecretService.BuildingPlans, }, - [6250] = { + [6251] = { itemId = 2433, itemPos = { x = 32598, y = 32380, z = 10 }, reward = { { 400, 1 } }, weight = 1.50, storage = Storage.Quest.U8_1.SecretService.SuspiciousDocuments, }, - [6251] = { + [6252] = { itemId = 2473, itemPos = { x = 32180, y = 31930, z = 11 }, reward = { { 401, 1 } }, weight = 13.00, storage = Storage.Quest.U8_1.SecretService.Book, }, - [6252] = { + [6253] = { itemId = 3634, itemPos = { x = 32876, y = 31958, z = 11 }, reward = { { 652, 1 } }, weight = 45.00, storage = Storage.Quest.U8_1.SecretService.RottenHeartOfTree, }, - [6253] = { + [6254] = { itemId = 2469, itemPos = { x = 32872, y = 31958, z = 11 }, reward = { { 5956, 1 } }, weight = 1.20, storage = Storage.Quest.U8_1.SecretService.LotteryTicket, }, - [6254] = { + [6255] = { itemId = 2472, itemPos = { x = 32643, y = 32733, z = 7 }, reward = { { 5952, 1 } }, weight = 1.20, storage = Storage.Quest.U8_1.SecretService.PoemScroll, }, - [6255] = { + [6256] = { itemId = 4240, itemPos = { x = 32773, y = 31582, z = 11 }, reward = { { 348, 1 } }, @@ -2036,21 +2036,21 @@ ChestUnique = { storage = Storage.Quest.U8_1.SecretService.IntelligenceReports, }, -- To Blind the Enemy Quest - [6256] = { + [6257] = { itemId = 2472, itemPos = { x = 32591, y = 31647, z = 3 }, reward = { { 3425, 1 } }, weight = 55.00, storage = Storage.TibiaTales.ToBlindTheEnemy.DwarvenShield, }, - [6257] = { + [6258] = { itemId = 2472, itemPos = { x = 32590, y = 31647, z = 3 }, reward = { { 3282, 1 } }, weight = 54.00, storage = Storage.TibiaTales.ToBlindTheEnemy.MorningStar, }, - [6258] = { + [6259] = { itemId = 2434, itemPos = { x = 32588, y = 31645, z = 3 }, container = 2853, @@ -2058,7 +2058,7 @@ ChestUnique = { weight = 31.00, storage = Storage.TibiaTales.ToBlindTheEnemy.BP1, }, - [6259] = { + [6260] = { itemId = 2434, itemPos = { x = 32588, y = 31644, z = 3 }, container = 2853, @@ -2067,7 +2067,7 @@ ChestUnique = { storage = Storage.TibiaTales.ToBlindTheEnemy.BP2, }, -- To Outfox a Fox Quest - [6260] = { + [6261] = { itemId = 2469, itemPos = { x = 32467, y = 31970, z = 5 }, reward = { { 139, 1 } }, @@ -2075,7 +2075,7 @@ ChestUnique = { storage = Storage.TibiaTales.ToOutfoxAFoxQuest.MiningHelmet, }, -- Waterfall Quest - [6261] = { + [6262] = { itemId = 2472, itemPos = { x = 32970, y = 32646, z = 8 }, container = 5926, From 4a185a30ae5563c033a039145a8194eda0998168 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:03:05 -0300 Subject: [PATCH 044/112] Fix conflit --- .../quests/the_ancient_tombs/actions_ruins_instruments.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-otservbr-global/scripts/quests/the_ancient_tombs/actions_ruins_instruments.lua b/data-otservbr-global/scripts/quests/the_ancient_tombs/actions_ruins_instruments.lua index 247498616f2..b74fd2c9600 100644 --- a/data-otservbr-global/scripts/quests/the_ancient_tombs/actions_ruins_instruments.lua +++ b/data-otservbr-global/scripts/quests/the_ancient_tombs/actions_ruins_instruments.lua @@ -41,5 +41,5 @@ function theAncientRuinsInstru.onUse(player, item, fromPosition, target, toPosit return true end -theAncientRuinsInstru:aid(12105) +theAncientRuinsInstru:aid(12106) theAncientRuinsInstru:register() From c05f873a3aca9767fac982db902c17fa4e3d27f2 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:46:11 -0300 Subject: [PATCH 045/112] More fix conflicts --- data-otservbr-global/startup/tables/item.lua | 3 +-- data-otservbr-global/startup/tables/lever.lua | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index a899e2d30f6..2a8659ef937 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -998,6 +998,7 @@ ItemUnique = { [3266] = { itemId = 10145, itemPos = { x = 32229, y = 31051, z = 7 }, + }, -- The Pits of Inferno Quest [3303] = { itemId = 431, @@ -1191,7 +1192,6 @@ ItemUnique = { itemId = 31484, itemPos = { x = 33395, y = 32660, z = 6 }, }, - -- Kilmaresh -- First mission -- data\scripts\quests\kilmaresh\1-fafnars-wrath\2-ambassadors-treason.lua @@ -1212,7 +1212,6 @@ ItemUnique = { itemId = 31269, itemPos = { x = 33879, y = 31490, z = 6 }, }, - [40033] = { -- Gryphon mask itemId = 31630, itemPos = { x = 33841, y = 31682, z = 3 }, diff --git a/data-otservbr-global/startup/tables/lever.lua b/data-otservbr-global/startup/tables/lever.lua index b6eb14d37ac..0c88b00fe19 100644 --- a/data-otservbr-global/startup/tables/lever.lua +++ b/data-otservbr-global/startup/tables/lever.lua @@ -166,6 +166,7 @@ LeverUnique = { [1017] = { itemId = 2772, itemPos = { x = 33172, y = 31896, z = 8 }, + }, -- The Pits of Inferno [1037] = { itemId = 2772, From 4dc6678ac4733fe5146de4b0c4a141ac3f675f7a Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:52:59 -0300 Subject: [PATCH 046/112] Elvenbane Quest changed to To Blind the Enemy Quest In version 8. Through the Tibia Wiki this quest was updated and you can't even find Elvenbane anymore. --- data-otservbr-global/startup/tables/chest.lua | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 74a5ff8a21a..452aec60690 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1627,37 +1627,6 @@ ChestUnique = { reward = { { 3271, 1 } }, -- 5 power bolt, 12 burst arrow questName = "spikesword", }, - -- Elvenbane Quest - [6172] = { - useKV = true, - itemId = 2434, - itemPos = { x = 32588, y = 31644, z = 3 }, - container = 2853, - reward = { { 3031, 100 }, { 3028, 2 } }, -- 100 gold coin, 2 small diamond - questName = "elvebanequest1", - }, - [6173] = { - useKV = true, - itemId = 2434, - itemPos = { x = 32588, y = 31645, z = 3 }, - container = 2853, - reward = { { 3059, 1 }, { 3147, 1 }, { 237, 1 } }, -- spellbook, blank rune, strong mana potion - questName = "elvebanequest2", - }, - [6174] = { - useKV = true, - itemId = 2472, - itemPos = { x = 32590, y = 31647, z = 3 }, - reward = { { 3282, 1 } }, -- - questName = "elvebanequest3", - }, - [6175] = { - useKV = true, - itemId = 2472, - itemPos = { x = 32591, y = 31647, z = 3 }, - reward = { { 3425, 1 } }, -- - questName = "elvebanequest4", - }, -- Iron Hammer Quest [6176] = { useKV = true, From cf3b021a26dd4aa9b3bddd223710c91fd4900642 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 25 Jul 2024 18:03:48 -0300 Subject: [PATCH 047/112] more --- data-otservbr-global/startup/tables/chest.lua | 174 +++++++++--------- 1 file changed, 87 insertions(+), 87 deletions(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 452aec60690..2e9cca87210 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1628,7 +1628,7 @@ ChestUnique = { questName = "spikesword", }, -- Iron Hammer Quest - [6176] = { + [6172] = { useKV = true, itemId = 2473, itemPos = { x = 32434, y = 31938, z = 8 }, @@ -1636,7 +1636,7 @@ ChestUnique = { questName = "ironhamer", }, -- Plate Armor quest - [6177] = { + [6173] = { useKV = true, itemId = 2474, itemPos = { x = 33327, y = 32182, z = 7 }, @@ -1644,14 +1644,14 @@ ChestUnique = { questName = "platearmor", }, -- Stealth Ring Quest - [6178] = { + [6174] = { useKV = true, itemId = 1983, itemPos = { x = 33315, y = 32277, z = 11 }, reward = { { 3084, 250 } }, -- protection amulet questName = "stealhring1", }, - [6179] = { + [6175] = { useKV = true, itemId = 1983, itemPos = { x = 33315, y = 32282, z = 11 }, @@ -1659,28 +1659,28 @@ ChestUnique = { questName = "stealhring2", }, -- Steel Helmet Quest - [6180] = { + [6176] = { useKV = true, itemId = 2434, itemPos = { x = 32460, y = 31951, z = 5 }, reward = { { 3031, 56 } }, -- 56 gold coin questName = "steelhelmet1", }, - [6181] = { + [6177] = { useKV = true, itemId = 2469, itemPos = { x = 32464, y = 31957, z = 5 }, reward = { { 3031, 47 } }, -- 47 gold coin questName = "steelhelmet2", }, - [6182] = { + [6178] = { useKV = true, itemId = 2473, itemPos = { x = 32462, y = 31947, z = 4 }, reward = { { 3351, 1 } }, -- steel helmet questName = "steelhelmet3", }, - [6183] = { + [6179] = { useKV = true, itemId = 2472, itemPos = { x = 32467, y = 31962, z = 4 }, @@ -1688,7 +1688,7 @@ ChestUnique = { questName = "steelhelmet4", }, -- Battle Axe Quest - [6184] = { + [6180] = { useKV = true, itemId = 4285, itemPos = { x = 32305, y = 32254, z = 9 }, @@ -1696,7 +1696,7 @@ ChestUnique = { questName = "battleaxe", }, -- Doublet Quest - [6185] = { + [6181] = { useKV = true, itemId = 408, itemPos = { x = 32084, y = 32181, z = 8 }, @@ -1704,7 +1704,7 @@ ChestUnique = { questName = "doublet", }, -- Honey Flower Quest - [6186] = { + [6182] = { useKV = true, itemId = 9226, itemPos = { x = 32005, y = 32139, z = 3 }, @@ -1712,7 +1712,7 @@ ChestUnique = { questName = "honeyflower", }, -- The Medusa Quest - [6187] = { + [6183] = { itemId = 1983, itemPos = { x = 33049, y = 32399, z = 10 }, container = 2853, @@ -1721,7 +1721,7 @@ ChestUnique = { storage = Storage.Quest.U7_3.TheMedusaQuest, }, -- Serpentine Tower Quest - [6188] = { + [6184] = { itemId = 2472, itemPos = { x = 33150, y = 32862, z = 7 }, weight = 0.20, @@ -1729,7 +1729,7 @@ ChestUnique = { storage = Storage.Quest.U7_3.SerpentineTower.WhitePearl, }, -- Elephant Tusk Quest - [6189] = { + [6185] = { itemId = 2472, itemPos = { x = 32922, y = 32755, z = 7 }, weight = 0.20, @@ -1737,14 +1737,14 @@ ChestUnique = { storage = Storage.Quest.U7_5.ElephantTusk, }, -- The Explorer Society - Books - [6190] = { + [6186] = { itemId = 2434, itemPos = { x = 32770, y = 32245, z = 8 }, weight = 13, reward = { { 2821, 1 } }, storage = Storage.Quest.U7_6.ExplorerSociety.Books.Cyclops, }, - [6191] = { + [6187] = { itemId = 2523, itemPos = { x = 32786, y = 32254, z = 8 }, weight = 13.00, @@ -1752,7 +1752,7 @@ ChestUnique = { storage = Storage.Quest.U7_6.ExplorerSociety.Books.Hengis, }, -- Witch House Quest - [6192] = { + [6188] = { itemId = 2472, itemPos = { x = 32867, y = 31909, z = 8 }, weight = 23.30, @@ -1761,7 +1761,7 @@ ChestUnique = { storage = Storage.QuestChests.WitchHouseQuest, }, -- Simon The Beggar's Favorite Staff - [6193] = { + [6189] = { itemId = 2482, itemPos = { x = 33167, y = 31600, z = 15 }, weight = 38.00, @@ -1769,7 +1769,7 @@ ChestUnique = { storage = Storage.QuestChests.SimonTheBeggarsFavoriteStaff, }, -- Druid Outfit Quest - Wolf Tooth Chain - [6194] = { + [6190] = { itemId = 2480, itemPos = { x = 32939, y = 31776, z = 9 }, weight = 3.30, @@ -1777,7 +1777,7 @@ ChestUnique = { storage = Storage.Quest.U7_8.DruidOutfits.WolfToothChain, }, -- Hunter Outfits Quest - Elane Crossbow - [6195] = { + [6191] = { itemId = 2472, itemPos = { x = 32369, y = 32795, z = 10 }, weight = 40.00, @@ -1785,7 +1785,7 @@ ChestUnique = { storage = Storage.Quest.U7_8.HunterOutfits.ElaneCrossbow, }, -- Knight Outfits Quest - Ramsay the Reckless Helmet - [6196] = { + [6192] = { itemId = 2472, itemPos = { x = 32860, y = 32516, z = 11 }, weight = 46.00, @@ -1793,7 +1793,7 @@ ChestUnique = { storage = Storage.Quest.U7_8.KnightOutfits.RamsaysHelmetChest, }, -- Oriental Outfits Quest - Chest - [6197] = { + [6193] = { itemId = 2472, itemPos = { x = 32088, y = 32780, z = 11 }, weight = 4.50, @@ -1801,7 +1801,7 @@ ChestUnique = { storage = Storage.Quest.U7_8.OrientalOutfits.CoralComb, }, -- The Shattered Isles Quest - Dragahs Spellbook - [6198] = { + [6194] = { itemId = 4240, itemPos = { x = 32093, y = 32574, z = 8 }, weight = 58.00, @@ -1809,7 +1809,7 @@ ChestUnique = { storage = Storage.Quest.U7_8.TheShatteredIsles.DragahsSpellbook, }, -- Dreamer's Challenge Quest - [6199] = { + [6195] = { itemId = 4240, itemPos = { x = 32860, y = 32249, z = 9 }, weight = 150.00, @@ -1817,14 +1817,14 @@ ChestUnique = { reward = { { 2816, 1 }, { 3285, 1 }, { 3352, 1 }, { 3558, 1 } }, storage = Storage.Quest.U7_9.DreamersChallenge.BPLongSword, }, - [6200] = { + [6196] = { itemId = 2472, itemPos = { x = 32850, y = 32285, z = 14 }, weight = 13.00, reward = { { 2821, 1 } }, storage = Storage.Quest.U7_9.DreamersChallenge.ChestBook, }, - [6201] = { + [6197] = { itemId = 2469, itemPos = { x = 32749, y = 32341, z = 14 }, weight = 15.30, @@ -1832,7 +1832,7 @@ ChestUnique = { reward = { { 6498, 1 }, { 2874, 1 }, { 3602, 1 } }, storage = Storage.Quest.U7_9.DreamersChallenge.ChestsWine, }, - [6202] = { + [6198] = { itemId = 2469, itemPos = { x = 32751, y = 32341, z = 14 }, weight = 15.30, @@ -1840,7 +1840,7 @@ ChestUnique = { reward = { { 6498, 1 }, { 2874, 1 }, { 3602, 1 } }, storage = Storage.Quest.U7_9.DreamersChallenge.ChestsWine, }, - [6203] = { + [6199] = { itemId = 2469, itemPos = { x = 32753, y = 32341, z = 14 }, weight = 15.30, @@ -1848,7 +1848,7 @@ ChestUnique = { reward = { { 6498, 1 }, { 2874, 1 }, { 3602, 1 } }, storage = Storage.Quest.U7_9.DreamersChallenge.ChestsWine, }, - [6204] = { + [6200] = { itemId = 2469, itemPos = { x = 32755, y = 32341, z = 14 }, weight = 15.30, @@ -1856,7 +1856,7 @@ ChestUnique = { reward = { { 6498, 1 }, { 2874, 1 }, { 3602, 1 } }, storage = Storage.Quest.U7_9.DreamersChallenge.ChestsWine, }, - [6205] = { + [6201] = { itemId = 2469, itemPos = { x = 32835, y = 32223, z = 14 }, weight = 0.30, @@ -1864,21 +1864,21 @@ ChestUnique = { storage = Storage.Quest.U7_9.DreamersChallenge.Chests3SmallDiamond, }, -- The Pits of Inferno - [6206] = { + [6202] = { itemId = 2472, itemPos = { x = 32828, y = 32340, z = 7 }, weight = 13.00, reward = { { 2836, 1 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.ChestTible, }, - [6207] = { + [6203] = { itemId = 5972, itemPos = { x = 32854, y = 32325, z = 11 }, weight = 13.00, reward = { { 2816, 1 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.CorpseBook, }, - [6208] = { + [6204] = { itemId = 5972, itemPos = { x = 32832, y = 32277, z = 10 }, weight = 40.90, @@ -1886,7 +1886,7 @@ ChestUnique = { reward = { { 6561, 1 }, { 6299, 1 }, { 3052, 1 }, { 5021, 3 }, { 3026, 5 }, { 3035, 11 }, { 5944, 2 }, { 3160, 3 }, { 3155, 2 }, { 3147, 1 }, { 238, 1 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.CorpsePirateBP, }, - [6209] = { + [6205] = { itemId = 2472, itemPos = { x = 32826, y = 32232, z = 11 }, weight = 20.70, @@ -1894,49 +1894,49 @@ ChestUnique = { reward = { { 11605, 1 }, { 11607, 1 }, { 11609, 1 }, { 11603, 1 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.RewardChestBP, }, - [6210] = { + [6206] = { itemId = 2472, itemPos = { x = 32824, y = 32232, z = 11 }, weight = 10.00, reward = { { 3035, 100 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.RewardChestPlatinumCoins, }, - [6211] = { + [6207] = { itemId = 2472, itemPos = { x = 32819, y = 32232, z = 11 }, weight = 10.00, reward = { { 3249, 1 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.RewardChestFrozenStarlight, }, - [6212] = { + [6208] = { itemId = 2472, itemPos = { x = 32814, y = 32232, z = 11 }, weight = 8.50, reward = { { 5791, 1 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.RewardChestStuffed, }, - [6213] = { + [6209] = { itemId = 2472, itemPos = { x = 32812, y = 32232, z = 11 }, weight = 8.00, reward = { { 6529, 1 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.RewardChestSoftBoots, }, - [6214] = { + [6210] = { itemId = 2472, itemPos = { x = 32804, y = 32229, z = 11 }, weight = 40.00, reward = { { 3341, 1 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.RewardChestStaffAvengerArbalest, }, - [6215] = { + [6211] = { itemId = 2472, itemPos = { x = 32806, y = 32229, z = 11 }, weight = 64.00, reward = { { 6527, 1 } }, storage = Storage.Quest.U7_9.ThePitsOfInferno.RewardChestStaffAvengerArbalest, }, - [6216] = { + [6212] = { itemId = 2472, itemPos = { x = 32808, y = 32229, z = 11 }, weight = 95.00, @@ -1944,7 +1944,7 @@ ChestUnique = { storage = Storage.Quest.U7_9.ThePitsOfInferno.RewardChestStaffAvengerArbalest, }, -- The Ice Island Quest - Skeleton - Formorgar Glacier - [6217] = { + [6213] = { itemId = 4024, itemPos = { x = 32121, y = 31106, z = 12 }, container = 2853, @@ -1952,7 +1952,7 @@ ChestUnique = { weight = 97.00, storage = Storage.Quest.U8_0.TheIceIslands.FormorgarGlacierSkeleton, }, - [6218] = { + [6214] = { itemId = 2472, itemPos = { x = 32027, y = 31104, z = 11 }, reward = { { 2820, 1 } }, @@ -1960,7 +1960,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.TheIceIslands.FormorgarGlacierChest, }, -- Shards of Ancient Winters Quest - [6219] = { + [6215] = { itemId = 2523, itemPos = { x = 32483, y = 31110, z = 8 }, container = 7343, @@ -1968,7 +1968,7 @@ ChestUnique = { weight = 67.80, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Inukaya, }, - [6220] = { + [6216] = { itemId = 2523, itemPos = { x = 32431, y = 31235, z = 8 }, container = 2853, @@ -1976,7 +1976,7 @@ ChestUnique = { weight = 45.90, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Tyrsung, }, - [6221] = { + [6217] = { itemId = 2473, itemPos = { x = 32146, y = 31430, z = 8 }, container = 2853, @@ -1984,7 +1984,7 @@ ChestUnique = { weight = 45.90, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Okolnir, }, - [6222] = { + [6218] = { itemId = 4024, itemPos = { x = 32490, y = 31192, z = 10 }, container = 2853, @@ -1992,7 +1992,7 @@ ChestUnique = { weight = 52.00, storage = Storage.Quest.U8_0.ShardsofAncientWinters.Helheim, }, - [6223] = { + [6219] = { itemId = 2472, itemPos = { x = 32154, y = 31116, z = 9 }, container = 2853, @@ -2001,7 +2001,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.ShardsofAncientWinters.FormorgarMines, }, -- Barbarian Arena Quest - Greenhorn - [6224] = { + [6220] = { itemId = 2472, itemPos = { x = 32231, y = 31065, z = 7 }, container = 2856, @@ -2009,7 +2009,7 @@ ChestUnique = { weight = 25.10, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornPresent, }, - [6225] = { + [6221] = { itemId = 2480, itemPos = { x = 32231, y = 31068, z = 7 }, container = 7342, @@ -2017,21 +2017,21 @@ ChestUnique = { weight = 158.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornBP, }, - [6226] = { + [6222] = { itemId = 2482, itemPos = { x = 32235, y = 31068, z = 7 }, reward = { { 7392, 1 } }, weight = 54.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, }, - [6227] = { + [6223] = { itemId = 2482, itemPos = { x = 32235, y = 31066, z = 7 }, reward = { { 7380, 1 } }, weight = 45.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, }, - [6228] = { + [6224] = { itemId = 2482, itemPos = { x = 32235, y = 31064, z = 7 }, reward = { { 7406, 1 } }, @@ -2039,7 +2039,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.BarbarianArena.RewardGreenhornWeapons, }, -- Barbarian Arena Quest - Scrapper - [6229] = { + [6225] = { itemId = 2472, itemPos = { x = 32231, y = 31058, z = 7 }, container = 2856, @@ -2047,7 +2047,7 @@ ChestUnique = { weight = 25.10, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperPresent, }, - [6230] = { + [6226] = { itemId = 2480, itemPos = { x = 32231, y = 31068, z = 7 }, container = 7342, @@ -2055,21 +2055,21 @@ ChestUnique = { weight = 270.40, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperBP, }, - [6231] = { + [6227] = { itemId = 2482, itemPos = { x = 32235, y = 31061, z = 7 }, reward = { { 7415, 1 } }, weight = 78.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, }, - [6232] = { + [6228] = { itemId = 2482, itemPos = { x = 32235, y = 31059, z = 7 }, reward = { { 7389, 1 } }, weight = 61.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, }, - [6233] = { + [6229] = { itemId = 2482, itemPos = { x = 32235, y = 31057, z = 7 }, reward = { { 7384, 1 } }, @@ -2077,7 +2077,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.BarbarianArena.RewardScrapperWeapons, }, -- Barbarian Arena Quest - Warlord - [6234] = { + [6230] = { itemId = 2472, itemPos = { x = 32231, y = 31051, z = 7 }, container = 2856, @@ -2085,7 +2085,7 @@ ChestUnique = { weight = 13.60, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordPresent, }, - [6235] = { + [6231] = { itemId = 2480, itemPos = { x = 32231, y = 31054, z = 7 }, container = 7342, @@ -2093,21 +2093,21 @@ ChestUnique = { weight = 115.30, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordBP, }, - [6236] = { + [6232] = { itemId = 2482, itemPos = { x = 32235, y = 31054, z = 7 }, reward = { { 7429, 1 } }, weight = 39.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, - [6237] = { + [6233] = { itemId = 2482, itemPos = { x = 32235, y = 31052, z = 7 }, reward = { { 7434, 1 } }, weight = 92.00, storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, - [6238] = { + [6234] = { itemId = 2482, itemPos = { x = 32235, y = 31050, z = 7 }, reward = { { 7390, 1 } }, @@ -2115,7 +2115,7 @@ ChestUnique = { storage = Storage.Quest.U8_0.BarbarianArena.RewardWarlordWeapons, }, -- Fishing Box Quest - [6239] = { + [6235] = { itemId = 2473, itemPos = { x = 32015, y = 31409, z = 7 }, container = 2853, @@ -2124,49 +2124,49 @@ ChestUnique = { storage = Storage.Quest.U8_0.FishingBox, }, -- Koshei The Deathless Quest - [6240] = { + [6236] = { itemId = 2908, itemPos = { x = 33193, y = 32459, z = 7 }, reward = { { 7530, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart1, }, - [6241] = { + [6237] = { itemId = 1983, itemPos = { x = 33305, y = 32277, z = 10 }, reward = { { 7528, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart2, }, - [6242] = { + [6238] = { itemId = 231, itemPos = { x = 33212, y = 32593, z = 7 }, reward = { { 7531, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart3, }, - [6243] = { + [6239] = { itemId = 1983, itemPos = { x = 33053, y = 32468, z = 11 }, reward = { { 7529, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiAmuletPart4, }, - [6244] = { + [6240] = { itemId = 2472, itemPos = { x = 33261, y = 32444, z = 12 }, reward = { { 645, 1 } }, weight = 18.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessLegs, }, - [6245] = { + [6241] = { itemId = 2480, itemPos = { x = 33261, y = 32448, z = 12 }, reward = { { 3035, 100 } }, weight = 5.00, storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessPlatinum, }, - [6246] = { + [6242] = { itemId = 2469, itemPos = { x = 33273, y = 32470, z = 11 }, reward = { { 3031, 100 } }, @@ -2174,70 +2174,70 @@ ChestUnique = { storage = Storage.Quest.U8_1.KosheiTheDeathless.KosheiTheDeathlessGold, }, -- Secret Service Quest - [6247] = { + [6243] = { itemId = 2433, itemPos = { x = 32311, y = 32177, z = 5 }, reward = { { 403, 1 } }, weight = 13.00, storage = Storage.Quest.U8_1.SecretService.AHX17L89, }, - [6248] = { + [6244] = { itemId = 1983, itemPos = { x = 32156, y = 31954, z = 13 }, reward = { { 406, 1 } }, weight = 0.80, storage = Storage.Quest.U8_1.SecretService.FamilySignetRing, }, - [6249] = { + [6245] = { itemId = 2433, itemPos = { x = 33271, y = 31839, z = 3 }, reward = { { 648, 1 } }, weight = 58.00, storage = Storage.Quest.U8_1.SecretService.MagicSpellbook, }, - [6250] = { + [6246] = { itemId = 2473, itemPos = { x = 32907, y = 32012, z = 6 }, reward = { { 399, 1 } }, weight = 1.00, storage = Storage.Quest.U8_1.SecretService.BuildingPlans, }, - [6251] = { + [6247] = { itemId = 2433, itemPos = { x = 32598, y = 32380, z = 10 }, reward = { { 400, 1 } }, weight = 1.50, storage = Storage.Quest.U8_1.SecretService.SuspiciousDocuments, }, - [6252] = { + [6248] = { itemId = 2473, itemPos = { x = 32180, y = 31930, z = 11 }, reward = { { 401, 1 } }, weight = 13.00, storage = Storage.Quest.U8_1.SecretService.Book, }, - [6253] = { + [6249] = { itemId = 3634, itemPos = { x = 32876, y = 31958, z = 11 }, reward = { { 652, 1 } }, weight = 45.00, storage = Storage.Quest.U8_1.SecretService.RottenHeartOfTree, }, - [6254] = { + [6250] = { itemId = 2469, itemPos = { x = 32872, y = 31958, z = 11 }, reward = { { 5956, 1 } }, weight = 1.20, storage = Storage.Quest.U8_1.SecretService.LotteryTicket, }, - [6255] = { + [6251] = { itemId = 2472, itemPos = { x = 32643, y = 32733, z = 7 }, reward = { { 5952, 1 } }, weight = 1.20, storage = Storage.Quest.U8_1.SecretService.PoemScroll, }, - [6256] = { + [6252] = { itemId = 4240, itemPos = { x = 32773, y = 31582, z = 11 }, reward = { { 348, 1 } }, @@ -2245,21 +2245,21 @@ ChestUnique = { storage = Storage.Quest.U8_1.SecretService.IntelligenceReports, }, -- To Blind the Enemy Quest - [6257] = { + [6253] = { itemId = 2472, itemPos = { x = 32591, y = 31647, z = 3 }, reward = { { 3425, 1 } }, weight = 55.00, storage = Storage.TibiaTales.ToBlindTheEnemy.DwarvenShield, }, - [6258] = { + [6254] = { itemId = 2472, itemPos = { x = 32590, y = 31647, z = 3 }, reward = { { 3282, 1 } }, weight = 54.00, storage = Storage.TibiaTales.ToBlindTheEnemy.MorningStar, }, - [6259] = { + [6255] = { itemId = 2434, itemPos = { x = 32588, y = 31645, z = 3 }, container = 2853, @@ -2267,7 +2267,7 @@ ChestUnique = { weight = 31.00, storage = Storage.TibiaTales.ToBlindTheEnemy.BP1, }, - [6260] = { + [6256] = { itemId = 2434, itemPos = { x = 32588, y = 31644, z = 3 }, container = 2853, @@ -2276,7 +2276,7 @@ ChestUnique = { storage = Storage.TibiaTales.ToBlindTheEnemy.BP2, }, -- To Outfox a Fox Quest - [6261] = { + [6257] = { itemId = 2469, itemPos = { x = 32467, y = 31970, z = 5 }, reward = { { 139, 1 } }, @@ -2284,7 +2284,7 @@ ChestUnique = { storage = Storage.TibiaTales.ToOutfoxAFoxQuest.MiningHelmet, }, -- Waterfall Quest - [6262] = { + [6258] = { itemId = 2472, itemPos = { x = 32970, y = 32646, z = 8 }, container = 5926, From 24f77710a0d6163585cc19326987aab92d10e0f8 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:15:15 -0300 Subject: [PATCH 048/112] What a Foolish Quest - Jester Outfits Quest - more --- data-canary/scripts/actions/other/fluids.lua | 1 + data-otservbr-global/lib/core/quests.lua | 26 +-- data-otservbr-global/lib/core/storages.lua | 88 ++++---- data-otservbr-global/npc/ariella.lua | 4 +- data-otservbr-global/npc/avar_tar.lua | 4 +- data-otservbr-global/npc/bozo.lua | 198 +++++++++--------- data-otservbr-global/npc/carina.lua | 5 +- data-otservbr-global/npc/hairycles.lua | 7 +- data-otservbr-global/npc/hjaern.lua | 4 +- data-otservbr-global/npc/kazzan.lua | 33 ++- data-otservbr-global/npc/lorbas.lua | 6 +- data-otservbr-global/npc/markwin.lua | 4 +- data-otservbr-global/npc/mirabell.lua | 8 +- data-otservbr-global/npc/nah_bob.lua | 4 +- data-otservbr-global/npc/sam.lua | 7 +- data-otservbr-global/npc/simon_the_beggar.lua | 7 +- data-otservbr-global/npc/the_orc_king.lua | 4 +- .../npc/theodore_loveless.lua | 2 +- data-otservbr-global/npc/wyda.lua | 6 +- data-otservbr-global/npc/yaman.lua | 4 +- .../quests/others/exterminator_flask.lua | 40 ++++ .../quests/tibia_tales/exterminator_flask.lua | 19 -- .../actions/quests/what_a_foolish/flask.lua | 29 --- .../quests/what_a_foolish/worn_cloth.lua | 19 -- .../scripts/actions/tools/kitchen_knife.lua | 55 ----- .../scripts/actions/tools/spoon.lua | 36 ---- .../action_cat_basket.lua} | 4 +- .../what_a_foolish_quest/action_contract.lua} | 2 +- .../what_a_foolish_quest/action_crate.lua} | 2 +- .../what_a_foolish_quest/action_cushion.lua} | 4 +- .../what_a_foolish_quest/action_disguise.lua} | 0 .../what_a_foolish_quest/action_watch.lua} | 2 +- .../action_worn_cloth.lua | 20 ++ .../movements_destroy_pies.lua} | 4 +- data-otservbr-global/startup/tables/chest.lua | 16 ++ .../startup/tables/door_quest.lua | 4 +- data-otservbr-global/startup/tables/item.lua | 13 ++ data/libs/functions/player.lua | 20 +- data/npclib/npc_system/modules.lua | 6 +- data/scripts/actions/tools/kitchen_knife.lua | 8 + data/scripts/actions/tools/spoon.lua | 8 + data/scripts/lib/register_actions.lua | 102 ++++----- 42 files changed, 406 insertions(+), 429 deletions(-) create mode 100644 data-otservbr-global/scripts/actions/quests/others/exterminator_flask.lua delete mode 100644 data-otservbr-global/scripts/actions/quests/tibia_tales/exterminator_flask.lua delete mode 100644 data-otservbr-global/scripts/actions/quests/what_a_foolish/flask.lua delete mode 100644 data-otservbr-global/scripts/actions/quests/what_a_foolish/worn_cloth.lua delete mode 100644 data-otservbr-global/scripts/actions/tools/kitchen_knife.lua delete mode 100644 data-otservbr-global/scripts/actions/tools/spoon.lua rename data-otservbr-global/scripts/{actions/quests/what_a_foolish/cat_basket.lua => quests/what_a_foolish_quest/action_cat_basket.lua} (81%) rename data-otservbr-global/scripts/{actions/quests/what_a_foolish/contract.lua => quests/what_a_foolish_quest/action_contract.lua} (83%) rename data-otservbr-global/scripts/{actions/quests/what_a_foolish/crate.lua => quests/what_a_foolish_quest/action_crate.lua} (85%) rename data-otservbr-global/scripts/{actions/quests/what_a_foolish/cushion.lua => quests/what_a_foolish_quest/action_cushion.lua} (65%) rename data-otservbr-global/scripts/{actions/quests/what_a_foolish/disguise.lua => quests/what_a_foolish_quest/action_disguise.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/what_a_foolish/watch.lua => quests/what_a_foolish_quest/action_watch.lua} (89%) create mode 100644 data-otservbr-global/scripts/quests/what_a_foolish_quest/action_worn_cloth.lua rename data-otservbr-global/scripts/{movements/quests/what_a_foolish/destroy_pies.lua => quests/what_a_foolish_quest/movements_destroy_pies.lua} (79%) create mode 100644 data/scripts/actions/tools/kitchen_knife.lua create mode 100644 data/scripts/actions/tools/spoon.lua diff --git a/data-canary/scripts/actions/other/fluids.lua b/data-canary/scripts/actions/other/fluids.lua index 7c197890568..1fccb3a4b88 100644 --- a/data-canary/scripts/actions/other/fluids.lua +++ b/data-canary/scripts/actions/other/fluids.lua @@ -81,6 +81,7 @@ function fluid.onUse(player, item, fromPosition, target, toPosition, isHotkey) item:transform(item:getId(), 0) end end + return true end diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 843b77d0b92..3132c2cbbb0 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -4828,12 +4828,12 @@ if not Quests then }, [33] = { name = "What a foolish Quest", - startStorageId = Storage.WhatAFoolish.Questline, + startStorageId = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, startStorageValue = 1, missions = { [1] = { name = "What a foolish Quest - Tasks of a Fool", - storageId = Storage.WhatAFoolish.Mission1, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission1, missionId = 10336, startValue = 1, endValue = 2, @@ -4844,7 +4844,7 @@ if not Quests then }, [2] = { name = "What a foolish Quest - That stinks!", - storageId = Storage.WhatAFoolish.Mission2, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission2, missionId = 10337, startValue = 1, endValue = 2, @@ -4857,7 +4857,7 @@ if not Quests then }, [3] = { name = "What a foolish Quest - A Piece of Cake", - storageId = Storage.WhatAFoolish.Mission3, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission3, missionId = 10338, startValue = 1, endValue = 2, @@ -4868,7 +4868,7 @@ if not Quests then }, [4] = { name = "What a foolish Quest - Fool Spirits", - storageId = Storage.WhatAFoolish.Mission4, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission4, missionId = 10339, startValue = 1, endValue = 3, @@ -4880,7 +4880,7 @@ if not Quests then }, [5] = { name = "What a foolish Quest - Watch out for the foolish", - storageId = Storage.WhatAFoolish.Mission5, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission5, missionId = 10340, startValue = 1, endValue = 3, @@ -4894,7 +4894,7 @@ if not Quests then }, [6] = { name = "What a foolish Quest - The queen of farts", - storageId = Storage.WhatAFoolish.Mission6, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission6, missionId = 10341, startValue = 1, endValue = 5, @@ -4908,7 +4908,7 @@ if not Quests then }, [7] = { name = "What a foolish Quest - For your mice only", - storageId = Storage.WhatAFoolish.Mission7, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission7, missionId = 10342, startValue = 1, endValue = 2, @@ -4919,7 +4919,7 @@ if not Quests then }, [8] = { name = "What a foolish Quest - Smoking is a foolish thing", - storageId = Storage.WhatAFoolish.Mission8, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission8, missionId = 10343, startValue = 1, endValue = 5, @@ -4933,7 +4933,7 @@ if not Quests then }, [9] = { name = "What a foolish Quest - A fool's bargain", - storageId = Storage.WhatAFoolish.Mission9, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission9, missionId = 10344, startValue = 1, endValue = 5, @@ -4949,7 +4949,7 @@ if not Quests then }, [10] = { name = "What a foolish Quest - A sweet surprise", - storageId = Storage.WhatAFoolish.Mission10, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission10, missionId = 10345, startValue = 1, endValue = 2, @@ -4961,7 +4961,7 @@ if not Quests then }, [11] = { name = "What a foolish Quest - The final foolishness", - storageId = Storage.WhatAFoolish.Mission11, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.Mission11, missionId = 10346, startValue = 1, endValue = 4, @@ -4976,7 +4976,7 @@ if not Quests then }, [12] = { name = "What a foolish Quest - To become a complete fool", - storageId = Storage.WhatAFoolish.JesterOutfit, + storageId = Storage.Quest.U8_1.WhatAFoolishQuest.JesterOutfit, missionId = 10347, startValue = 4, endValue = 4, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 17a1910e8ab..5e1f0ff56ae 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -1154,49 +1154,6 @@ Storage = { Sinew = 52052, }, }, - WhatAFoolish = { - -- Reserved storage from 52060 - 52099 - Questline = 52060, - Mission1 = 52061, - Mission2 = 52062, - Mission3 = 52063, - Mission4 = 52064, - Mission5 = 52065, - Mission6 = 52066, - Mission7 = 52067, - Mission8 = 52068, - Mission9 = 52069, - Mission10 = 52070, - Mission11 = 52071, - PieBuying = 52072, - PieBoxTimer = 52073, - TriangleTowerDoor = 52074, - EmperorBeardShave = 52075, - JesterOutfit = 52076, - WhoopeeCushion = 52077, - QueenEloiseCatDoor = 52078, - CatBasket = 52079, - ScaredCarina = 52080, - InflammableSulphur = 52081, - SpecialLeaves = 52082, - Cigar = 52083, - Contract = 52084, - CookieDelivery = { - SimonTheBeggar = 52085, - Markwin = 52086, - Ariella = 52087, - Hairycles = 52088, - Djinn = 52089, - AvarTar = 52090, - OrcKing = 52091, - Lorbas = 52092, - Wyda = 52093, - Hjaern = 52094, - }, - OldWornCloth = 52095, - LostDisguise = 52096, - ScaredKazzan = 52097, - }, SpiritHunters = { -- Reserved storage from 52100 - 52109 Mission01 = 52100, @@ -1987,7 +1944,50 @@ Storage = { Door = 41399, }, WaterfallQuest = 41400, - WhatAFoolish = {}, + WhatAFoolishQuest = { + Questline = 41401, + Mission1 = 41402, + Mission2 = 41403, + Mission3 = 41404, + Mission4 = 41405, + Mission5 = 41406, + Mission6 = 41407, + Mission7 = 41408, + Mission8 = 41409, + Mission9 = 41410, + Mission10 = 41411, + Mission11 = 41412, + PieBuying = 41413, + PieBoxTimer = 41414, + TriangleTowerDoor = 41415, + EmperorBeardShave = 41416, + JesterOutfit = 41417, + WhoopeeCushion = 41418, + QueenEloiseCatDoor = 41419, + CatBasket = 41420, + ScaredCarina = 41421, + InflammableSulphur = 41422, + SpecialLeaves = 41423, + Cigar = 41424, + Contract = 41425, + CookieDelivery = { + SimonTheBeggar = 41426, + Markwin = 41427, + Ariella = 41428, + Hairycles = 41429, + Djinn = 41430, + AvarTar = 41431, + OrcKing = 41432, + Lorbas = 41433, + Wyda = 41434, + Hjaern = 41435, + }, + OldWornCloth = 41436, + LostDisguise = 41437, + ScaredKazzan = 41438, + MagicalWatch = 41439, + BagBookKnife = 41440, + }, }, U8_2 = { -- update 8.2 - Reserved Storages 41651 - 41900 ElementalSpheres = {}, diff --git a/data-otservbr-global/npc/ariella.lua b/data-otservbr-global/npc/ariella.lua index b9565a9b28f..483e50515ea 100644 --- a/data-otservbr-global/npc/ariella.lua +++ b/data-otservbr-global/npc/ariella.lua @@ -65,7 +65,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.Ariella) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Ariella) ~= 1 then npcHandler:say("So you brought a cookie to a pirate?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -100,7 +100,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.Ariella, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Ariella, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end diff --git a/data-otservbr-global/npc/avar_tar.lua b/data-otservbr-global/npc/avar_tar.lua index 79d95f91862..6e99f557a6a 100644 --- a/data-otservbr-global/npc/avar_tar.lua +++ b/data-otservbr-global/npc/avar_tar.lua @@ -64,7 +64,7 @@ local function creatureSayCallback(npc, creature, type, message) }, npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.AvarTar) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.AvarTar) ~= 1 then npcHandler:say("Do you really think you could bribe a hero like me with a meagre cookie?", npc, creature) npcHandler:setTopic(playerId, 3) end @@ -80,7 +80,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.AvarTar, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.AvarTar, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end diff --git a/data-otservbr-global/npc/bozo.lua b/data-otservbr-global/npc/bozo.lua index 51d5c4aca7a..7ebb30bd214 100644 --- a/data-otservbr-global/npc/bozo.lua +++ b/data-otservbr-global/npc/bozo.lua @@ -69,8 +69,8 @@ local config = { yes = true, removeItem = { itemId = 102 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission1, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission1, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 2 }, }, }, [2] = { @@ -82,10 +82,10 @@ local config = { "Take this special vial and fill it with the perfect stench. Then return here and we will talk about your mission.", }, }, - addItem = { itemId = 107 }, + addItem = { itemId = 135 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission2, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 3 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission2, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 3 }, }, }, [3] = { @@ -95,10 +95,10 @@ local config = { [3] = "Ugh. You got some efficient stuff there. I have to admit you have a talent for such distasteful matters. Perhaps you feel ready for another mission. Just ask me about it.", }, yes = true, - removeItem = { itemId = 9170 }, + removeItem = { itemId = 107 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission2, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 4 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission2, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 4 }, }, }, [4] = { @@ -111,8 +111,8 @@ local config = { }, }, updateStorages = { - { key = Storage.WhatAFoolish.Mission3, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 5 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission3, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 5 }, }, }, [5] = { @@ -129,8 +129,8 @@ local config = { removeItem = { itemId = 119 }, pie = true, updateStorages = { - { key = Storage.WhatAFoolish.Mission3, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 6 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission3, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 6 }, }, }, [6] = { @@ -141,8 +141,8 @@ local config = { }, }, updateStorages = { - { key = Storage.WhatAFoolish.Mission4, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 7 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission4, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 7 }, }, }, [7] = { @@ -156,10 +156,10 @@ local config = { }, }, yes = true, - removeItem = { itemId = 2874, count = 18, subType = 15 }, + removeItem = { itemId = 2874, count = 18, subType = 2 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission4, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 8 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission4, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 8 }, }, addItem = { itemId = 117 }, }, @@ -172,8 +172,8 @@ local config = { yes = true, removeItem = { itemId = 118 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission4, value = 3 }, - { key = Storage.WhatAFoolish.Questline, value = 9 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission4, value = 3 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 9 }, }, }, [9] = { @@ -185,9 +185,9 @@ local config = { }, }, updateStorages = { - { key = Storage.WhatAFoolish.Mission5, value = 1 }, - { key = Storage.WhatAFoolish.TriangleTowerDoor, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 10 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission5, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.TriangleTowerDoor, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 10 }, }, }, [10] = { @@ -205,8 +205,8 @@ local config = { yes = true, checkItemCount = 112, updateStorages = { - { key = Storage.WhatAFoolish.Mission5, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 11 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission5, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 11 }, }, }, [11] = { @@ -219,11 +219,11 @@ local config = { }, }, yes = true, - checkStorage = Storage.WhatAFoolish.EmperorBeardShave, + checkStorage = Storage.Quest.U8_1.WhatAFoolishQuest.EmperorBeardShave, removeItem = { itemId = 113 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission5, value = 3 }, - { key = Storage.WhatAFoolish.Questline, value = 12 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission5, value = 3 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 12 }, }, }, [12] = { @@ -236,8 +236,8 @@ local config = { [1] = "You know, nothing has brought more fun and joy to humanity than the whoopee cushion. Its creation is a delicate matter though. Bring me 4 pieces of minotaur leather first and then lets talk about this mission.", }, updateStorages = { - { key = Storage.WhatAFoolish.Mission6, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 14 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission6, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 14 }, }, }, [14] = { @@ -249,8 +249,8 @@ local config = { yes = true, removeItem = { itemId = 5878, count = 4 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission6, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 15 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission6, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 15 }, }, }, [15] = { @@ -262,8 +262,8 @@ local config = { yes = true, removeItem = { itemId = 5879 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission6, value = 3 }, - { key = Storage.WhatAFoolish.Questline, value = 16 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission6, value = 3 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 16 }, }, effect = CONST_ME_POFF, }, @@ -276,8 +276,8 @@ local config = { }, addItem = { itemId = 121 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission6, value = 4 }, - { key = Storage.WhatAFoolish.Questline, value = 17 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission6, value = 4 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 17 }, }, }, [17] = { @@ -287,10 +287,10 @@ local config = { [3] = "This will cause quite a commotion in Carlin. I think we should play some pranks in many more places to spread humour all over the world. Talk to me about your next mission to learn more about it.", }, yes = true, - checkStorage = Storage.WhatAFoolish.WhoopeeCushion, + checkStorage = Storage.Quest.U8_1.WhatAFoolishQuest.WhoopeeCushion, updateStorages = { - { key = Storage.WhatAFoolish.Mission6, value = 5 }, - { key = Storage.WhatAFoolish.Questline, value = 18 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission6, value = 5 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 18 }, }, }, [18] = { @@ -301,9 +301,9 @@ local config = { }, }, updateStorages = { - { key = Storage.WhatAFoolish.Mission7, value = 1 }, - { key = Storage.WhatAFoolish.QueenEloiseCatDoor, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 19 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission7, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.QueenEloiseCatDoor, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 19 }, }, }, [19] = { @@ -313,10 +313,10 @@ local config = { [3] = "Excellent. The Venoreans have been safe from my pranks far too long. If you are ready for another mission, talk to me.", }, yes = true, - checkStorage = Storage.WhatAFoolish.ScaredCarina, + checkStorage = Storage.Quest.U8_1.WhatAFoolishQuest.ScaredCarina, updateStorages = { - { key = Storage.WhatAFoolish.Mission7, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 20 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission7, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 20 }, }, }, [20] = { @@ -327,8 +327,8 @@ local config = { }, }, updateStorages = { - { key = Storage.WhatAFoolish.Mission8, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 21 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission8, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 21 }, }, }, [21] = { @@ -340,8 +340,8 @@ local config = { yes = true, removeItem = { itemId = 124 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission8, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 22 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission8, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 22 }, }, }, [22] = { @@ -353,8 +353,8 @@ local config = { yes = true, removeItem = { itemId = 3129 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission8, value = 3 }, - { key = Storage.WhatAFoolish.Questline, value = 23 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission8, value = 3 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 23 }, }, }, [23] = { @@ -366,21 +366,21 @@ local config = { }, addItem = { itemId = 141 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission8, value = 4 }, - { key = Storage.WhatAFoolish.Questline, value = 24 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission8, value = 4 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 24 }, }, }, [24] = { text = { - [1] = "Have you [1]ed the exploding cigar to Theodore Loveless?", + [1] = "Have you delivered the exploding cigar to Theodore Loveless?", [2] = "No, you haven't! Why do only fools apply for the fools guild?", [3] = "You're hell of a guy, I bet you enjoyed it. As you represent everything a fool stands for, I give you this fool's sceptre to spiceup your jester outfit. If you are interested, there are even more missions for a fool like yourself. Just ask about them.", }, yes = true, - checkStorage = Storage.WhatAFoolish.Cigar, + checkStorage = Storage.Quest.U8_1.WhatAFoolishQuest.Cigar, updateStorages = { - { key = Storage.WhatAFoolish.Mission8, value = 5 }, - { key = Storage.WhatAFoolish.Questline, value = 25 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission8, value = 5 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 25 }, }, addItem = { itemId = 895 }, addon = 1, @@ -393,10 +393,10 @@ local config = { }, }, updateStorages = { - { key = Storage.WhatAFoolish.Mission9, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 26 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission9, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 26 }, }, - addItem = { itemId = 107 }, + addItem = { itemId = 135 }, }, [26] = { text = { @@ -410,10 +410,10 @@ local config = { yes = true, removeItem = { itemId = 125 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission9, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 27 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission9, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 27 }, }, - addItem = { itemId = 107 }, + addItem = { itemId = 135 }, }, [27] = { text = { @@ -424,8 +424,8 @@ local config = { yes = true, removeItem = { itemId = 9149 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission9, value = 3 }, - { key = Storage.WhatAFoolish.Questline, value = 28 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission9, value = 3 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 28 }, }, }, [28] = { @@ -438,8 +438,8 @@ local config = { }, }, updateStorages = { - { key = Storage.WhatAFoolish.Mission9, value = 4 }, - { key = Storage.WhatAFoolish.Questline, value = 29 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission9, value = 4 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 29 }, }, addItem = { itemId = 127 }, }, @@ -450,10 +450,10 @@ local config = { [3] = "What a splendid prank! If you are ready for more, ask me about the next mission.", }, yes = true, - checkStorage = Storage.WhatAFoolish.Contract, + checkStorage = Storage.Quest.U8_1.WhatAFoolishQuest.Contract, updateStorages = { - { key = Storage.WhatAFoolish.Mission9, value = 5 }, - { key = Storage.WhatAFoolish.Questline, value = 30 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission9, value = 5 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 30 }, }, }, [30] = { @@ -472,8 +472,8 @@ local config = { }, yes = true, updateStorages = { - { key = Storage.WhatAFoolish.Mission10, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 31 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission10, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 31 }, }, addItem = { itemId = 130, count = 10 }, }, @@ -485,8 +485,8 @@ local config = { yes = true, cookiesDelivery = true, updateStorages = { - { key = Storage.WhatAFoolish.Mission10, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 32 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission10, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 32 }, }, }, [32] = { @@ -497,8 +497,8 @@ local config = { }, }, updateStorages = { - { key = Storage.WhatAFoolish.Mission11, value = 1 }, - { key = Storage.WhatAFoolish.Questline, value = 33 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission11, value = 1 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 33 }, }, }, [33] = { @@ -514,8 +514,8 @@ local config = { yes = true, removeItem = { itemId = 5909, count = 5 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission11, value = 2 }, - { key = Storage.WhatAFoolish.Questline, value = 34 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission11, value = 2 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 34 }, }, addItem = { itemId = 142 }, }, @@ -532,8 +532,8 @@ local config = { yes = true, removeItem = { itemId = 143 }, updateStorages = { - { key = Storage.WhatAFoolish.Mission11, value = 3 }, - { key = Storage.WhatAFoolish.Questline, value = 35 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission11, value = 3 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 35 }, }, addItem = { itemId = 144 }, }, @@ -544,10 +544,10 @@ local config = { [3] = "By Kurik, I knew you have it in you. You are a fool after my fancy. Take this jester hat, you deserve it. It will go nicely with your jester costume.", }, yes = true, - checkStorage = Storage.WhatAFoolish.ScaredKazzan, + checkStorage = Storage.Quest.U8_1.WhatAFoolishQuest.ScaredKazzan, updateStorages = { - { key = Storage.WhatAFoolish.Mission11, value = 4 }, - { key = Storage.WhatAFoolish.Questline, value = 36 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Mission11, value = 4 }, + { key = Storage.Quest.U8_1.WhatAFoolishQuest.Questline, value = 36 }, }, addItem = { itemId = 894 }, addon = 2, @@ -622,7 +622,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "join") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) ~= -1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) ~= -1 then npcHandler:say("Wow, your stupidity would be pride and joy for every fool. You've already applied as a member. Let's rather talk about your current mission.", npc, creature) return true end @@ -630,7 +630,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Do you wish to become a jester and join the fools guild?", npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "mission") then - local targetValue = config[player:getStorageValue(Storage.WhatAFoolish.Questline)] + local targetValue = config[player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline)] if not targetValue then return true end @@ -654,8 +654,8 @@ local function creatureSayCallback(npc, creature, type, message) value[playerId] = targetValue end elseif MsgContains(message, "jester outfit") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 12 then - local targetValue = jesterOutfit[player:getStorageValue(Storage.WhatAFoolish.JesterOutfit)] + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 12 then + local targetValue = jesterOutfit[player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.JesterOutfit)] if not targetValue then return true end @@ -675,9 +675,9 @@ local function creatureSayCallback(npc, creature, type, message) }, npc, creature) npcHandler:setTopic(playerId, 2) elseif npcHandler:getTopic(playerId) == 2 then - player:setStorageValue(Storage.WhatAFoolish.Questline, 1) - player:setStorageValue(Storage.WhatAFoolish.Questlog, 1) - player:setStorageValue(Storage.WhatAFoolish.Mission1, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questlog, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Mission1, 1) npcHandler:say({ "What a foolish decision! You are indeed a worthy candidate! But let's talk about business ...", "Being a jester is not just about telling jokes. A good jester heavily relies on requisites ...", @@ -712,7 +712,7 @@ local function creatureSayCallback(npc, creature, type, message) end end - if targetValue.cookiesDeliveryy then + if targetValue.cookiesDelivery then if player:getCookiesDelivered() ~= 10 then npcHandler:say("No, you aren't! Why do only fools apply for the fools guild?", npc, creature) npcHandler:setTopic(playerId, 0) @@ -721,7 +721,7 @@ local function creatureSayCallback(npc, creature, type, message) end if targetValue.pie then - if player:getStorageValue(Storage.WhatAFoolish.PieBoxTimer) > 0 and player:getStorageValue(Storage.WhatAFoolish.PieBoxTimer) < os.time() then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBoxTimer) > 0 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBoxTimer) < os.time() then npcHandler:say("Eeeek! What have you done?? These pies are crawling with bugs! Those must be the infamous parcel bugs! Get some new pies at once you wannabe fool, and this time without any bugs!", npc, creature) npcHandler:setTopic(playerId, 0) return true @@ -764,11 +764,11 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.JesterOutfit, targetValue.newValue) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.JesterOutfit, targetValue.newValue) if targetValue.addOutfit then player:addOutfit(270) player:addOutfit(273) - player:setStorageValue(Storage.WhatAFoolish.Questline, 13) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline, 13) end npcHandler:say(targetValue.text[2], npc, creature) if not targetValue.last then @@ -781,18 +781,18 @@ local function creatureSayCallback(npc, creature, type, message) if table.contains({ 1, 2 }, npcHandler:getTopic(playerId)) then npcHandler:say("Too bad, I'm convinced you have it in you.", npc, creature) elseif table.contains({ 3, 4 }, npcHandler:getTopic(playerId)) then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 11 and player:getStorageValue(Storage.WhatAFoolish.EmperorBeardShave) == 1 then - player:setStorageValue(Storage.WhatAFoolish.Questline, 12) - player:setStorageValue(Storage.WhatAFoolish.Mission5, 3) + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 11 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.EmperorBeardShave) == 1 then + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline, 12) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Mission5, 3) npcHandler:say({ "You shaved the emperor, but lost the beard? What kind of fool are you? Well, at least he will have a nice surprise when he wakes up ...", "Still, as a small recognition of your accomplishments I'm willing to tell you how to get your own jester outfit. If you are interested in more fun and adventures, ask me for more missions.", }, npc, creature) - elseif player:getStorageValue(Storage.WhatAFoolish.Questline) == 30 then + elseif player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 30 then npcHandler:say("You won't be successful in the fool's world with such an attitude.", npc, creature) - elseif player:getStorageValue(Storage.WhatAFoolish.Questline) == 35 and player:getStorageValue(Storage.WhatAFoolish.LostDisguise) ~= 1 then + elseif player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 35 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.LostDisguise) ~= 1 then player:addItem(144, 1) - player:setStorageValue(Storage.WhatAFoolish.LostDisguise, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.LostDisguise, 1) npcHandler:say("You wasted the disguise?? Why do only fools apply for the fools guild? Here... try again, but be wittier this time.", npc, creature) else npcHandler:say("Oh boy, why do only fools apply for the fools guild?", npc, creature) diff --git a/data-otservbr-global/npc/carina.lua b/data-otservbr-global/npc/carina.lua index d5373f30356..8225fa44232 100644 --- a/data-otservbr-global/npc/carina.lua +++ b/data-otservbr-global/npc/carina.lua @@ -81,7 +81,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.ScaredCarina, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.ScaredCarina, 1) npcHandler:say("IIIEEEEEK!", npc, creature) npcHandler:setTopic(playerId, 0) end @@ -94,6 +94,9 @@ local function creatureSayCallback(npc, creature, type, message) return true end + +npcHandler:setMessage(MESSAGE_GREET, "Welcome, |PLAYERNAME|. I am looking forward to trade with you.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/hairycles.lua b/data-otservbr-global/npc/hairycles.lua index 9af42751219..1c407cdc383 100644 --- a/data-otservbr-global/npc/hairycles.lua +++ b/data-otservbr-global/npc/hairycles.lua @@ -204,6 +204,11 @@ local function creatureSayCallback(npc, creature, type, message) "You go there and take good moss from evil dworcs. Talk with me about mission when having moss.", }, npc, creature) end + elseif MsgContains(message, "cookie") then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Hairycles) ~= 1 then + npcHandler:say("Oh you bring cookie for old Hairycles?", npc, creature) + npcHandler:setTopic(playerId, 19) + end elseif MsgContains(message, "outfit") or MsgContains(message, "shamanic") then if questProgress == 18 then if player:getStorageValue(Storage.Quest.U7_6.TheApeCity.ShamanOutfit) ~= 1 then @@ -461,7 +466,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.Hairycles, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Hairycles, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end diff --git a/data-otservbr-global/npc/hjaern.lua b/data-otservbr-global/npc/hjaern.lua index d9fa7928ba8..c367fba653b 100644 --- a/data-otservbr-global/npc/hjaern.lua +++ b/data-otservbr-global/npc/hjaern.lua @@ -166,7 +166,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.Hjaern) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Hjaern) ~= 1 then npcHandler:say("You want to sacrifice a cookie to the spirits?", npc, creature) npcHandler:setTopic(playerId, 6) end @@ -212,7 +212,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.Hjaern, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Hjaern, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end diff --git a/data-otservbr-global/npc/kazzan.lua b/data-otservbr-global/npc/kazzan.lua index f579a81d49b..797bf28fe67 100644 --- a/data-otservbr-global/npc/kazzan.lua +++ b/data-otservbr-global/npc/kazzan.lua @@ -50,6 +50,29 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end +local function endConversationWithDelay(npcHandler, npc, creature) + addEvent(function() + npcHandler:unGreet(npc, creature) + end, 1000) +end + +local function greetCallback(npc, creature, message) + local player = Player(creature) + local playerId = player:getId() + + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 35 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.ScaredKazzan) ~= 1 and player:getOutfit().lookType == 65 then + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.ScaredKazzan, 1) + npcHandler:say("WAAAAAHHH!!!", npc, creature) + endConversationWithDelay(npcHandler, npc, creature) + return false + end + + npcHandler:say("Feel welcome in the lands of the children of the enlightened Daraman, |PLAYERNAME|.", npc, creature) + npcHandler:setInteraction(npc, creature) + + return true +end + local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() @@ -58,9 +81,8 @@ local function creatureSayCallback(npc, creature, type, message) return false end - -- Pegando a quest if MsgContains(message, "mission") and player:getStorageValue(Storage.TibiaTales.ToAppeaseTheMightyQuest) < 1 then - if player:getStorageValue(Storage.DjinnWar.Faction.MaridDoor) < 1 and player:getStorageValue(Storage.DjinnWar.Faction.EfreetDoor) < 1 then + if player:getStorageValue(Storage.Quest.U7_4.DjinnWar.Faction.MaridDoor) < 1 and player:getStorageValue(Storage.Quest.U7_4.DjinnWar.Faction.EfreetDoor) < 1 then npcHandler:say("Do you know the location of the djinn fortresses in the mountains south of here?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -86,18 +108,13 @@ local function creatureSayCallback(npc, creature, type, message) player:addItem(3035, 20) end - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 35 and player:getStorageValue(Storage.WhatAFoolish.ScaredKazzan) ~= 1 and player:getOutfit().lookType == 65 then - player:setStorageValue(Storage.WhatAFoolish.ScaredKazzan, 1) - npcHandler:say("WAAAAAHHH!!!", npc, creature) - return false - end return true end npcHandler:setCallback(CALLBACK_SET_INTERACTION, onAddFocus) npcHandler:setCallback(CALLBACK_REMOVE_INTERACTION, onReleaseFocus) -npcHandler:setMessage(MESSAGE_GREET, "Feel welcome in the lands of the children of the enlightened Daraman, |PLAYERNAME|.") +npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/lorbas.lua b/data-otservbr-global/npc/lorbas.lua index 55f8953fd26..c43ca131c15 100644 --- a/data-otservbr-global/npc/lorbas.lua +++ b/data-otservbr-global/npc/lorbas.lua @@ -59,7 +59,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.Lorbas) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Lorbas) ~= 1 then npcHandler:say("You want me to eat this cookie?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -71,7 +71,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.Lorbas, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Lorbas, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end @@ -90,6 +90,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "Be greeted, dear traveller.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/markwin.lua b/data-otservbr-global/npc/markwin.lua index f0b2e055f5f..c30dd0242f3 100644 --- a/data-otservbr-global/npc/markwin.lua +++ b/data-otservbr-global/npc/markwin.lua @@ -93,7 +93,7 @@ local function creatureSayCallback(npc, creature, type, message) end end elseif MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.Markwin) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Markwin) ~= 1 then npcHandler:say("You bring me ... a cookie???", npc, creature) npcHandler:setTopic(playerId, 2) end @@ -110,7 +110,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.Markwin, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Markwin, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end diff --git a/data-otservbr-global/npc/mirabell.lua b/data-otservbr-global/npc/mirabell.lua index 5bb5070245a..db5f256ccd4 100644 --- a/data-otservbr-global/npc/mirabell.lua +++ b/data-otservbr-global/npc/mirabell.lua @@ -65,7 +65,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "pies") then - if player:getStorageValue(Storage.WhatAFoolish.PieBuying) == -1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBuying) == -1 then npcHandler:say("Oh you've heard about my excellent pies, didn't you? I am flattered. Unfortunately I'm completely out of flour. I need 2 portions of flour for one pie. Just tell me when you have enough flour for your pies.", npc, creature) return true end @@ -83,7 +83,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.PieBuying, player:getStorageValue(Storage.WhatAFoolish.PieBuying) + 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBuying, player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBuying) + 1) npcHandler:say("Excellent. Now I can start baking the pies. As you helped me, I will make you a good price for them.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then @@ -94,8 +94,8 @@ local function creatureSayCallback(npc, creature, type, message) end player:addItem(119, 1) - player:setStorageValue(Storage.WhatAFoolish.PieBuying, player:getStorageValue(Storage.WhatAFoolish.PieBuying) - 1) - player:setStorageValue(Storage.WhatAFoolish.PieBoxTimer, os.time() + 1200) -- 20 minutes to deliver + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBuying, player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBuying) - 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBoxTimer, os.time() + 1200) -- 20 minutes to deliver npcHandler:say({ "Here they are. Wait! Two things you should know: Firstly, they won't last long in the sun so you better get them to their destination as quickly as possible ...", "Secondly, since my pies are that delicious it is forbidden to leave the town with them. We can't afford to attract more tourists to Edron.", diff --git a/data-otservbr-global/npc/nah_bob.lua b/data-otservbr-global/npc/nah_bob.lua index a2511034e06..5514e0a8075 100644 --- a/data-otservbr-global/npc/nah_bob.lua +++ b/data-otservbr-global/npc/nah_bob.lua @@ -85,7 +85,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.Djinn) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Djinn) ~= 1 then npcHandler:say("You brought cookies! How nice of you! Can I have one?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -97,7 +97,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.Djinn, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Djinn, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end diff --git a/data-otservbr-global/npc/sam.lua b/data-otservbr-global/npc/sam.lua index 0fb2e8e1b5a..77b082ec02e 100644 --- a/data-otservbr-global/npc/sam.lua +++ b/data-otservbr-global/npc/sam.lua @@ -94,7 +94,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, "2000 steel shields") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) ~= 29 or player:getStorageValue(Storage.WhatAFoolish.Contract) == 2 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) ~= 29 or player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Contract) == 2 then npcHandler:say("My offers are weapons, armors, helmets, legs, and shields. If you'd like to see my offers, ask me for a {trade}.", npc, creature) return true end @@ -102,7 +102,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("What? You want to buy 2000 steel shields??", npc, creature) npcHandler:setTopic(playerId, 2) elseif MsgContains(message, "contract") then - if player:getStorageValue(Storage.WhatAFoolish.Contract) == 0 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Contract) == 0 then npcHandler:say("Have you signed the contract?", npc, creature) npcHandler:setTopic(playerId, 4) end @@ -124,7 +124,6 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 3) elseif npcHandler:getTopic(playerId) == 3 then player:addItem(129, 1) - player:setStorageValue(Storage.WhatAFoolish.Contract, 1) npcHandler:say("Fine! Here is the contract. Please sign it. Talk to me about it again when you're done.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 4 then @@ -134,7 +133,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.Contract, 2) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Contract, 1) npcHandler:say("Excellent! I will start working right away! Now that I am going to be rich, I will take the opportunity to tell some people what I REALLY think about them!", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/simon_the_beggar.lua b/data-otservbr-global/npc/simon_the_beggar.lua index 1706321d132..d54c1de811d 100644 --- a/data-otservbr-global/npc/simon_the_beggar.lua +++ b/data-otservbr-global/npc/simon_the_beggar.lua @@ -230,7 +230,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.SimonTheBeggar) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.SimonTheBeggar) ~= 1 then npcHandler:say("Have you brought a cookie for the poor?", npc, creature) npcHandler:setTopic(playerId, 8) end @@ -239,12 +239,13 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 9) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 8 then - if not player:removeItem(130, 8) then + if not player:removeItem(130, 1) then npcHandler:say("You have no cookie that I'd like.", npc, creature) npcHandler:setTopic(playerId, 0) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.SimonTheBeggar, 1) + + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.SimonTheBeggar, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end diff --git a/data-otservbr-global/npc/the_orc_king.lua b/data-otservbr-global/npc/the_orc_king.lua index c7450c7dfdb..b2a736c117d 100644 --- a/data-otservbr-global/npc/the_orc_king.lua +++ b/data-otservbr-global/npc/the_orc_king.lua @@ -86,7 +86,7 @@ local function creatureSayCallback(npc, creature, type, message) end end elseif MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.OrcKing) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.OrcKing) ~= 1 then npcHandler:say("You bring me a stinking cookie???", npc, creature) npcHandler:setTopic(playerId, 2) end @@ -115,7 +115,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.OrcKing, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.OrcKing, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end diff --git a/data-otservbr-global/npc/theodore_loveless.lua b/data-otservbr-global/npc/theodore_loveless.lua index 23182106883..4e98c45cbf1 100644 --- a/data-otservbr-global/npc/theodore_loveless.lua +++ b/data-otservbr-global/npc/theodore_loveless.lua @@ -68,7 +68,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.Cigar, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Cigar, 1) npc:getPosition():sendMagicEffect(CONST_ME_EXPLOSIONHIT) npcHandler:say({ "Ah what a fine blend. I really ...", diff --git a/data-otservbr-global/npc/wyda.lua b/data-otservbr-global/npc/wyda.lua index 340e21db0f8..6037122dfd7 100644 --- a/data-otservbr-global/npc/wyda.lua +++ b/data-otservbr-global/npc/wyda.lua @@ -62,7 +62,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.Wyda) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Wyda) ~= 1 then npcHandler:say("You brought me a cookie?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -91,7 +91,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.Wyda, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Wyda, 1) player:addCondition(condition) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") @@ -129,6 +129,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "What? A mundane talking to me? Amusing.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/yaman.lua b/data-otservbr-global/npc/yaman.lua index cb86fd7346f..85620c0d79e 100644 --- a/data-otservbr-global/npc/yaman.lua +++ b/data-otservbr-global/npc/yaman.lua @@ -100,7 +100,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("I trade Enchanted Chicken Wing for Boots of Haste, Warrior Sweat for 4 Warrior Helmets, Fighting Spirit for 2 Royal Helmet Magic Sulphur for 3 Fire Swords", npc, creature) npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "cookie") then - if player:getStorageValue(Storage.WhatAFoolish.Questline) == 31 and player:getStorageValue(Storage.WhatAFoolish.CookieDelivery.Djinn) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Djinn) ~= 1 then npcHandler:say("You brought cookies! How nice of you! Can I have one?", npc, creature) npcHandler:setTopic(playerId, 5) end @@ -126,7 +126,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - player:setStorageValue(Storage.WhatAFoolish.CookieDelivery.Djinn, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Djinn, 1) if player:getCookiesDelivered() == 10 then player:addAchievement("Allow Cookies?") end diff --git a/data-otservbr-global/scripts/actions/quests/others/exterminator_flask.lua b/data-otservbr-global/scripts/actions/quests/others/exterminator_flask.lua new file mode 100644 index 00000000000..c02731008ef --- /dev/null +++ b/data-otservbr-global/scripts/actions/quests/others/exterminator_flask.lua @@ -0,0 +1,40 @@ +local config = { + [2127] = { text = "This mission stinks ... and now you do as well!", condition = true, transformId = 107 }, + [6065] = { text = "You carefully gather the quara ink", transformId = 9149 }, + [18230] = { text = "You carefully gather the stalker blood.", transformId = 125 }, +} + +local poisonField = Condition(CONDITION_OUTFIT) +poisonField:setTicks(8000) + +local exterminatorFlask = Action() + +function exterminatorFlask.onUse(player, item, fromPosition, target, toPosition, isHotkey) + if target.actionid == 4207 then + if player:getStorageValue(Storage.TibiaTales.TheExterminator) ~= 1 then + return false + end + player:setStorageValue(Storage.TibiaTales.TheExterminator, 2) + item:transform(2874, 0) + toPosition:sendMagicEffect(CONST_ME_GREEN_RINGS) + return true + end + + -- What a Foolish Quest + local targetItem = config[target.itemid] + if not targetItem then + return false + end + + if targetItem.condition then + player:addCondition(poisonField) + end + + player:say(targetItem.text, TALKTYPE_MONSTER_SAY) + player:getPosition():sendMagicEffect(CONST_ME_HITBYPOISON) + item:transform(targetItem.transformId) + return true +end + +exterminatorFlask:id(135) +exterminatorFlask:register() diff --git a/data-otservbr-global/scripts/actions/quests/tibia_tales/exterminator_flask.lua b/data-otservbr-global/scripts/actions/quests/tibia_tales/exterminator_flask.lua deleted file mode 100644 index be6914b83d8..00000000000 --- a/data-otservbr-global/scripts/actions/quests/tibia_tales/exterminator_flask.lua +++ /dev/null @@ -1,19 +0,0 @@ -local exterminatorFlask = Action() - -function exterminatorFlask.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if target.actionid ~= 4207 then - return false - end - - if player:getStorageValue(Storage.TibiaTales.TheExterminator) ~= 1 then - return false - end - - player:setStorageValue(Storage.TibiaTales.TheExterminator, 2) - item:transform(2874, 0) - toPosition:sendMagicEffect(CONST_ME_GREEN_RINGS) - return true -end - -exterminatorFlask:id(135) -exterminatorFlask:register() diff --git a/data-otservbr-global/scripts/actions/quests/what_a_foolish/flask.lua b/data-otservbr-global/scripts/actions/quests/what_a_foolish/flask.lua deleted file mode 100644 index 221fb1bddec..00000000000 --- a/data-otservbr-global/scripts/actions/quests/what_a_foolish/flask.lua +++ /dev/null @@ -1,29 +0,0 @@ -local config = { - [2127] = { text = "This mission stinks ... and now you do as well!", condition = true, transformId = 9170 }, - [6065] = { text = "You carefully gather the quara ink", transformId = 9149 }, - [18233] = { text = "You carefully gather the stalker blood.", transformId = 125 }, -} - -local poisonField = Condition(CONDITION_OUTFIT) -poisonField:setTicks(8000) -poisonField:setOutfit({ lookTypeEx = 1496 }) - -local whatFoolishFlask = Action() -function whatFoolishFlask.onUse(player, item, fromPosition, target, toPosition, isHotkey) - local targetItem = config[target.itemid] - if not targetItem then - return false - end - - if targetItem.condition then - player:addCondition(poisonField) - end - - player:say(targetItem.text, TALKTYPE_MONSTER_SAY) - player:getPosition():sendMagicEffect(CONST_ME_HITBYPOISON) - item:transform(targetItem.transformId) - return true -end - -whatFoolishFlask:id(107) -whatFoolishFlask:register() diff --git a/data-otservbr-global/scripts/actions/quests/what_a_foolish/worn_cloth.lua b/data-otservbr-global/scripts/actions/quests/what_a_foolish/worn_cloth.lua deleted file mode 100644 index c65580e58de..00000000000 --- a/data-otservbr-global/scripts/actions/quests/what_a_foolish/worn_cloth.lua +++ /dev/null @@ -1,19 +0,0 @@ -local whatFoolishWorn = Action() -function whatFoolishWorn.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if target.actionid ~= 4204 then - return false - end - - if player:getStorageValue(Storage.WhatAFoolish.Questline) ~= 34 or player:getStorageValue(Storage.WhatAFoolish.OldWornCloth) == 1 then - return false - end - - player:setStorageValue(Storage.WhatAFoolish.OldWornCloth, 1) - player:say("Amazing! That was quite fast!", TALKTYPE_MONSTER_SAY) - toPosition:sendMagicEffect(CONST_ME_BLOCKHIT) - item:transform(143) - return true -end - -whatFoolishWorn:id(142) -whatFoolishWorn:register() diff --git a/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua b/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua deleted file mode 100644 index 3a573794cfe..00000000000 --- a/data-otservbr-global/scripts/actions/tools/kitchen_knife.lua +++ /dev/null @@ -1,55 +0,0 @@ -local kitchenKnife = Action() - -local function revertItem(position, itemId, transformId) - local item = Tile(position):getItemById(itemId) - if item then - item:transform(transformId) - end -end - -function kitchenKnife.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if not target:isItem() then - return false - end - - local targetId = target:getId() - - --The Ice Islands Quest - Cure the Dogs - if targetId == 7261 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.FrostbiteHerb) < 1 then - player:addItem(7248, 1) - player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FrostbiteHerb, 1) - toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) - player:say("You cut a leaf from a frostbite herb.", TALKTYPE_MONSTER_SAY) - end - end - elseif targetId == 3647 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerCactus) < 1 then - player:addItem(7245, 1) - player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerCactus, 1) - target:transform(3646) - addEvent(revertItem, 60 * 1000, toPosition, 3646, 3647) - toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) - player:say("You cut a flower from a cactus.", TALKTYPE_MONSTER_SAY) - end - end - elseif targetId == 3753 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerBush) < 1 then - player:addItem(7249, 1) - player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerBush, 1) - target:transform(3750) - addEvent(revertItem, 60 * 1000, toPosition, 3750, 3753) - toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) - player:say("You cut a flower from a bush.", TALKTYPE_MONSTER_SAY) - end - end - end - - return onUseKitchenKnife(player, item, fromPosition, target, toPosition, isHotkey) -end - -kitchenKnife:id(3469) -kitchenKnife:register() diff --git a/data-otservbr-global/scripts/actions/tools/spoon.lua b/data-otservbr-global/scripts/actions/tools/spoon.lua deleted file mode 100644 index 48e2fe42c90..00000000000 --- a/data-otservbr-global/scripts/actions/tools/spoon.lua +++ /dev/null @@ -1,36 +0,0 @@ -local spoon = Action() - -function spoon.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if not target:isItem() then - return false - end - - -- Obtenha o ID do item alvo - local targetId = target:getId() - - --The Ice Islands Quest - Cure the Dogs - if targetId == 390 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.SulphurLava) < 1 then - player:addItem(7247, 1) -- fine sulphur - player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.SulphurLava, 1) - toPosition:sendMagicEffect(CONST_ME_MAGIC_RED) - player:say("You retrive a fine sulphur from a lava hole.", TALKTYPE_MONSTER_SAY) - end - end - elseif targetId == 3920 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.SporesMushroom) < 1 then - player:addItem(7251, 1) - player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.SporesMushroom, 1) - toPosition:sendMagicEffect(CONST_ME_MAGIC_RED) - player:say("You retrive spores from a mushroom.", TALKTYPE_MONSTER_SAY) - end - end - end - - return onUseSpoon(player, item, fromPosition, target, toPosition, isHotkey) -end - -spoon:id(3468) -spoon:register() diff --git a/data-otservbr-global/scripts/actions/quests/what_a_foolish/cat_basket.lua b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_cat_basket.lua similarity index 81% rename from data-otservbr-global/scripts/actions/quests/what_a_foolish/cat_basket.lua rename to data-otservbr-global/scripts/quests/what_a_foolish_quest/action_cat_basket.lua index a86c72577d7..65c3e22ca3b 100644 --- a/data-otservbr-global/scripts/actions/quests/what_a_foolish/cat_basket.lua +++ b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_cat_basket.lua @@ -16,11 +16,11 @@ end local whatFoolishCat = Action() function whatFoolishCat.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.WhatAFoolish.Questline) ~= 19 or player:getStorageValue(Storage.WhatAFoolish.CatBasket) == 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) ~= 19 or player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CatBasket) == 1 then return false end - player:setStorageValue(Storage.WhatAFoolish.CatBasket, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.CatBasket, 1) player:say("The queen's cat is not amused!", TALKTYPE_MONSTER_SAY) player:getPosition():sendMagicEffect(CONST_ME_DRAWBLOOD) player:say("Fchhhhh", TALKTYPE_MONSTER_SAY, false, player, effectPositions[1]) diff --git a/data-otservbr-global/scripts/actions/quests/what_a_foolish/contract.lua b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_contract.lua similarity index 83% rename from data-otservbr-global/scripts/actions/quests/what_a_foolish/contract.lua rename to data-otservbr-global/scripts/quests/what_a_foolish_quest/action_contract.lua index 281ee0bac6b..b239c212282 100644 --- a/data-otservbr-global/scripts/actions/quests/what_a_foolish/contract.lua +++ b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_contract.lua @@ -4,7 +4,7 @@ function whatFoolishContract.onUse(player, item, fromPosition, target, toPositio return false end - if player:getStorageValue(Storage.WhatAFoolish.Contract) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Contract) ~= 1 then return false end diff --git a/data-otservbr-global/scripts/actions/quests/what_a_foolish/crate.lua b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_crate.lua similarity index 85% rename from data-otservbr-global/scripts/actions/quests/what_a_foolish/crate.lua rename to data-otservbr-global/scripts/quests/what_a_foolish_quest/action_crate.lua index f38e278e3fa..cab5eba10fc 100644 --- a/data-otservbr-global/scripts/actions/quests/what_a_foolish/crate.lua +++ b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_crate.lua @@ -4,7 +4,7 @@ function whatFoolishCrate.onUse(player, item, fromPosition, target, toPosition, return false end - if player:getStorageValue(Storage.WhatAFoolish.Questline) ~= 8 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) ~= 8 then return false end diff --git a/data-otservbr-global/scripts/actions/quests/what_a_foolish/cushion.lua b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_cushion.lua similarity index 65% rename from data-otservbr-global/scripts/actions/quests/what_a_foolish/cushion.lua rename to data-otservbr-global/scripts/quests/what_a_foolish_quest/action_cushion.lua index 0def0a0284b..e3e1db99dae 100644 --- a/data-otservbr-global/scripts/actions/quests/what_a_foolish/cushion.lua +++ b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_cushion.lua @@ -4,11 +4,11 @@ function whatFoolishCushion.onUse(player, item, fromPosition, target, toPosition return false end - if player:getStorageValue(Storage.WhatAFoolish.Questline) ~= 17 or player:getStorageValue(Storage.WhatAFoolish.WhoopeeCushion) == 1 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) ~= 17 or player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.WhoopeeCushion) == 1 then return false end - player:setStorageValue(Storage.WhatAFoolish.WhoopeeCushion, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.WhoopeeCushion, 1) player:say("*chuckles maniacally*", TALKTYPE_MONSTER_SAY) player:getPosition():sendMagicEffect(CONST_ME_POFF) player:say("Woooosh!", TALKTYPE_MONSTER_SAY, false, player, toPosition) diff --git a/data-otservbr-global/scripts/actions/quests/what_a_foolish/disguise.lua b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_disguise.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/what_a_foolish/disguise.lua rename to data-otservbr-global/scripts/quests/what_a_foolish_quest/action_disguise.lua diff --git a/data-otservbr-global/scripts/actions/quests/what_a_foolish/watch.lua b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_watch.lua similarity index 89% rename from data-otservbr-global/scripts/actions/quests/what_a_foolish/watch.lua rename to data-otservbr-global/scripts/quests/what_a_foolish_quest/action_watch.lua index 4a3c881af45..8083c89d056 100644 --- a/data-otservbr-global/scripts/actions/quests/what_a_foolish/watch.lua +++ b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_watch.lua @@ -5,7 +5,7 @@ local targetDestination = { local whatFoolishWatch = Action() function whatFoolishWatch.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.WhatAFoolish.Questline) ~= 11 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) ~= 11 then return false end diff --git a/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_worn_cloth.lua b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_worn_cloth.lua new file mode 100644 index 00000000000..dd820074f0a --- /dev/null +++ b/data-otservbr-global/scripts/quests/what_a_foolish_quest/action_worn_cloth.lua @@ -0,0 +1,20 @@ +local whatFoolishWorn = Action() + +function whatFoolishWorn.onUse(player, item, fromPosition, target, toPosition, isHotkey) + if target.actionid == 4203 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) ~= 34 or player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.OldWornCloth) == 1 then + return false + end + + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.OldWornCloth, 1) + player:say("Amazing! That was quite fast!", TALKTYPE_MONSTER_SAY) + toPosition:sendMagicEffect(CONST_ME_BLOCKHIT) + item:transform(143) + return true + else + return false + end +end + +whatFoolishWorn:id(142) +whatFoolishWorn:register() diff --git a/data-otservbr-global/scripts/movements/quests/what_a_foolish/destroy_pies.lua b/data-otservbr-global/scripts/quests/what_a_foolish_quest/movements_destroy_pies.lua similarity index 79% rename from data-otservbr-global/scripts/movements/quests/what_a_foolish/destroy_pies.lua rename to data-otservbr-global/scripts/quests/what_a_foolish_quest/movements_destroy_pies.lua index de5c10a185e..de93ef3d17d 100644 --- a/data-otservbr-global/scripts/movements/quests/what_a_foolish/destroy_pies.lua +++ b/data-otservbr-global/scripts/quests/what_a_foolish_quest/movements_destroy_pies.lua @@ -6,8 +6,8 @@ function destroyPies.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.WhatAFoolish.PieBoxTimer) > os.time() then - player:getStorageValue(Storage.WhatAFoolish.PieBoxTimer, 1) + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBoxTimer) > os.time() then + player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBoxTimer, 1) end local pieBox = player:getItemById(7484, true) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 2e9cca87210..fb290604b79 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2292,6 +2292,22 @@ ChestUnique = { weight = 7.00, storage = Storage.Quest.U8_1.WaterfallQuest, }, + -- What a Foolish Quest + [6259] = { + itemId = 2469, + itemPos = { x = 32563, y = 32115, z = 4 }, + reward = { { 112, 1 } }, + weight = 0.50, + storage = Storage.Quest.U8_1.WhatAFoolishQuest.MagicalWatch, + }, + [6269] = { + itemId = 2472, + itemPos = { x = 32661, y = 31855, z = 13 }, + container = 2853, + reward = { { 3469, 1 }, { 2821, 1 }, }, + weight = 22.00, + storage = Storage.Quest.U8_1.WhatAFoolishQuest.BagBookKnife, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 740550378bd..09638311ed7 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -669,11 +669,11 @@ QuestDoorAction = { }, }, -- What a foolish door - [Storage.WhatAFoolish.TriangleTowerDoor] = { + [Storage.Quest.U8_1.WhatAFoolishQuest.TriangleTowerDoor] = { itemId = false, itemPos = { { x = 32563, y = 32116, z = 4 } }, }, - [Storage.WhatAFoolish.QueenEloiseCatDoor] = { + [Storage.Quest.U8_1.WhatAFoolishQuest.QueenEloiseCatDoor] = { itemId = false, itemPos = { { x = 32316, y = 31757, z = 9 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 2a8659ef937..8b4af042063 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -76,6 +76,19 @@ ItemAction = { { x = 32854, y = 32326, z = 11 }, }, }, + -- What a Foolish Quest + [4200] = { + itemId = 3656, + itemPos = { { x = 32349, y = 32361, z = 7 } }, + }, + [4202] = { + itemId = 5916, + itemPos = { { x = 32312, y = 31754, z = 7 } }, + }, + [4203] = { + itemId = 3520, + itemPos = { { x = 33062, y = 32431, z = 2 } }, + }, -- Into The Bone Pit Quest - ectoplasm container [4205] = { itemId = 103, diff --git a/data/libs/functions/player.lua b/data/libs/functions/player.lua index b0c74afeaa6..258708419e1 100644 --- a/data/libs/functions/player.lua +++ b/data/libs/functions/player.lua @@ -97,16 +97,16 @@ function Player.getCookiesDelivered(self) local storage, amount = { - Storage.WhatAFoolish.CookieDelivery.SimonTheBeggar, - Storage.WhatAFoolish.CookieDelivery.Markwin, - Storage.WhatAFoolish.CookieDelivery.Ariella, - Storage.WhatAFoolish.CookieDelivery.Hairycles, - Storage.WhatAFoolish.CookieDelivery.Djinn, - Storage.WhatAFoolish.CookieDelivery.AvarTar, - Storage.WhatAFoolish.CookieDelivery.OrcKing, - Storage.WhatAFoolish.CookieDelivery.Lorbas, - Storage.WhatAFoolish.CookieDelivery.Wyda, - Storage.WhatAFoolish.CookieDelivery.Hjaern, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.SimonTheBeggar, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Markwin, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Ariella, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Hairycles, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Djinn, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.AvarTar, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.OrcKing, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Lorbas, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Wyda, + Storage.Quest.U8_1.WhatAFoolishQuest.CookieDelivery.Hjaern, }, 0 for i = 1, #storage do if self:getStorageValue(storage[i]) == 1 then diff --git a/data/npclib/npc_system/modules.lua b/data/npclib/npc_system/modules.lua index f9177d9c96d..aca92804e80 100644 --- a/data/npclib/npc_system/modules.lua +++ b/data/npclib/npc_system/modules.lua @@ -243,10 +243,10 @@ if Modules == nil then player:addAchievementProgress("Ship's Kobold", 1250) -- What a foolish Quest - Mission 3 - if Storage.WhatAFoolish.PieBoxTimer ~= nil then - if player:getStorageValue(Storage.WhatAFoolish.PieBoxTimer) > os.time() then + if Storage.Quest.U8_1.WhatAFoolishQuest.PieBoxTimer ~= nil then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBoxTimer) > os.time() then if destination ~= Position(32660, 31957, 15) then -- kazordoon steamboat - player:setStorageValue(Storage.WhatAFoolish.PieBoxTimer, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.PieBoxTimer, 1) end end end diff --git a/data/scripts/actions/tools/kitchen_knife.lua b/data/scripts/actions/tools/kitchen_knife.lua new file mode 100644 index 00000000000..4e930b53d3a --- /dev/null +++ b/data/scripts/actions/tools/kitchen_knife.lua @@ -0,0 +1,8 @@ +local kitchenKnife = Action() + +function kitchenKnife.onUse(player, item, fromPosition, target, toPosition, isHotkey) + return onUseKitchenKnife(player, item, fromPosition, target, toPosition, isHotkey) +end + +kitchenKnife:id(3469) +kitchenKnife:register() diff --git a/data/scripts/actions/tools/spoon.lua b/data/scripts/actions/tools/spoon.lua new file mode 100644 index 00000000000..6b10aabfb76 --- /dev/null +++ b/data/scripts/actions/tools/spoon.lua @@ -0,0 +1,8 @@ +local spoon = Action() + +function spoon.onUse(player, item, fromPosition, target, toPosition, isHotkey) + return onUseSpoon(player, item, fromPosition, target, toPosition, isHotkey) +end + +spoon:id(3468) +spoon:register() diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index 3845cb54064..8d54d538b2a 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -973,40 +973,37 @@ function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) end function onUseSpoon(player, item, fromPosition, target, toPosition, isHotkey) - if target.itemid == 390 then - --The ice islands quest - if player:getStorageValue(Storage.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.TheIceIslands.SulphurLava) < 1 then - -- Fine sulphur - player:addItem(7247, 1) - player:setStorageValue(Storage.TheIceIslands.SulphurLava, 1) - toPosition:sendMagicEffect(CONST_ME_YELLOW_RINGS) - player:say("You retrive a fine sulphur from a lava hole.", TALKTYPE_MONSTER_SAY) - end + local targetId = target:getId() + + if targetId == 3920 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.SporesMushroom) < 1 then + player:addItem(7251, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.SporesMushroom, 1) + toPosition:sendMagicEffect(CONST_ME_MAGIC_RED) + player:say("You retrieve spores from a mushroom.", TALKTYPE_MONSTER_SAY) + return true end - elseif target.itemid == 3920 then - --The ice islands quest - if player:getStorageValue(Storage.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.TheIceIslands.SporesMushroom) < 1 then - player:addItem(7251, 1) - player:setStorageValue(Storage.TheIceIslands.SporesMushroom, 1) - toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) - player:say("You retrive spores from a mushroom.", TALKTYPE_MONSTER_SAY) + elseif targetId == 390 then + -- The Ice Islands Quest - Cure the Dogs + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.SulphurLava) < 1 then + player:addItem(7247, 1) -- fine sulphur + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.SulphurLava, 1) + toPosition:sendMagicEffect(CONST_ME_MAGIC_RED) + player:say("You retrieve a fine sulphur from a lava hole.", TALKTYPE_MONSTER_SAY) end - end - elseif target.itemid == 7743 or target.itemid == 390 then - -- What a foolish quest - mission 8 (sulphur) - if player:getStorageValue(Storage.WhatAFoolishQuest.Questline) ~= 21 or player:getStorageValue(Storage.WhatAFoolishQuest.InflammableSulphur) == 1 then + -- What a Foolish Quest - Mission 8 (sulphur) + elseif player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) == 21 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.InflammableSulphur) < 1 then + player:addItem(124, 1) -- Easily inflammable sulphur + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.InflammableSulphur, 1) + toPosition:sendMagicEffect(CONST_ME_YELLOW_RINGS) + end + else return false end - - player:setStorageValue(Storage.WhatAFoolishQuest.InflammableSulphur, 1) - -- Easily inflammable sulphur - player:addItem(124, 1) - toPosition:sendMagicEffect(CONST_ME_YELLOW_RINGS) - else - return false end + return true end @@ -1060,32 +1057,34 @@ function onUseKitchenKnife(player, item, fromPosition, target, toPosition, isHot return false end - -- The ice islands quest - if target.itemid == 7261 then - if player:getStorageValue(Storage.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.TheIceIslands.FrostbiteHerb) < 1 then + local targetId = target:getId() + + --The Ice Islands Quest - Cure the Dogs + if targetId == 7261 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.FrostbiteHerb) < 1 then player:addItem(7248, 1) - player:setStorageValue(Storage.TheIceIslands.FrostbiteHerb, 1) - toPosition:sendMagicEffect(CONST_ME_HITBYPOISON) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FrostbiteHerb, 1) + toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) player:say("You cut a leaf from a frostbite herb.", TALKTYPE_MONSTER_SAY) end end - elseif target.itemid == 3647 then - if player:getStorageValue(Storage.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.TheIceIslands.FlowerCactus) < 1 then + elseif targetId == 3647 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerCactus) < 1 then player:addItem(7245, 1) - player:setStorageValue(Storage.TheIceIslands.FlowerCactus, 1) - target:transform(3637) - addEvent(revertItem, 60 * 1000, toPosition, 3637, 3647) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerCactus, 1) + target:transform(3646) + addEvent(revertItem, 60 * 1000, toPosition, 3646, 3647) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) player:say("You cut a flower from a cactus.", TALKTYPE_MONSTER_SAY) end end - elseif target.itemid == 3753 then - if player:getStorageValue(Storage.TheIceIslands.Questline) >= 21 then - if player:getStorageValue(Storage.TheIceIslands.FlowerBush) < 1 then + elseif targetId == 3753 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) >= 21 then + if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerBush) < 1 then player:addItem(7249, 1) - player:setStorageValue(Storage.TheIceIslands.FlowerBush, 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.FlowerBush, 1) target:transform(3750) addEvent(revertItem, 60 * 1000, toPosition, 3750, 3753) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) @@ -1102,23 +1101,23 @@ function onUseKitchenKnife(player, item, fromPosition, target, toPosition, isHot player:say("This flower is too pathetic.", TALKTYPE_MONSTER_SAY, false, player, toPosition) end -- What a foolish quest (mission 5) - elseif target.itemid == 114 then - if player:getStorageValue(Storage.WhatAFoolishQuest.EmperorBeardShave) == 1 then + elseif targetId == 114 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.EmperorBeardShave) == 1 then player:say("God shave the emperor. Some fool already did it.", TALKTYPE_MONSTER_SAY) return true end - player:setStorageValue(Storage.WhatAFoolishQuest.EmperorBeardShave, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.EmperorBeardShave, 1) player:say("This is probably the most foolish thing you've ever done!", TALKTYPE_MONSTER_SAY) player:addItem(113, 1) Game.createMonster("dwarf guard", Position(32656, 31853, 13)) -- What a foolish quest (mission 8) - elseif target.itemid == 3744 then - if player:getStorageValue(Storage.WhatAFoolishQuest.Questline) ~= 22 or player:getStorageValue(Storage.WhatAFoolishQuest.SpecialLeaves) == 1 then + elseif targetId == 3744 then + if player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.Questline) ~= 22 or player:getStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.SpecialLeaves) == 1 then return false end - player:setStorageValue(Storage.WhatAFoolishQuest.SpecialLeaves, 1) + player:setStorageValue(Storage.Quest.U8_1.WhatAFoolishQuest.SpecialLeaves, 1) player:addItem(3129, 1) toPosition:sendMagicEffect(CONST_ME_BLOCKHIT) elseif table.contains(fruits, target.itemid) and player:removeItem(6277, 1) then @@ -1128,6 +1127,7 @@ function onUseKitchenKnife(player, item, fromPosition, target, toPosition, isHot else return false end + return true end From 7fd8b98048a4518283386be0a07a72cd6d2ed6e0 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 30 Jul 2024 18:16:23 +0000 Subject: [PATCH 049/112] Lua code format - (Stylua) --- data-otservbr-global/npc/carina.lua | 1 - data-otservbr-global/startup/tables/chest.lua | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/data-otservbr-global/npc/carina.lua b/data-otservbr-global/npc/carina.lua index 8225fa44232..c759bb25899 100644 --- a/data-otservbr-global/npc/carina.lua +++ b/data-otservbr-global/npc/carina.lua @@ -94,7 +94,6 @@ local function creatureSayCallback(npc, creature, type, message) return true end - npcHandler:setMessage(MESSAGE_GREET, "Welcome, |PLAYERNAME|. I am looking forward to trade with you.") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index fb290604b79..375f4970595 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2304,7 +2304,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32661, y = 31855, z = 13 }, container = 2853, - reward = { { 3469, 1 }, { 2821, 1 }, }, + reward = { { 3469, 1 }, { 2821, 1 } }, weight = 22.00, storage = Storage.Quest.U8_1.WhatAFoolishQuest.BagBookKnife, }, From bb529414f1a542b94dad189df06f8df324d8b9c9 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:36:25 -0300 Subject: [PATCH 050/112] Move Storage The Beginning Quest and ElementalSpheres --- data-otservbr-global/lib/core/quests.lua | 8 +- data-otservbr-global/lib/core/storages.lua | 59 ++++++-------- data-otservbr-global/npc/arkulius.lua | 10 +-- data-otservbr-global/npc/carlos.lua | 62 +++++++------- data-otservbr-global/npc/santiago.lua | 80 +++++++++---------- data-otservbr-global/npc/zirella.lua | 46 +++++------ .../scripts/actions/other/enchanting.lua | 4 +- .../actions/other/others/quest_system1.lua | 2 +- .../quests/elemental_spheres/lever.lua | 4 +- .../lord_of_elements_lever.lua | 6 +- .../quests/elemental_spheres/machine1.lua | 4 +- .../elemental_spheres/overlord_kill.lua | 8 +- .../elemental_spheres/summon_overlord.lua | 8 +- data/scripts/lib/register_actions.lua | 6 +- 14 files changed, 148 insertions(+), 159 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 3132c2cbbb0..3c5568e9e53 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -2894,12 +2894,12 @@ if not Quests then }, [18] = { name = "The Beginning", - startStorageId = Storage.RookgaardTutorialIsland.SantiagoQuestLog, + startStorageId = Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, startStorageValue = 1, missions = { [1] = { name = "The Cockroach Plague", - storageId = Storage.RookgaardTutorialIsland.SantiagoQuestLog, + storageId = Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, missionId = 10218, startValue = 1, endValue = 11, @@ -2926,7 +2926,7 @@ if not Quests then }, [2] = { name = "Collecting Wood", - storageId = Storage.RookgaardTutorialIsland.ZirellaQuestLog, + storageId = Storage.Quest.U8_2.TheBeginningQuest.ZirellaQuestLog, missionId = 10219, startValue = 1, endValue = 8, @@ -2948,7 +2948,7 @@ if not Quests then }, [3] = { name = "A Hungry Tailor", - storageId = Storage.RookgaardTutorialIsland.CarlosQuestLog, + storageId = Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, missionId = 10220, startValue = 1, endValue = 8, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 5e1f0ff56ae..4ad9c4c033b 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -575,13 +575,6 @@ Storage = { SlimeGobblerTimeout = 50720, SlimeGobblerReceived = 50721, }, - - ElementalSphere = { - -- Reserved storage from 50750 - 50759 - QuestLine = 50750, - BossStorage = 50751, - MachineGemCount = 50752, - }, GravediggerOfDrefia = { -- Reserved storage from 50760 - 50849 QuestStart = 50760, @@ -1024,20 +1017,6 @@ Storage = { QuestLog = 51652, CookbookDoor = 51653, }, - RookgaardTutorialIsland = { - -- Reserved storage from 51660 - 51679 - TutorialHintsStorage = 51665, - SantiagoNpcGreetStorage = 51666, - SantiagoQuestLog = 51667, - -- unused cockroachKillStorage = 51668, - -- unused cockroachLegsMsgStorage = 51669, - -- unused cockroachBodyMsgStorage = 51670, - ZirellaNpcGreetStorage = 51671, - ZirellaQuestLog = 51672, - CarlosNpcTradeStorage = 51673, - CarlosNpcGreetStorage = 51677, - CarlosQuestLog = 51678, - }, TheRookieGuard = { --Reserved storage 52360 - 52395 Questline = 52360, @@ -1990,9 +1969,31 @@ Storage = { }, }, U8_2 = { -- update 8.2 - Reserved Storages 41651 - 41900 - ElementalSpheres = {}, + ElementalSpheres = { + QuestLine = 50750, + BossStorage = 50751, + MachineGemCount = 50752, + BossRoom = 60140, + KnightBoss = 60141, + SorcererBoss = 60142, + PaladinBoss = 60143, + DruidBoss = 60144, + Machine1 = 60145, + Machine2 = 60146, + Machine3 = 60147, + Machine4 = 60148, + }, MachineryOfWar = {}, - TheBeginning = {}, + TheBeginningQuest = { + TutorialHintsStorage = 51665, + SantiagoNpcGreetStorage = 51666, + SantiagoQuestLog = 51667, + ZirellaNpcGreetStorage = 51671, + ZirellaQuestLog = 51672, + CarlosNpcTradeStorage = 51673, + CarlosNpcGreetStorage = 51677, + CarlosQuestLog = 51678, + }, TheDemonOak = {}, FishForASerpent = { QuestLine = 41651, @@ -2935,18 +2936,6 @@ GlobalStorage = { Spite = 60133, }, }, - ElementalSphere = { - -- Reserved storage from 60140 - 60159 - BossRoom = 60140, - KnightBoss = 60141, - SorcererBoss = 60142, - PaladinBoss = 60143, - DruidBoss = 60144, - Machine1 = 60145, - Machine2 = 60146, - Machine3 = 60147, - Machine4 = 60148, - }, TheOrderOfTheLion = { -- Reserved storage from 60170 - 60171 Drume = { diff --git a/data-otservbr-global/npc/arkulius.lua b/data-otservbr-global/npc/arkulius.lua index 64abb564d17..49b0e9f618c 100644 --- a/data-otservbr-global/npc/arkulius.lua +++ b/data-otservbr-global/npc/arkulius.lua @@ -102,7 +102,7 @@ local function creatureSayCallback(npc, creature, type, message) }, npc, creature) npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "mission") or MsgContains(message, "quest") then - local value = player:getStorageValue(Storage.ElementalSphere.QuestLine) + local value = player:getStorageValue(Storage.Quest.U8_2.ElementalSpheres.QuestLine) if value < 1 then if player:getLevel() >= 80 then if player:isSorcerer() then @@ -142,7 +142,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 1) elseif value == 1 then if player:getItemCount(player:isSorcerer() and 946 or player:isDruid() and 947 or player:isPaladin() and 942 or player:isKnight() and 948) > 0 then - player:setStorageValue(Storage.ElementalSphere.QuestLine, 2) + player:setStorageValue(Storage.Quest.U8_2.ElementalSpheres.QuestLine, 2) npcHandler:say({ "Impressive!! Let me take a look.......Ahh, " .. ( @@ -159,14 +159,14 @@ local function creatureSayCallback(npc, creature, type, message) end npcHandler:setTopic(playerId, 0) elseif value == 2 then - if player:removeItem(954, 1) and player:getStorageValue(Storage.ElementalSphere.QuestLine) < 3 then + if player:removeItem(954, 1) and player:getStorageValue(Storage.Quest.U8_2.ElementalSpheres.QuestLine) < 3 then npcHandler:say("AMAZING!! I'm going to start immediately with the research. If it turns out the way I expect it, Alverus will be revived soon!! Here, take this as a reward and try to collect more of this substance. I'll make you a good offer, I promise. ", npc, creature) player:addItem(player:isSorcerer() and 8039 or player:isDruid() and 8041 or player:isPaladin() and 8025 or player:isKnight() and 8055, 1) - player:setStorageValue(Storage.ElementalSphere.QuestLine, 3) + player:setStorageValue(Storage.Quest.U8_2.ElementalSpheres.QuestLine, 3) end end elseif npcHandler:getTopic(playerId) == 1 and MsgContains(message, "yes") then - player:setStorageValue(Storage.ElementalSphere.QuestLine, 1) + player:setStorageValue(Storage.Quest.U8_2.ElementalSpheres.QuestLine, 1) npcHandler:say("Good, don't waste time! Come back here when you have the elemental object!", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/carlos.lua b/data-otservbr-global/npc/carlos.lua index df70b6ddb59..fe3253bc085 100644 --- a/data-otservbr-global/npc/carlos.lua +++ b/data-otservbr-global/npc/carlos.lua @@ -82,27 +82,27 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage) < 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage) < 1 then npcHandler:setMessage(MESSAGE_GREET, "Be greeted, |PLAYERNAME|! As a tailor and merchant I have to say - we need to do something about your {outfit}, shall we?") - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 1) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 1) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 1) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 1) storeTalkCid[playerId] = 1 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage) == 1 then npcHandler:setMessage(MESSAGE_GREET, "Hey, I thought you were going to run away, but luckily you came back. I'll show you how to change your {outfit}, okay?") storeTalkCid[playerId] = 1 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage) == 2 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back! You know, after providing my little outfit service, I like to ask a little favour of you. Can you {help} me?") storeTalkCid[playerId] = 2 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage) == 3 then npcHandler:setMessage(MESSAGE_GREET, "Oh hey |PLAYERNAME|, you didn't answer my question yet - could you help me get some {food}? I'll even give you some gold for it.") storeTalkCid[playerId] = 3 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage) == 4 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back |PLAYERNAME|, I hope you changed your mind and will bring me some {meat}? I'll even give you some gold for it.") storeTalkCid[playerId] = 4 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage) == 5 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back, |PLAYERNAME|! Did you have a successful hunt and carry a piece of {meat} or ham with you?") storeTalkCid[playerId] = 5 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage) == 6 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage) == 6 then if player:getItemCount(3577) > 0 or player:getItemCount(3582) > 0 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back, Isleth Eagonst! Do you still have that piece of meat or ham? If so, please ask me for a {trade} and I'll give you some gold for it.") storeTalkCid[playerId] = 6 @@ -111,13 +111,13 @@ local function greetCallback(npc, creature) npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) end - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage) == 7 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage) == 7 then npcHandler:setMessage(MESSAGE_GREET, "Hey there, |PLAYERNAME|! Well, that's how trading with NPCs like me works. I think you are ready now to cross the bridge to Rookgaard! Take care!") - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 7) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 8) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 7) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 8) npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage) == 8 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage) == 8 then npcHandler:setMessage(MESSAGE_GREET, "Hello again, |PLAYERNAME|! What are you still doing here? You should head over the bridge to Rookgaard village now!") npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) @@ -145,33 +145,33 @@ local function creatureSayCallback(npc, creature, type, message) if table.contains({ "yes", "help", "ok" }, message) then if storeTalkCid[playerId] == 1 then npcHandler:say("Very well. Just choose an outfit and a colour combination that suits you. You can open this dialogue anytime by right-clicking on yourself and selecting 'Set Outfit'. Just try it and then talk to me again!", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 2) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 2) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 2) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 2) player:sendTutorial(12) npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) elseif storeTalkCid[playerId] == 2 then npcHandler:say("You see, I'm quite hungry from standing here all day. Could you get me some {food}?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 3) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 3) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 3) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 3) storeTalkCid[playerId] = 3 elseif storeTalkCid[playerId] == 3 then npcHandler:say("Thank you! I would do it myself, but I don't have a weapon. Just kill a few rabbits or deer, loot food from them and bring me one piece of {meat} or ham, will you?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 4) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 4) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 4) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 4) storeTalkCid[playerId] = 4 elseif storeTalkCid[playerId] == 4 then npcHandler:say("Splendid. I'll be awaiting your return eagerly. Don't forget that you can click on the 'Chase Opponent' button to run after those fast creatures. Good {bye} for now!", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 5) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 5) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 5) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 5) npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) elseif storeTalkCid[playerId] == 5 then if player:getItemCount(3577) > 0 or player:getItemCount(3582) > 0 then npcHandler:say("What's that delicious smell? That must be a piece of meat! Please hurry, simply ask me for a {trade} and I'll give you two gold pieces for it!", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 6) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 6) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcTradeStorage, 1) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 6) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 6) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcTradeStorage, 1) storeTalkCid[playerId] = 6 else npcHandler:say("Hmm. No, I don't think you have something with you that I'd like to eat. Please come back once you looted a piece of meat or a piece of ham from a rabbit or deer.", npc, creature) @@ -184,8 +184,8 @@ local function creatureSayCallback(npc, creature, type, message) "And by the way: if you thought all of this was boring and you'd rather skip the tutorial with your next character, just say 'skip tutorial' to Santiago. ...", "Then you'll miss out on those nice items and experience though. Hehehe! It's your choice. Well, take care for now!", }, npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 7) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 8) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 7) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 8) npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) end @@ -196,8 +196,8 @@ local function creatureSayCallback(npc, creature, type, message) "And by the way: if you thought all of this was boring and you'd rather skip the tutorial with your next character, just say 'skip tutorial' to Santiago. ...", "Then you'll miss out on those nice items and experience though. Hehehe! It's your choice. Well, take care for now!", }, npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 7) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 8) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 7) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 8) addEvent(function() releasePlayer(npc, creature) end, 1000) @@ -209,8 +209,8 @@ local function creatureSayCallback(npc, creature, type, message) "And by the way: if you thought all of this was boring and you'd rather skip the tutorial with your next character, just say 'skip tutorial' to Santiago. ...", "Then you'll miss out on those nice items and experience though. Hehehe! It's your choice. Well, take care for now!", }, npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosQuestLog, 7) - player:setStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcGreetStorage, 8) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosQuestLog, 7) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcGreetStorage, 8) addEvent(function() releasePlayer(npc, creature) end, 5000) @@ -223,7 +223,7 @@ local function onTradeRequest(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.RookgaardTutorialIsland.CarlosNpcTradeStorage) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.CarlosNpcTradeStorage) ~= 1 then return false end diff --git a/data-otservbr-global/npc/santiago.lua b/data-otservbr-global/npc/santiago.lua index a893dd66e86..c55210f3b5c 100644 --- a/data-otservbr-global/npc/santiago.lua +++ b/data-otservbr-global/npc/santiago.lua @@ -64,58 +64,58 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) < 1 then - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 1) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 1) + if player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 1) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 1) npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|, nice to see you on Rookgaard! I saw you walking by and wondered if you could help me. Could you? Please, say {yes}!") storeTalkCid[playerId] = 0 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 1 then npcHandler:setMessage(MESSAGE_GREET, "Oh, |PLAYERNAME|, it's you again! It's probably impolite to disturb a busy adventurer like you, but I really need help. Please, say {yes}!") storeTalkCid[playerId] = 0 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 2 then npcHandler:say("Oh, what's wrong? As I said, simply go to my house south of here and go upstairs. Then come back and we'll continue our chat.", npc, creature) Position(32033, 32277, 6):sendMagicEffect(CONST_ME_TUTORIALARROW) return false - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 3 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back, |PLAYERNAME|! Ahh, you found my chest. Let me take a look at you. You put on that coat, {yes}?") storeTalkCid[playerId] = 2 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 4 then npcHandler:setMessage(MESSAGE_GREET, "Hey, I want to give you a weapon for free! You should not refuse that, in fact you should say '{yes}'!") storeTalkCid[playerId] = 2 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 5 then npcHandler:say("I've forgotten to tell you something. Of course I need proof that you killed cockroaches. Please bring me at least 3 of their legs. Good luck!", npc, creature) return false - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 6 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 6 then if player:removeItem(7882, 3) then npcHandler:setMessage(MESSAGE_GREET, "Good job! For that, I'll grant you 100 experience points! Oh - what was that? I think you advanced a level, {right}?") player:addExperience(100, true) player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 5) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 7) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 5) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 7) storeTalkCid[playerId] = 4 else npcHandler:say("I've forgotten to tell you something. Of course I need proof that you killed cockroaches. Please bring me at least 3 of their legs. Good luck!", npc, creature) return false end - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 7 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 7 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back! Where were we... ? Ah, right, I asked you if you saw your 'level up'! You did, {right}?") storeTalkCid[playerId] = 4 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 8 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 8 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back! Where were we... ? Ah, right, I asked you if those nasty cockroaches {hurt} you! Did they?") storeTalkCid[playerId] = 5 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 9 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 9 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back! Where were we... ? Ah, right, I asked you if I should demonstrate some damage on you. Let's do it, {okay}?") storeTalkCid[playerId] = 6 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 10 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 10 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back! Where were we... ? Ah, right, I was about to show you how you regain health, right?") storeTalkCid[playerId] = 7 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 11 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 11 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back! Where were we... ? Ah, right, I gave you a fish to eat?") storeTalkCid[playerId] = 8 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 12 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 12 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back! Where were we... ? Ah, right, I asked you if you saw Zirella! Did you?") storeTalkCid[playerId] = 9 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage) == 13 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage) == 13 then npcHandler:setMessage(MESSAGE_GREET, "Hello again, |PLAYERNAME|! It's great to see you. If you like, we can chat a little. Just use the highlighted {keywords} again to choose a {topic}.") end return true @@ -136,8 +136,8 @@ local function creatureSayCallback(npc, creature, type, message) storeTalkCid[playerId] = 1 elseif storeTalkCid[playerId] == 1 then npcHandler:say("Alright! Do you see the button called 'Quest Log'? There you can check the status of quests, like this one. {Bye} for now!", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 2) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 2) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 2) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 2) player:sendTutorial(3) npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) @@ -146,7 +146,7 @@ local function creatureSayCallback(npc, creature, type, message) local coatSlot = player:getSlotItem(CONST_SLOT_ARMOR) if coatSlot then npcHandler:say("Ah, no need to say anything, I can see it suits you perfectly. Now we're getting to the fun part, let's get you armed! Are you ready for some {action}?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 4) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 4) storeTalkCid[playerId] = 3 else npcHandler:say("Oh, you don't wear it properly yet. You need to drag and drop it from your bag to your armor slot. Here, let me show you again. Is it a little {clearer} now?", npc, creature) @@ -160,30 +160,30 @@ local function creatureSayCallback(npc, creature, type, message) end elseif storeTalkCid[playerId] == 3 then npcHandler:say("I knew I could count on you. Here, take this good and sturdy weapon in your hand. Then go back to my house and down the ladder. Good luck, and {bye} for now!", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 4) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 5) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 4) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 5) Position(32036, 32277, 6):sendMagicEffect(CONST_ME_TUTORIALARROW) player:addItem(3270, 1) npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) elseif storeTalkCid[playerId] == 4 then npcHandler:say("That's just great! Now you have more health points, can carry more stuff and walk faster. Talking about health, did you get {hurt} by those cockroaches?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 8) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 6) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 8) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 6) storeTalkCid[playerId] = 5 elseif storeTalkCid[playerId] == 5 then npcHandler:say("Really? You look fine to me, must have been just a scratch. Well, there are much more dangerous monsters than cockroaches out there. Take a look at your status bar. You have 155 Health right now. I'll show you something, {yes}?", npc, creature) player:sendTutorial(19) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 9) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 7) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 9) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 7) storeTalkCid[playerId] = 6 elseif storeTalkCid[playerId] == 6 then npcHandler:say("This is an important lesson from me - an experienced veteran fighter. Take this! Look at your status bar again. As you can see, you've lost health. Now I'll tell you how to heal that, {yes}?", npc, creature) player:getPosition():sendMagicEffect(CONST_ME_MORTAREA) npc:getPosition():sendMagicEffect(CONST_ME_MORTAREA) player:addHealth(-20, COMBAT_PHYSICALDAMAGE) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 10) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 8) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 10) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 8) player:sendTutorial(19) storeTalkCid[playerId] = 7 elseif storeTalkCid[playerId] == 7 then @@ -191,19 +191,19 @@ local function creatureSayCallback(npc, creature, type, message) "Here, take this fish which I've caught myself. Find it in your inventory, then 'Use' it to eat it. This will slowly refill your health. ...", "By the way: If your hitpoints are below 150, you will regenerate back to 150 hitpoints after few seconds as long as you are not hungry, outside a protection zone and do not have a battle sign. {Easy}, yes?", }, npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 9) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 9) player:addItem(3578, 1) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 11) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 11) storeTalkCid[playerId] = 8 elseif storeTalkCid[playerId] == 8 then npcHandler:say("I knew you'd get it right away. You can loot food from many creatures, such as deer and rabbits. You can find them in the forest nearby. By the way... have you seen {Zirella}?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 12) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 10) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 12) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 10) storeTalkCid[playerId] = 9 elseif storeTalkCid[playerId] == 9 then npcHandler:say("Really?? She was looking for someone to help her. Maybe you could go and see her. She lives just to the east and down the mountain. So, thank you again and {bye} for now!", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 13) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 11) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 13) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 11) player:addMapMark(Position(32045, 32270, 6), MAPMARK_GREENSOUTH, "To Zirella") npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) @@ -214,15 +214,15 @@ local function creatureSayCallback(npc, creature, type, message) player:getPosition():sendMagicEffect(CONST_ME_MORTAREA) npc:getPosition():sendMagicEffect(CONST_ME_MORTAREA) player:addHealth(-20, COMBAT_PHYSICALDAMAGE) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 8) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 8) player:sendTutorial(19) storeTalkCid[playerId] = 7 end elseif MsgContains(message, "action") then if storeTalkCid[playerId] == 3 then npcHandler:say("I knew I could count on you. Here, take this good and sturdy weapon in your hand. Then go back to my house and down the ladder. Good luck, and {bye} for now!", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 4) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 5) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 4) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 5) Position(32036, 32277, 6):sendMagicEffect(CONST_ME_TUTORIALARROW) player:addItem(3270, 1) npcHandler:removeInteraction(npc, creature) @@ -231,8 +231,8 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "easy") then if storeTalkCid[playerId] == 8 then npcHandler:say("I knew you'd get it right away. You can loot food from many creatures, such as deer and rabbits. You can find them in the forest nearby. By the way... have you seen {Zirella}?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 11) - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoQuestLog, 10) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 11) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoQuestLog, 10) storeTalkCid[playerId] = 9 end end diff --git a/data-otservbr-global/npc/zirella.lua b/data-otservbr-global/npc/zirella.lua index 335d0384969..1b9058cff0c 100644 --- a/data-otservbr-global/npc/zirella.lua +++ b/data-otservbr-global/npc/zirella.lua @@ -63,31 +63,31 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage) < 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage) < 1 then npcHandler:setMessage(MESSAGE_GREET, "Oh, heaven must have sent you! Could you please help me with a {quest}?") storeTalkCid[playerId] = 0 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage) == 1 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back, darling... so about that firewood, could you please {help} me?") storeTalkCid[playerId] = 2 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage) == 2 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back, darling... so about the {dead trees}, let me explain that a little more, {yes}?") storeTalkCid[playerId] = 3 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage) == 3 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back, darling... so about the {branches}, let me explain that a little more, {yes}?") storeTalkCid[playerId] = 4 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage) == 4 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back, darling... so about the {pushing}, let me explain that a little more, {yes}?") storeTalkCid[playerId] = 5 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage) == 5 then npcHandler:setMessage(MESSAGE_GREET, "Welcome back, darling... so about the {cart}, let me explain that a little more, {yes}?") storeTalkCid[playerId] = 6 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage) == 6 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage) == 6 then npcHandler:setMessage(MESSAGE_GREET, "Oh, sweetheart, is there a problem with the quest? Should I {explain} it again?") storeTalkCid[playerId] = 7 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage) == 7 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage) == 7 then npcHandler:setMessage(MESSAGE_GREET, "Right, thank you sweetheart! This will be enough to heat my oven. Oh, and you are probably waiting for your reward, {yes}?") storeTalkCid[playerId] = 8 - elseif player:getStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage) == 8 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage) == 8 then npcHandler:setMessage(MESSAGE_GREET, "Oh, welcome back, dear Isleth Eagonst! Are you here for a little chat? Just use the highlighted {keywords} again to choose a {topic}.") end return true @@ -107,28 +107,28 @@ local function creatureSayCallback(npc, creature, type, message) storeTalkCid[playerId] = 1 elseif storeTalkCid[playerId] == 1 then npcHandler:say("Thank you so much for your kindness. I'm an old woman and I desperately need firewood for my oven. Could you please help me?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaQuestLog, 1) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage, 1) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaQuestLog, 1) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage, 1) storeTalkCid[playerId] = 2 elseif storeTalkCid[playerId] == 2 then npcHandler:say("You're such a treasure. In the forest south of here, there are {dead trees} without any leaves. The first thing you have to do is search for one, {okay}?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaQuestLog, 2) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage, 2) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaQuestLog, 2) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage, 2) storeTalkCid[playerId] = 3 elseif storeTalkCid[playerId] == 3 then npcHandler:say("Splendid, once you've found one, 'Use' it to break a branch from it. Did you understand that so far?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaQuestLog, 3) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage, 3) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaQuestLog, 3) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage, 3) storeTalkCid[playerId] = 4 elseif storeTalkCid[playerId] == 4 then npcHandler:say("Good... so after you broke a branch, please push it here and select 'use with'. That will turn your mouse cursor into crosshairs. Then left-click on my cart. {Alright}?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaQuestLog, 4) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage, 4) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaQuestLog, 4) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage, 4) storeTalkCid[playerId] = 5 elseif storeTalkCid[playerId] == 5 then npcHandler:say("To push the branch, drag and drop it on the grass by holding the left mousebutton and moving the cursor to where you want to throw the branch. Just push it near my cart before you 'Use' it, {alright}?", npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaQuestLog, 5) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage, 5) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaQuestLog, 5) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage, 5) storeTalkCid[playerId] = 6 elseif storeTalkCid[playerId] == 6 then npcHandler:say({ @@ -137,8 +137,8 @@ local function creatureSayCallback(npc, creature, type, message) "Don't put it in your inventory like before, but instead DRAG it over the map by LEFT-CLICKING the loose branch, HOLDING the LEFT MOUSE BUTTON and moving it over the map. ...", "When you are close to my cart, USE the branch WITH the cart: RIGHT-CLICK the branch on the floor and select 'USE WITH', Then LEFT-CLICK on the cart. Don't worry, you will see what I mean on the way. Thanks and {bye} for now!", }, npc, creature) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaQuestLog, 6) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage, 6) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaQuestLog, 6) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage, 6) Position(32064, 32273, 7):sendMagicEffect(CONST_ME_TUTORIALARROW) npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) @@ -154,8 +154,8 @@ local function creatureSayCallback(npc, creature, type, message) player:addExperience(50, true) Position(32058, 32266, 6):sendMagicEffect(CONST_ME_TUTORIALARROW) player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaQuestLog, 8) - player:setStorageValue(Storage.RookgaardTutorialIsland.ZirellaNpcGreetStorage, 8) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaQuestLog, 8) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.ZirellaNpcGreetStorage, 8) npcHandler:removeInteraction(npc, creature) npcHandler:resetNpc(creature) end diff --git a/data-otservbr-global/scripts/actions/other/enchanting.lua b/data-otservbr-global/scripts/actions/other/enchanting.lua index 3f7418ba7c4..ef6d648d15e 100644 --- a/data-otservbr-global/scripts/actions/other/enchanting.lua +++ b/data-otservbr-global/scripts/actions/other/enchanting.lua @@ -44,14 +44,14 @@ local enchantedItems = { local enchanting = Action() function enchanting.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if table.contains({ 33268, 33269 }, toPosition.x) and toPosition.y == 31830 and toPosition.z == 10 and player:getStorageValue(Storage.ElementalSphere.QuestLine) > 0 then + if table.contains({ 33268, 33269 }, toPosition.x) and toPosition.y == 31830 and toPosition.z == 10 and player:getStorageValue(Storage.Quest.U8_2.ElementalSpheres.QuestLine) > 0 then if not table.contains(spheres[item.itemid], player:getVocation():getBaseId()) then return false elseif table.contains({ 842, 843 }, target.itemid) then player:say("Turn off the machine first.", TALKTYPE_MONSTER_SAY) return true else - player:setStorageValue(Storage.ElementalSphere.MachineGemCount, math.max(1, player:getStorageValue(Storage.ElementalSphere.MachineGemCount) + 1)) + player:setStorageValue(Storage.Quest.U8_2.ElementalSpheres.MachineGemCount, math.max(1, player:getStorageValue(Storage.Quest.U8_2.ElementalSpheres.MachineGemCount) + 1)) toPosition:sendMagicEffect(CONST_ME_PURPLEENERGY) item:transform(item.itemid, item.type - 1) return true diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua index 41df372b35d..cd735e6f9c4 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua @@ -167,7 +167,7 @@ function questSystem1.onUse(player, item, fromPosition, target, toPosition, isHo if tutorialIds[storage] then player:sendTutorial(tutorialIds[storage]) if item.uid == 50080 then - player:setStorageValue(Storage.RookgaardTutorialIsland.SantiagoNpcGreetStorage, 3) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.SantiagoNpcGreetStorage, 3) end end diff --git a/data-otservbr-global/scripts/actions/quests/elemental_spheres/lever.lua b/data-otservbr-global/scripts/actions/quests/elemental_spheres/lever.lua index 14e88c58f2a..c2612a17283 100644 --- a/data-otservbr-global/scripts/actions/quests/elemental_spheres/lever.lua +++ b/data-otservbr-global/scripts/actions/quests/elemental_spheres/lever.lua @@ -37,7 +37,7 @@ function elementalSpheresLever.onUse(player, item, fromPosition, target, toPosit end local spectators = Game.getSpectators(Position(33268, 31836, 12), false, true, 30, 30, 30, 30) - if #spectators > 0 or Game.getStorageValue(GlobalStorage.ElementalSphere.BossRoom) > 0 then + if #spectators > 0 or Game.getStorageValue(Storage.Quest.U8_2.ElementalSpheres.BossRoom) > 0 then player:say("Wait for the current team to exit.", TALKTYPE_MONSTER_SAY, false, 0, Position(33268, 31835, 10)) return true end @@ -51,7 +51,7 @@ function elementalSpheresLever.onUse(player, item, fromPosition, target, toPosit end local vocationId = creature:getVocation():getBaseId() - if vocationId ~= config[i].vocationId or creature:getItemCount(config[i].itemid) < 1 or creature:getStorageValue(Storage.ElementalSphere.QuestLine) < 1 then + if vocationId ~= config[i].vocationId or creature:getItemCount(config[i].itemid) < 1 or creature:getStorageValue(Storage.Quest.U8_2.ElementalSpheres.QuestLine) < 1 then player:say("You need one player of each vocation having completed the Elemental Spheres quest and also carrying the elemental rare item.", TALKTYPE_MONSTER_SAY, false, 0, Position(33268, 31835, 10)) return true end diff --git a/data-otservbr-global/scripts/actions/quests/elemental_spheres/lord_of_elements_lever.lua b/data-otservbr-global/scripts/actions/quests/elemental_spheres/lord_of_elements_lever.lua index 3e90bf6ac90..080565bc77e 100644 --- a/data-otservbr-global/scripts/actions/quests/elemental_spheres/lord_of_elements_lever.lua +++ b/data-otservbr-global/scripts/actions/quests/elemental_spheres/lord_of_elements_lever.lua @@ -26,7 +26,7 @@ local config = { from = Position(33261, 31829, 12), to = Position(33274, 31842, 12), }, - machineStorages = { GlobalStorage.ElementalSphere.Machine1, GlobalStorage.ElementalSphere.Machine2, GlobalStorage.ElementalSphere.Machine3, GlobalStorage.ElementalSphere.Machine4 }, + machineStorages = { Storage.Quest.U8_2.ElementalSpheres.Machine1, Storage.Quest.U8_2.ElementalSpheres.Machine2, Storage.Quest.U8_2.ElementalSpheres.Machine3, Storage.Quest.U8_2.ElementalSpheres.Machine4 }, centerPosition = Position(33267, 31836, 12), effectPositions = { Position(33261, 31829, 12), @@ -93,7 +93,7 @@ local function resetRoom(players) end end - Game.setStorageValue(GlobalStorage.ElementalSphere.BossRoom, -1) + Game.setStorageValue(Storage.Quest.U8_2.ElementalSpheres.BossRoom, -1) for i = 1, #config.machineStorages do Game.setStorageValue(config.machineStorages[i], -1) end @@ -173,7 +173,7 @@ function elementalSpheresLordLever.onUse(player, item, fromPosition, target, toP end end - Game.setStorageValue(GlobalStorage.ElementalSphere.BossRoom, 1) + Game.setStorageValue(Storage.Quest.U8_2.ElementalSpheres.BossRoom, 1) Game.createMonster("Lord of the Elements", config.centerPosition) player:say("You have 10 minutes from now on until you get teleported out.", TALKTYPE_MONSTER_YELL, false, 0, config.centerPosition) addEvent(warnPlayers, 5 * 60 * 1000, players) diff --git a/data-otservbr-global/scripts/actions/quests/elemental_spheres/machine1.lua b/data-otservbr-global/scripts/actions/quests/elemental_spheres/machine1.lua index 807556d0efd..7cbf6a1e462 100644 --- a/data-otservbr-global/scripts/actions/quests/elemental_spheres/machine1.lua +++ b/data-otservbr-global/scripts/actions/quests/elemental_spheres/machine1.lua @@ -9,10 +9,10 @@ local elementalSpheresMachine1 = Action() function elementalSpheresMachine1.onUse(player, item, fromPosition, target, toPosition, isHotkey) local destination = config[player:getVocation():getBaseId()] if table.contains({ 842, 843 }, item.itemid) then - local gemCount = player:getStorageValue(Storage.ElementalSphere.MachineGemCount) + local gemCount = player:getStorageValue(Storage.Quest.U8_2.ElementalSpheres.MachineGemCount) if table.contains({ 33268, 33269 }, toPosition.x) and toPosition.y == 31830 and toPosition.z == 10 and gemCount >= 20 then player:teleportTo(destination, false) - player:setStorageValue(Storage.ElementalSphere.MachineGemCount, gemCount - 20) + player:setStorageValue(Storage.Quest.U8_2.ElementalSpheres.MachineGemCount, gemCount - 20) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) end diff --git a/data-otservbr-global/scripts/creaturescripts/quests/elemental_spheres/overlord_kill.lua b/data-otservbr-global/scripts/creaturescripts/quests/elemental_spheres/overlord_kill.lua index 2d5b7b98f91..5f1ea523224 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/elemental_spheres/overlord_kill.lua +++ b/data-otservbr-global/scripts/creaturescripts/quests/elemental_spheres/overlord_kill.lua @@ -1,8 +1,8 @@ local overlords = { - ["energy overlord"] = { storage = Storage.ElementalSphere.BossStorage, globalStorage = GlobalStorage.ElementalSphere.KnightBoss }, - ["fire overlord"] = { storage = Storage.ElementalSphere.BossStorage, globalStorage = GlobalStorage.ElementalSphere.SorcererBoss }, - ["ice overlord"] = { storage = Storage.ElementalSphere.BossStorage, globalStorage = GlobalStorage.ElementalSphere.PaladinBoss }, - ["earth overlord"] = { storage = Storage.ElementalSphere.BossStorage, globalStorage = GlobalStorage.ElementalSphere.DruidBoss }, + ["energy overlord"] = { storage = Storage.Quest.U8_2.ElementalSpheres.BossStorage, globalStorage = Storage.Quest.U8_2.ElementalSpheres.KnightBoss }, + ["fire overlord"] = { storage = Storage.Quest.U8_2.ElementalSpheres.BossStorage, globalStorage = Storage.Quest.U8_2.ElementalSpheres.SorcererBoss }, + ["ice overlord"] = { storage = Storage.Quest.U8_2.ElementalSpheres.BossStorage, globalStorage = Storage.Quest.U8_2.ElementalSpheres.PaladinBoss }, + ["earth overlord"] = { storage = Storage.Quest.U8_2.ElementalSpheres.BossStorage, globalStorage = Storage.Quest.U8_2.ElementalSpheres.DruidBoss }, ["lord of the elements"] = {}, } diff --git a/data-otservbr-global/scripts/movements/quests/elemental_spheres/summon_overlord.lua b/data-otservbr-global/scripts/movements/quests/elemental_spheres/summon_overlord.lua index fc50d2f0577..a839d3f060c 100644 --- a/data-otservbr-global/scripts/movements/quests/elemental_spheres/summon_overlord.lua +++ b/data-otservbr-global/scripts/movements/quests/elemental_spheres/summon_overlord.lua @@ -1,6 +1,6 @@ local config = { [7738] = { - storage = GlobalStorage.ElementalSphere.KnightBoss, + storage = Storage.Quest.U8_2.ElementalSpheres.KnightBoss, corpse = 8139, charged = 2126, inactive = 0, @@ -19,7 +19,7 @@ local config = { }, }, [7739] = { - storage = GlobalStorage.ElementalSphere.SorcererBoss, + storage = Storage.Quest.U8_2.ElementalSpheres.SorcererBoss, corpse = 8141, charged = 7745, inactive = 7743, @@ -38,7 +38,7 @@ local config = { }, }, [7740] = { - storage = GlobalStorage.ElementalSphere.PaladinBoss, + storage = Storage.Quest.U8_2.ElementalSpheres.PaladinBoss, corpse = 8140, charged = 7744, inactive = 7741, @@ -58,7 +58,7 @@ local config = { }, }, [7748] = { - storage = GlobalStorage.ElementalSphere.DruidBoss, + storage = Storage.Quest.U8_2.ElementalSpheres.DruidBoss, corpse = 8106, charged = 7746, inactive = 7742, diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index 8d54d538b2a..685e32ae1c0 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -410,7 +410,7 @@ function onUseRope(player, item, fromPosition, target, toPosition, isHotkey) if tile and tile:isRopeSpot() then player:teleportTo(toPosition:moveUpstairs()) if target.itemid == 7762 then - if player:getStorageValue(Storage.RookgaardTutorialIsland.TutorialHintsStorage) < 22 then + if player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.TutorialHintsStorage) < 22 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have successfully used your rope to climb out of the hole. Congratulations! Now continue to the east.") end end @@ -490,9 +490,9 @@ function onUseShovel(player, item, fromPosition, target, toPosition, isHotkey) elseif target.itemid == 351 and target.actionid == 8024 then player:addItem(11341, 1) player:say("You dig out a handful of earth from this sacred place.", TALKTYPE_MONSTER_SAY) - elseif target.itemid == 7749 and player:getStorageValue(Storage.RookgaardTutorialIsland.TutorialHintsStorage) < 20 then + elseif target.itemid == 7749 and player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.TutorialHintsStorage) < 20 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You dug a hole! Walk onto it as long as it is open to jump down into the forest cave.") - player:setStorageValue(Storage.RookgaardTutorialIsland.TutorialHintsStorage, 19) + player:setStorageValue(Storage.Quest.U8_2.TheBeginningQuest.TutorialHintsStorage, 19) Position(32070, 32266, 7):sendMagicEffect(CONST_ME_TUTORIALARROW) Position(32070, 32266, 7):sendMagicEffect(CONST_ME_TUTORIALSQUARE) target:transform(594) From c74e1f903c2b2d1af327428b0d927e837686b1b1 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 31 Jul 2024 19:35:08 -0300 Subject: [PATCH 051/112] The Demon Oak Quest --- data-otservbr-global/lib/core/storages.lua | 20 +++++++++---------- data-otservbr-global/npc/avar_tar.lua | 4 ++-- data-otservbr-global/npc/oldrak.lua | 18 ++++++++--------- .../actions/quests/demon_oak/demon_oak.lua | 12 +++++------ .../quests/demon_oak/demon_oak_chest.lua | 4 ++-- .../quests/demon_oak/demon_oak_gravestone.lua | 2 +- .../movements/quests/demon_oak/entrance.lua | 6 +++--- .../movements/quests/demon_oak/squares.lua | 4 ++-- data-otservbr-global/startup/tables/item.lua | 10 ++++++++++ 9 files changed, 44 insertions(+), 36 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 4ad9c4c033b..bf397a18cf7 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -1056,16 +1056,6 @@ Storage = { -- Reserved storage from 51680 - 51689 DeeperBanutaShortcut = 51680, }, - DemonOak = { - -- Reserved storage from 51700 - 51709 - Done = 51700, - Progress = 51701, - Squares = 51702, - AxeBlowsBird = 51703, - AxeBlowsLeft = 51704, - AxeBlowsRight = 51705, - AxeBlowsFace = 51706, - }, QuestChests = { -- Reserved storage from 51730 - 51999 @@ -1994,7 +1984,15 @@ Storage = { CarlosNpcGreetStorage = 51677, CarlosQuestLog = 51678, }, - TheDemonOak = {}, + TheDemonOak = { + Done = 51700, + Progress = 51701, + Squares = 51702, + AxeBlowsBird = 51703, + AxeBlowsLeft = 51704, + AxeBlowsRight = 51705, + AxeBlowsFace = 51706, + }, FishForASerpent = { QuestLine = 41651, }, diff --git a/data-otservbr-global/npc/avar_tar.lua b/data-otservbr-global/npc/avar_tar.lua index 6e99f557a6a..5b8a291966d 100644 --- a/data-otservbr-global/npc/avar_tar.lua +++ b/data-otservbr-global/npc/avar_tar.lua @@ -119,11 +119,11 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 2) end elseif MsgContains(message, "helmet") then - if player:getStorageValue(Storage.Quest.U7_24.TheAnnihilator.Reward) == 2 and player:getStorageValue(Storage.DemonOak.Done) == 3 then + if player:getStorageValue(Storage.Quest.U7_24.TheAnnihilator.Reward) == 2 and player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Done) == 3 then player:addOutfitAddon(541, 2) player:addOutfitAddon(542, 2) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) - player:setStorageValue(Storage.DemonOak.Done, 4) + player:setStorageValue(Storage.Quest.U8_2.TheDemonOak.Done, 4) npcHandler:say("Receive the helmet, |PLAYERNAME|.", npc, creature) else npcHandler:say("The helmet is for those who have hunted down all 6666 demons and finished the demon oak as well, |PLAYERNAME|.", npc, creature) diff --git a/data-otservbr-global/npc/oldrak.lua b/data-otservbr-global/npc/oldrak.lua index cc064dfd8c6..d4a0ffdb82f 100644 --- a/data-otservbr-global/npc/oldrak.lua +++ b/data-otservbr-global/npc/oldrak.lua @@ -100,31 +100,31 @@ local function creatureSayCallback(npc, creature, type, message) -- Demon oak quest if MsgContains(message, "mission") or MsgContains(message, "demon oak") then - if player:getStorageValue(Storage.DemonOak.Done) < 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Done) < 1 then npcHandler:say("How do you know? Did you go into the infested area?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.DemonOak.Progress) == 2 and player:getStorageValue(Storage.DemonOak.Done) < 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Progress) == 2 and player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Done) < 1 then npcHandler:say("You better don't return here until you've defeated the Demon Oak.", npc, creature) - elseif player:getStorageValue(Storage.DemonOak.Done) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Done) == 1 then npcHandler:say({ "You chopped down the demon oak?!? Unbelievable!! Let's hope it doesn't come back. As long as evil is still existent in the soil of the plains, it won't be over. Still, the demons suffered a setback, that's for sure. ...", "For your brave action, I tell you a secret which has been kept for many many years. There is an old house south of the location where you found the demon oak. There should be a grave with the name 'Yesim Adeit' somewhere close by. ...", "It belongs to a Daramian nobleman named 'Teme Saiyid'. I knew him well and he told me -almost augured- that someone will come who is worthy to obtain his treasure. I'm sure this 'someone' is you. Good luck in finding it!", }, npc, creature) - player:setStorageValue(Storage.DemonOak.Done, 2) + player:setStorageValue(Storage.Quest.U8_2.TheDemonOak.Done, 2) end elseif MsgContains(message, "yes") and npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.DemonOak.Progress, 1) - if player:getStorageValue(Storage.DemonOak.Progress) == 1 then + player:setStorageValue(Storage.Quest.U8_2.TheDemonOak.Progress, 1) + if player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Progress) == 1 then npcHandler:say("A demon oak?!? May the gods be on our side. You'll need a {hallowed axe} to harm that tree. Bring me a simple {axe} and I'll prepare it for you.", npc, creature) - player:setStorageValue(Storage.DemonOak.Progress, 2) + player:setStorageValue(Storage.Quest.U8_2.TheDemonOak.Progress, 2) npcHandler:setTopic(playerId, 0) else npcHandler:say("I don't believe a word of it! How rude to lie to a monk!", npc, creature) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "axe") then - if player:getStorageValue(Storage.DemonOak.Progress) == 2 then + if player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Progress) == 2 then npcHandler:say("Ahh, you've got an axe. Very good. I can make a hallowed axe out of it. It will cost you... er... a donation of 1,000 gold. Alright?", npc, creature) npcHandler:setTopic(playerId, 2) else @@ -132,7 +132,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "yes") and npcHandler:getTopic(playerId) == 2 then - if player:getStorageValue(Storage.DemonOak.Progress) == 2 then + if player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Progress) == 2 then if player:getMoney() + player:getBankBalance() >= 1000 then if player:removeItem(3274, 1) and player:removeMoneyBank(1000) then npcHandler:say("Let's see........here we go. The blessing on this axe will be absorbed by all the demonic energy around here. I presume it will not last very long, so better hurry. Actually, I can refresh the blessing as often as you like.", npc, creature) diff --git a/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak.lua b/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak.lua index a3de22b2240..d00b2818f11 100644 --- a/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak.lua +++ b/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak.lua @@ -47,10 +47,10 @@ local config = { }, }, storages = { - [914] = Storage.DemonOak.AxeBlowsBird, - [915] = Storage.DemonOak.AxeBlowsLeft, - [916] = Storage.DemonOak.AxeBlowsRight, - [917] = Storage.DemonOak.AxeBlowsFace, + [914] = Storage.Quest.U8_2.TheDemonOak.AxeBlowsBird, + [915] = Storage.Quest.U8_2.TheDemonOak.AxeBlowsLeft, + [916] = Storage.Quest.U8_2.TheDemonOak.AxeBlowsRight, + [917] = Storage.Quest.U8_2.TheDemonOak.AxeBlowsFace, }, } @@ -86,8 +86,8 @@ function demonOak.onUse(player, item, fromPosition, target, toPosition, isHotkey if isDefeated then player:teleportTo(DEMON_OAK_KICK_POSITION) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Tell Oldrak about your great victory against the demon oak.") - player:setStorageValue(Storage.DemonOak.Done, 1) - player:setStorageValue(Storage.DemonOak.Progress, 3) + player:setStorageValue(Storage.Quest.U8_2.TheDemonOak.Done, 1) + player:setStorageValue(Storage.Quest.U8_2.TheDemonOak.Progress, 3) return true end diff --git a/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_chest.lua b/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_chest.lua index edb598c276d..6e11d288c42 100644 --- a/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_chest.lua +++ b/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_chest.lua @@ -8,7 +8,7 @@ local chests = { local demonOakChest = Action() function demonOakChest.onUse(player, item, fromPosition, target, toPosition, isHotkey) if chests[item.uid] then - if player:getStorageValue(Storage.DemonOak.Done) ~= 2 then + if player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Done) ~= 2 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "It's empty.") return true end @@ -21,7 +21,7 @@ function demonOakChest.onUse(player, item, fromPosition, target, toPosition, isH end player:addItem(chest.itemid, chest.count) - player:setStorageValue(Storage.DemonOak.Done, 3) + player:setStorageValue(Storage.Quest.U8_2.TheDemonOak.Done, 3) end return true end diff --git a/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_gravestone.lua b/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_gravestone.lua index f89be56069a..12fcae5df3b 100644 --- a/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_gravestone.lua +++ b/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_gravestone.lua @@ -1,6 +1,6 @@ local demonOakGrave = Action() function demonOakGrave.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.DemonOak.Done) == 2 then + if player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Done) == 2 then player:teleportTo(DEMON_OAK_REWARDROOM_POSITION) DEMON_OAK_REWARDROOM_POSITION:sendMagicEffect(CONST_ME_TELEPORT) return true diff --git a/data-otservbr-global/scripts/movements/quests/demon_oak/entrance.lua b/data-otservbr-global/scripts/movements/quests/demon_oak/entrance.lua index 6e99d0f8edf..cd7e79657cf 100644 --- a/data-otservbr-global/scripts/movements/quests/demon_oak/entrance.lua +++ b/data-otservbr-global/scripts/movements/quests/demon_oak/entrance.lua @@ -6,7 +6,7 @@ function entrance.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.DemonOak.Done) >= 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Done) >= 1 then player:teleportTo(DEMON_OAK_KICK_POSITION) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) return true @@ -21,7 +21,7 @@ function entrance.onStepIn(creature, item, position, fromPosition) if #Game.getSpectators(DEMON_OAK_POSITION, false, true, 9, 9, 6, 6) == 0 then if player:getItemCount(9388) == 0 then - if player:getStorageValue(Storage.DemonOak.Progress) < 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Progress) < 1 then player:say("You need finish the demons task!", TALKTYPE_MONSTER_YELL, false, player, DEMON_OAK_KICK_POSITION) player:teleportTo(DEMON_OAK_KICK_POSITION) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) @@ -36,7 +36,7 @@ function entrance.onStepIn(creature, item, position, fromPosition) player:removeItem(9388, 1) player:teleportTo(DEMON_OAK_ENTER_POSITION) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) - player:setStorageValue(Storage.DemonOak.Progress, 1) + player:setStorageValue(Storage.Quest.U8_2.TheDemonOak.Progress, 1) player:say("I AWAITED YOU! COME HERE AND GET YOUR REWARD!", TALKTYPE_MONSTER_YELL, false, player, DEMON_OAK_POSITION) else player:teleportTo(DEMON_OAK_KICK_POSITION) diff --git a/data-otservbr-global/scripts/movements/quests/demon_oak/squares.lua b/data-otservbr-global/scripts/movements/quests/demon_oak/squares.lua index f0b704f8e0c..7c15cd88296 100644 --- a/data-otservbr-global/scripts/movements/quests/demon_oak/squares.lua +++ b/data-otservbr-global/scripts/movements/quests/demon_oak/squares.lua @@ -16,10 +16,10 @@ function squares.onStepIn(creature, item, position, fromPosition) return true end - local status = math.max(player:getStorageValue(Storage.DemonOak.Squares), 0) + local status = math.max(player:getStorageValue(Storage.Quest.U8_2.TheDemonOak.Squares), 0) local startUid = 9000 if item.uid - startUid == status + 1 then - player:setStorageValue(Storage.DemonOak.Squares, status + 1) + player:setStorageValue(Storage.Quest.U8_2.TheDemonOak.Squares, status + 1) player:say(voices[math.random(#voices)], TALKTYPE_MONSTER_YELL, false, player, DEMON_OAK_POSITION) end return true diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 8b4af042063..6e14a6c3762 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -832,6 +832,11 @@ ItemAction = { } ItemUnique = { + -- The Demon Oak Quest + [1001] = { + itemId = 1979, + itemPos = { x = 32710, y = 32398, z = 7 }, + }, -- The Ice Islands Quest [1061] = { itemId = 2576, @@ -1051,6 +1056,11 @@ ItemUnique = { itemId = 2753, itemPos = { x = 32933, y = 32495, z = 7 }, }, + -- The Demon Oak Quest + [9000] = { + itemId = 918, + itemPos = { x = 32716, y = 32344, z = 7 }, + }, -- Dreamers Challenge Quest [9030] = { itemId = 1949, From 2c54db5ebaffc027ff8c91c9158455bbe802d633 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 31 Jul 2024 20:08:35 -0300 Subject: [PATCH 052/112] The Hunt for the Sea Serpent Quest --- data-otservbr-global/lib/core/quests.lua | 2 +- data-otservbr-global/lib/core/storages.lua | 4 +- data-otservbr-global/npc/captain_haba.lua | 36 +++++++-------- .../npc/captain_haba_open_sea.lua | 44 +++++++++---------- .../the_hunt_for_the_sea_serpent/bait.lua | 30 ++++++------- .../creaturescripts/customs/freequests.lua | 2 +- 6 files changed, 58 insertions(+), 60 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 3c5568e9e53..99d950a993c 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -4686,7 +4686,7 @@ if not Quests then }, [15] = { name = "Fish for a Serpent", - storageId = Storage.Quest.U8_2.FishForASerpent.QuestLine, + storageId = Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent, missionId = 10097, startValue = 1, endValue = 5, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index bf397a18cf7..454f1cf2e4b 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -1993,15 +1993,13 @@ Storage = { AxeBlowsRight = 51705, AxeBlowsFace = 51706, }, - FishForASerpent = { - QuestLine = 41651, - }, TheHuntForTheSeaSerpent = { QuestLine = 41652, SuccessSwitch = 41653, Bait = 41654, Direction = 41655, Access = 41656, + FishForASerpent = 41651, }, TheInquisition = {}, TheThievesGuild = {}, diff --git a/data-otservbr-global/npc/captain_haba.lua b/data-otservbr-global/npc/captain_haba.lua index 559f7d16377..2d5bdef598a 100644 --- a/data-otservbr-global/npc/captain_haba.lua +++ b/data-otservbr-global/npc/captain_haba.lua @@ -59,12 +59,12 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end -local FishForASerpent = Storage.Quest.U8_2.FishForASerpent +local FishForASerpent = Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent local TheHuntForTheSeaSerpent = Storage.Quest.U8_2.TheHuntForTheSeaSerpent local function greetCallback(npc, creature) local player = Player(creature) - if player:getStorageValue(TheHuntForTheSeaSerpent.QuestLine) == 2 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.QuestLine) == 2 then npcHandler:setMessage(MESSAGE_GREET, "Harrr, landlubber wha'd ya want? Askin' for a {passage}?") else npcHandler:setMessage(MESSAGE_GREET, "Harrr, landlubber wha'd ya want?") @@ -82,17 +82,17 @@ local function creatureSayCallback(npc, creature, type, message) if table.contains({ "mission", "hunt", "passage" }, message:lower()) then if MsgContains(message, "passage") then - if player:getStorageValue(FishForASerpent.QuestLine) < 5 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent) < 5 then npcHandler:say("Hold your horses! First we need to get more {bait} fo' the sea serpent. Bring me the fish I requested and we can set sails immediately.", npc, creature) return true end end - if player:getStorageValue(FishForASerpent.QuestLine) < 0 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent) < 0 then npcHandler:say("Ya wanna join the hunt fo' the {sea serpent}? Be warned ya may pay with ya life! Are ya in to it?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(FishForASerpent.QuestLine) < 5 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent) < 5 then npcHandler:say("You got any {baits} for me?", npc, creature) - elseif player:getStorageValue(FishForASerpent.QuestLine) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent) >= 5 then npcHandler:say("A'right, wanna put out to sea?", npc, creature) npcHandler:setTopic(playerId, 2) end @@ -100,39 +100,39 @@ local function creatureSayCallback(npc, creature, type, message) if npcHandler:getTopic(playerId) == 1 then npcHandler:say("A'right, we are here to resupply our stock of baits to catch the sea serpent. Your first task is to bring me 5 fish they are easy to catch. When you got them ask me for the {bait} again.", npc, creature) player:setStorageValue(Storage.TibiaTales.DefaultStart, 1) - player:setStorageValue(FishForASerpent.QuestLine, 1) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say("Let's go fo' a {hunt} and bring the beast down!", npc, creature) --test player:teleportTo(Position(31942, 31047, 6)) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) - if player:getStorageValue(TheHuntForTheSeaSerpent.QuestLine) < 0 then - player:setStorageValue(TheHuntForTheSeaSerpent.QuestLine, 1) + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.QuestLine) < 0 then + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.QuestLine, 1) end npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "bait") then - if player:getStorageValue(FishForASerpent.QuestLine) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent) == 1 then if player:removeItem(3578, 5) then npcHandler:say("Excellent, now bring me 5 northern pike.", npc, creature) - player:setStorageValue(FishForASerpent.QuestLine, 2) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent, 2) end - elseif player:getStorageValue(FishForASerpent.QuestLine) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent) == 2 then if player:removeItem(3580, 5) then npcHandler:say("Excellent, now bring me 5 green perch.", npc, creature) - player:setStorageValue(FishForASerpent.QuestLine, 3) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent, 3) end - elseif player:getStorageValue(FishForASerpent.QuestLine) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent) == 3 then if player:removeItem(7159, 5) then npcHandler:say("Excellent, now bring me 5 rainbow trout.", npc, creature) - player:setStorageValue(FishForASerpent.QuestLine, 4) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent, 4) end - elseif player:getStorageValue(FishForASerpent.QuestLine) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent) == 4 then if player:removeItem(7158, 5) then npcHandler:say("Excellent, that should be enough fish to make the bait. Tell me when ya're ready fo' the {hunt}.", npc, creature) - player:setStorageValue(FishForASerpent.QuestLine, 5) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent, 5) end - elseif player:getStorageValue(FishForASerpent.QuestLine) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent) >= 5 then npcHandler:say("The bait is ready, tell me if ya're ready to start the hunt.", npc, creature) end end diff --git a/data-otservbr-global/npc/captain_haba_open_sea.lua b/data-otservbr-global/npc/captain_haba_open_sea.lua index 140ca090393..069f3fa02d2 100644 --- a/data-otservbr-global/npc/captain_haba_open_sea.lua +++ b/data-otservbr-global/npc/captain_haba_open_sea.lua @@ -54,9 +54,9 @@ local TheHuntForTheSeaSerpent = Storage.Quest.U8_2.TheHuntForTheSeaSerpent local function greetCallback(npc, creature) local player = Player(creature) - if player:getStorageValue(TheHuntForTheSeaSerpent.QuestLine) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.QuestLine) == 1 then npcHandler:setMessage(MESSAGE_GREET, "Wha'd ya want? Ask me 'bout the {instructions} if you don't know what to do! If you wanna head back to {Svargrond}, let me know.") - elseif player:getStorageValue(TheHuntForTheSeaSerpent.QuestLine) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.QuestLine) == 2 then npcHandler:setMessage(MESSAGE_GREET, "You found the spot |PLAYERNAME|!! Grab yourself a helmet of the deep and go explore the {caves} down there.") end return true @@ -115,41 +115,41 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message:lower(), "straight") then randomMessagesResult = randomMessages.straight[math.random(#randomMessages.straight)] npcHandler:say(randomMessagesResult, npc, creature) - if player:getStorageValue(TheHuntForTheSeaSerpent.Direction) == 1 then - player:setStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch, 1) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 0) + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction) == 1 then + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch, 1) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 0) else - player:setStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch, 0) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 0) end elseif MsgContains(message:lower(), "starboard") then randomMessagesResult = randomMessages.starboard[math.random(#randomMessages.starboard)] npcHandler:say(randomMessagesResult, npc, creature) - if player:getStorageValue(TheHuntForTheSeaSerpent.Direction) == 2 then - player:setStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch, 1) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 0) + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction) == 2 then + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch, 1) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 0) else - player:setStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch, 0) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 0) end elseif MsgContains(message:lower(), "larboard") then randomMessagesResult = randomMessages.larboard[math.random(#randomMessages.larboard)] npcHandler:say(randomMessagesResult, npc, creature) - if player:getStorageValue(TheHuntForTheSeaSerpent.Direction) == 3 then - player:setStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch, 1) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 0) + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction) == 3 then + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch, 1) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 0) else - player:setStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch, 0) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 0) end elseif MsgContains(message:lower(), "speed") then npcHandler:say("IS THAT ALL?!? SPEED UP, TIGHTEN THE MAINSAIL!!!", npc, creature) - if player:getStorageValue(TheHuntForTheSeaSerpent.Direction) == 4 then - player:setStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch, 1) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 0) + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction) == 4 then + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch, 1) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 0) else - player:setStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch, 0) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 0) end elseif table.contains({ "god", "svargrond", "back", "hunt", "passage", "trip" }, message:lower()) then if table.contains({ "god", "svargrond", "back", "hunt" }, message:lower()) then diff --git a/data-otservbr-global/scripts/actions/quests/the_hunt_for_the_sea_serpent/bait.lua b/data-otservbr-global/scripts/actions/quests/the_hunt_for_the_sea_serpent/bait.lua index 4289d8eee96..399cc02d8f5 100644 --- a/data-otservbr-global/scripts/actions/quests/the_hunt_for_the_sea_serpent/bait.lua +++ b/data-otservbr-global/scripts/actions/quests/the_hunt_for_the_sea_serpent/bait.lua @@ -2,14 +2,14 @@ local TheHuntForTheSeaSerpent = Storage.Quest.U8_2.TheHuntForTheSeaSerpent local bait = Action() function bait.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(TheHuntForTheSeaSerpent.QuestLine) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.QuestLine) == 1 then if target.itemid == 3496 then -- crane - if player:getStorageValue(TheHuntForTheSeaSerpent.Bait) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Bait) == 1 then player:say("The bait is already set. Go up to the lookout and check the telescope!", TALKTYPE_MONSTER_SAY) else item:remove(1) toPosition:sendMagicEffect(CONST_ME_WATERSPLASH) - player:setStorageValue(TheHuntForTheSeaSerpent.Bait, 1) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Bait, 1) end end end @@ -35,20 +35,20 @@ local words = { local telescope = Action() function telescope.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(TheHuntForTheSeaSerpent.QuestLine) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.QuestLine) == 1 then local randBait, randAppear, randPhase, randDirection, phase, direction randBait = math.random(2) -- 50% bait loss ratio - if player:getStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch) == 1 then randAppear = math.random(10) -- 90%/10% nothing/success ratio else randAppear = math.random(9) -- always nothing end - if player:getStorageValue(TheHuntForTheSeaSerpent.Bait) < 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Bait) < 1 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You should set a new bait first.") - elseif player:getStorageValue(TheHuntForTheSeaSerpent.Direction) > 0 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction) > 0 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Oops! You lost it.") - player:setStorageValue(TheHuntForTheSeaSerpent.SuccessSwitch, 0) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.SuccessSwitch, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 0) elseif randAppear <= 4 then -- 40% nothing player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You see water as far as the eye can reach. No sea serpent in sight.") else @@ -58,21 +58,21 @@ function telescope.onUse(player, item, fromPosition, target, toPosition, isHotke phase = words.phase[randPhase] direction = words.direction[randDirection] player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("You see %s under the surface%s.", phase, direction)) - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, randDirection) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, randDirection) if randBait == 2 then - player:setStorageValue(TheHuntForTheSeaSerpent.Bait, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Bait, 0) end elseif randAppear == 9 then -- 10% nothing player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "It's getting away! You should tell the captain to gain speed!") - player:setStorageValue(TheHuntForTheSeaSerpent.Direction, 4) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Direction, 4) if randBait == 2 then - player:setStorageValue(TheHuntForTheSeaSerpent.Bait, 0) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Bait, 0) end elseif randAppear == 10 then -- 10% success player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "There are multiple shadows under the surface. This has to be the right location.") Position(31933, 31037, 7):sendMagicEffect(CONST_ME_WATERCREATURE) - player:setStorageValue(TheHuntForTheSeaSerpent.QuestLine, 2) - player:setStorageValue(TheHuntForTheSeaSerpent.Access, 1) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.QuestLine, 2) + player:setStorageValue(Storage.Quest.U8_2.TheHuntForTheSeaSerpent.Access, 1) end end end diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 1cf5aa958e7..27c50fa94ac 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -379,7 +379,7 @@ local questTable = { { storage = Storage.HeroRathleton.AccessTeleport3, storageValue = 1 }, -- Sea Serpent Quest - { storage = Storage.Quest.U8_2.FishForASerpent.QuestLine, storageValue = 5 }, + { storage = Storage.Quest.U8_2.TheHuntForTheSeaSerpent.FishForASerpent, storageValue = 5 }, { storage = Storage.Quest.U8_2.TheHuntForTheSeaSerpent.QuestLine, storageValue = 2 }, --The White Raven Monastery From ab2e39c07310f88045c7d3a47195e0a022fd7bb3 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 1 Aug 2024 10:57:55 -0300 Subject: [PATCH 053/112] Fix CAP Before this fix, if the player has half of the required CAP and the quest has a container, only the empty container will come to the player and the quest will be completed. --- data-otservbr-global/startup/tables/chest.lua | 65 ++++++++++++------- 1 file changed, 41 insertions(+), 24 deletions(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 375f4970595..b63f456a3e6 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1,4 +1,4 @@ ---[[ + --[[ Look README.md for see the reserved action/unique numbers From range 5000 to 6000 is reserved for keys chest From range 6001 to 472 is reserved for script reward @@ -122,8 +122,8 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32648, y = 31905, z = 3 }, container = 2853, - reward = { { 2970, 1 }, { 3598, 20 }, { 3598, 7 } }, - weight = 44, + reward = { { 2970, 1 }, { 3598, 27 } }, + weight = 12.00, storage = Storage.Quest.U6_1.EmperorsCookies.Rewards.Cookies, keyAction = Storage.Quest.Key.ID3801, }, @@ -154,9 +154,9 @@ ChestUnique = { isKey = true, itemId = 2472, itemPos = { x = 32201, y = 31571, z = 10 }, - container = 2853, + container = , reward = { { 2970, 1 }, { 3031, 23 }, { 3147, 1 }, { 3298, 4 }, { 3384, 1 } }, - weight = 80, + weight = 80.00, storage = Storage.Quest.Key.ID4502, keyAction = Storage.Quest.Key.ID4502, }, @@ -453,7 +453,7 @@ ChestUnique = { itemPos = { x = 32803, y = 31582, z = 2 }, container = 2853, reward = { { 3284, 1 }, { 3297, 1 } }, -- bag with weapons - weight = 64, + weight = 64.00, questName = "draconia1", }, [6024] = { @@ -747,7 +747,7 @@ ChestUnique = { container = 2853, keyAction = Storage.Quest.Key.ID3702, reward = { { 2971, 1 }, { 3509, 1 }, { 3351, 1 }, { 3424, 1 }, { 2821, 1 }, { 3271, 1 }, { 3085, 1 }, { 3048, 1 } }, - weight = 194, + weight = 195.00, storage = Storage.Quest.PreU6_0.OrnamentedShield.Rewards.OrnamentedShield, }, [6063] = { @@ -756,7 +756,7 @@ ChestUnique = { itemPos = { x = 32769, y = 32302, z = 10 }, container = 2859, reward = { { 2949, 1 }, { 3059, 1 }, { 3083, 1 }, { 3035, 5 }, { 3053, 1 } }, - weight = 44, + weight = 44.00, questName = "ornamentedshield", }, --[6064] EMPTY @@ -766,7 +766,7 @@ ChestUnique = { itemPos = { x = 32644, y = 32131, z = 8 }, container = 2853, reward = { { 3033, 2 }, { 3050, 1 }, { 2953, 1 } }, - weight = 44, + weight = 18.00, questName = "panpipe", }, [6066] = { @@ -774,7 +774,7 @@ ChestUnique = { itemPos = { x = 33199, y = 31923, z = 11 }, container = 2853, reward = { { 3031, 98 }, { 3031, 77 }, { 3026, 3 } }, - weight = 27, + weight = 27.00, storage = Storage.Quest.U6_4.BerserkerTreasure.Rewards.WhitePearls, }, -- Fire axe quest @@ -784,7 +784,7 @@ ChestUnique = { itemPos = { x = 33078, y = 31656, z = 11 }, container = 2853, reward = { { 3098, 1 }, { 3085, 200 }, { 3028, 7 }, { 3320, 1 } }, -- Bag (Ring of Healing, Dragon Necklace, 7 Small Diamonds) - weight = 27, + weight = 56.00, questName = "fireaxe1", }, -- Poison daggers quest @@ -793,8 +793,8 @@ ChestUnique = { itemId = 2473, itemPos = { x = 33155, y = 31880, z = 11 }, container = 2854, - reward = { { 3448, 30 }, { 3299, 1 }, { 3299, 1 } }, -- Backpack (2 Poison Daggers, 30 Poison Arrows) - weight = 60, + reward = { { 3448, 30 }, { 3299, 1 } }, -- Backpack (2 Poison Daggers, 30 Poison Arrows) + weight = 51.00, questName = "poisondaggers", }, -- Shaman treasure quest @@ -804,7 +804,7 @@ ChestUnique = { itemPos = { x = 33127, y = 31885, z = 9 }, container = 2853, reward = { { 3147, 3 } }, -- Bag with 3 blank runes - weight = 15, + weight = 15.00, questName = "shamantreasure", }, -- Strong potions quest @@ -814,7 +814,7 @@ ChestUnique = { itemPos = { x = 33163, y = 31603, z = 15 }, container = 2857, reward = { { 237, 5 } }, - weight = 23, + weight = 23.00, storage = Storage.Quest.U8_1.StrongPotions.Reward, }, -- Vampire shield quest @@ -824,7 +824,7 @@ ChestUnique = { itemPos = { x = 33188, y = 31682, z = 14 }, container = 2853, reward = { { 3058, 1 }, { 3027, 1 }, { 3078, 1 } }, -- Bag (Strange Symbol, Black Pearl and Mysterious Fetish) - weight = 16, + weight = 16.00, questName = "vampireshield1", }, -- [6072] empty @@ -835,7 +835,7 @@ ChestUnique = { itemPos = { x = 33072, y = 32169, z = 2 }, container = 2854, reward = { { 268, 1 }, { 266, 1 }, { 3449, 30 }, { 3448, 60 } }, - weight = 80, + weight = 99.00, storage = Storage.Quest.U7_1.DragonTower.Rewards.Backpack1, }, -- Backpack 2 @@ -844,7 +844,7 @@ ChestUnique = { itemPos = { x = 33078, y = 32169, z = 2 }, container = 2854, reward = { { 3350, 1 }, { 3029, 2 } }, - weight = 50, + weight = 50.00, storage = Storage.Quest.U7_1.DragonTower.Rewards.Backpack2, }, -- Behemoth quest @@ -855,7 +855,7 @@ ChestUnique = { itemPos = { x = 33294, y = 31658, z = 13 }, container = 2853, reward = { { 3028, 3 }, { 3029, 4 }, { 3007, 1 }, { 3052, 1 }, { 3055, 1 } }, - weight = 50, + weight = 17.00, questName = "behemothquest1", }, -- Parchment room quest @@ -919,7 +919,7 @@ ChestUnique = { itemId = 2469, itemPos = { x = 32845, y = 31917, z = 6 }, container = 2853, - weight = 42, + weight = 31.00, reward = { { 3026, 1 }, { 3207, 1 } }, storage = Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha.Bag1, }, @@ -928,7 +928,7 @@ ChestUnique = { itemId = 2469, itemPos = { x = 32847, y = 31917, z = 6 }, container = 2853, - weight = 42, + weight = 13.00, reward = { { 3012, 1 }, { 3097, 1 } }, storage = Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha.Bag2, }, @@ -959,7 +959,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 33233, y = 31656, z = 13 }, container = 2856, - weight = 50, + weight = 50.00, reward = { { 3213, 1 } }, storage = Storage.Quest.U7_24.TheAnnihilator.Reward, }, @@ -1026,7 +1026,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 33057, y = 31029, z = 7 }, container = 2854, - weight = 14.90, + weight = 25.00, reward = { { 7439, 1 }, { 7440, 1 }, { 7443, 1 } }, storage = Storage.Quest.U8_54.TheNewFrontier.Reward.Potions, }, @@ -1150,6 +1150,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32149, y = 32105, z = 11 }, container = 2854, -- backpack + weight = 35.00, reward = { { 2882, 1 }, { 2856, 1 }, { 2881, 1 }, { 2905, 1 } }, -- Jug, Present Box, Cup and Plate questName = "presentBox", }, @@ -1159,6 +1160,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32146, y = 32097, z = 11 }, container = 2853, -- bag + weight = 21.00, reward = { { 3447, 12 }, { 3031, 40 } }, -- bag: 12 arrows, 40 gold coin questName = "bearChest1", }, @@ -1198,6 +1200,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 31973, y = 32209, z = 12 }, container = 2853, -- bag + weight = 37.00, reward = { { 3551, 1 }, { 1781, 5 }, { 3031, 50 } }, -- sandals, 5 small stones, 50 gold coins questName = "goblintemple", }, @@ -1206,6 +1209,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 31977, y = 32209, z = 12 }, container = 2853, -- bag + weight = 31.00, reward = { { 3466, 1 }, { 2992, 4 }, { 2874, 1 } }, -- pan, 4 snowballs, vial of milk questName = "goblintemple2", }, @@ -1222,6 +1226,7 @@ ChestUnique = { itemId = 2473, itemPos = { x = 32127, y = 32065, z = 12 }, container = 2853, -- bag + weight = 19.00, reward = { { 3447, 10 }, { 3448, 4 } }, -- 10 arrows, 4 poison arrow questName = "minohell2", }, @@ -1305,6 +1310,7 @@ ChestUnique = { itemId = 2469, itemPos = { x = 32443, y = 32238, z = 11 }, container = 2853, -- bag + weight = 18.00, reward = { { 3052, 1 }, { 3085, 200 } }, -- life ring , dragon necklace questName = "lifering", }, @@ -1329,6 +1335,7 @@ ChestUnique = { itemId = 2469, itemPos = { x = 32456, y = 32008, z = 13 }, container = 2853, -- bag + weight = 10.00, reward = { { 3029, 1 }, { 3028, 1 }, { 3097, 1 } }, -- small sapphire, small diamond, dwarven ring questName = "geomancer", }, @@ -1437,6 +1444,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32651, y = 31969, z = 9 }, container = 2853, -- bag + weight = 40.00, reward = { { 3147, 3 }, { 2989, 1 }, { 3031, 76 }, { 3463, 1 } }, -- 3 blank rune, wooden doll, 76 gold coin, mirror questName = "longsword3", }, @@ -1454,6 +1462,7 @@ ChestUnique = { itemId = 2469, itemPos = { x = 33089, y = 32030, z = 9 }, container = 2853, -- bag + weight = 26.00, reward = { { 3046, 1 }, { 3092, 1 }, { 3147, 1 } }, -- magic light wand, axe ring, blank rune questName = "orcshaman", }, @@ -1478,6 +1487,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32357, y = 32130, z = 9 }, container = 2853, -- bag + weight = 113.00, reward = { { 3377, 1 } }, -- scale armor questName = "scalearmor", }, @@ -1495,6 +1505,7 @@ ChestUnique = { itemId = 2476, itemPos = { x = 32775, y = 32006, z = 11 }, container = 2853, -- bag + weight = 10.00, reward = { { 3017, 1 }, { 3030, 2 }, { 3028, 3 } }, -- Silver Brooch, 2 Small Rubies, 3 Small Diamonds questName = "silverbrooch", }, @@ -1519,6 +1530,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32675, y = 32069, z = 8 }, container = 2857, -- green bag + weight = 34.00, reward = { { 3084, 250 }, { 3098, 1 }, { 3046, 1 }, { 3077, 1 } }, -- protection amulet, ring of healing, magic light wand and anhk questName = "desert2", }, @@ -1536,6 +1548,7 @@ ChestUnique = { itemId = 2472, itemPos = { x = 32565, y = 32119, z = 3 }, container = 2853, -- bag + weight = 14.00, reward = { { 3083, 150 }, { 3029, 2 }, { 3097, 1 } }, -- garlick necklace, small sapphire, dwarven ring questName = "triangletower", }, @@ -1545,6 +1558,7 @@ ChestUnique = { itemId = 4025, itemPos = { x = 32179, y = 32224, z = 9 }, container = 2853, -- bag + weight = 102.00, reward = { { 3374, 1 }, { 3430, 1 } }, -- Copper Shield and Legion Helmet questName = "dragoncorpse", }, @@ -1598,6 +1612,7 @@ ChestUnique = { itemId = 4240, itemPos = { x = 32769, y = 32225, z = 7 }, container = 2854, + weight = 162.00 reward = { { 3123, 1 }, { 3155, 3 }, { 3361, 1 }, { 3353, 1 }, { 3285, 1 }, { 3506, 1 } }, -- worn leather boots, sudden death rune, leather armor, iron helmet, longsword, stamped letter questName = "ironhelmet", }, @@ -1607,6 +1622,7 @@ ChestUnique = { itemId = 4240, itemPos = { x = 32514, y = 32303, z = 10 }, container = 2853, + weight = 49.00, reward = { { 3350, 1 }, { 3448, 5 }, { 268, 1 }, { 266, 1 } }, -- bow, 5 poison arrows, mana potion, health potion questName = "deadarcher", }, @@ -1616,6 +1632,7 @@ ChestUnique = { itemId = 4240, itemPos = { x = 32816, y = 32279, z = 8 }, container = 2853, + weight = 24.00, reward = { { 3450, 5 }, { 3449, 12 } }, -- 5 power bolt, 12 burst arrow questName = "powerbolt1", }, @@ -1716,7 +1733,7 @@ ChestUnique = { itemId = 1983, itemPos = { x = 33049, y = 32399, z = 10 }, container = 2853, - weight = 105, + weight = 105.00, reward = { { 3436, 1 }, { 3567, 1 }, { 3324, 1 } }, storage = Storage.Quest.U7_3.TheMedusaQuest, }, From 1c7aa6ac809dc1c94c97dbd42e1ec400690ca36a Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 1 Aug 2024 11:05:15 -0300 Subject: [PATCH 054/112] Update chest.lua --- data-otservbr-global/startup/tables/chest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index b63f456a3e6..f5808b79328 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -154,7 +154,7 @@ ChestUnique = { isKey = true, itemId = 2472, itemPos = { x = 32201, y = 31571, z = 10 }, - container = , + container = 2853, reward = { { 2970, 1 }, { 3031, 23 }, { 3147, 1 }, { 3298, 4 }, { 3384, 1 } }, weight = 80.00, storage = Storage.Quest.Key.ID4502, From 7d8421bd6b51a39916c5df083049422740a20c77 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 1 Aug 2024 11:06:22 -0300 Subject: [PATCH 055/112] Update chest.lua --- data-otservbr-global/startup/tables/chest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index f5808b79328..9f8d2dcb5b2 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1612,7 +1612,7 @@ ChestUnique = { itemId = 4240, itemPos = { x = 32769, y = 32225, z = 7 }, container = 2854, - weight = 162.00 + weight = 162.00, reward = { { 3123, 1 }, { 3155, 3 }, { 3361, 1 }, { 3353, 1 }, { 3285, 1 }, { 3506, 1 } }, -- worn leather boots, sudden death rune, leather armor, iron helmet, longsword, stamped letter questName = "ironhelmet", }, From 7cd83da9e8db39a54c2c06c7680ce1e77bc46918 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 1 Aug 2024 14:07:08 +0000 Subject: [PATCH 056/112] Lua code format - (Stylua) --- data-otservbr-global/startup/tables/chest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 9f8d2dcb5b2..99b8673f670 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -1,4 +1,4 @@ - --[[ +--[[ Look README.md for see the reserved action/unique numbers From range 5000 to 6000 is reserved for keys chest From range 6001 to 472 is reserved for script reward From fe140fb8e05bd77a812f79aa481702bf7ba6d57b Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Fri, 2 Aug 2024 15:55:15 -0300 Subject: [PATCH 057/112] The Inquisition Quest --- data-otservbr-global/lib/core/quests.lua | 16 +- data-otservbr-global/lib/core/storages.lua | 43 +++-- data-otservbr-global/npc/grof_the_guard.lua | 8 +- data-otservbr-global/npc/henricus.lua | 163 +++++++++--------- data-otservbr-global/npc/kulag_the_guard.lua | 8 +- data-otservbr-global/npc/miles_the_guard.lua | 8 +- data-otservbr-global/npc/storkus.lua | 51 ++++-- data-otservbr-global/npc/tim_the_guard.lua | 13 +- data-otservbr-global/npc/uzon.lua | 2 +- data-otservbr-global/npc/walter_the_guard.lua | 10 +- .../actions/quests/others/holy_water.lua | 16 +- .../creaturescripts/customs/freequests.lua | 26 +-- .../actions_brother_lever.lua} | 0 .../actions_rewards.lua} | 8 +- .../actions_ungreez_door.lua} | 3 +- .../actions_vampire_hunt.lua} | 7 +- .../creaturescripts_inquisition_boss.lua} | 0 .../creaturescripts_inquisition_ungreez.lua} | 6 +- .../movements_entrance.lua} | 23 +-- .../movements_reward_room_text.lua} | 4 +- .../movements_teleport_main.lua} | 10 +- data-otservbr-global/startup/tables/chest.lua | 8 + .../startup/tables/door_quest.lua | 4 +- data-otservbr-global/startup/tables/item.lua | 155 +++++++++++++++++ data-otservbr-global/startup/tables/lever.lua | 17 ++ 25 files changed, 409 insertions(+), 200 deletions(-) rename data-otservbr-global/scripts/{actions/quests/inquisition/brother_lever.lua => quests/the_inquisition_quest/actions_brother_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/inquisition/rewards.lua => quests/the_inquisition_quest/actions_rewards.lua} (68%) rename data-otservbr-global/scripts/{actions/quests/inquisition/ungreez_door.lua => quests/the_inquisition_quest/actions_ungreez_door.lua} (88%) rename data-otservbr-global/scripts/{actions/quests/inquisition/vampire_hunt.lua => quests/the_inquisition_quest/actions_vampire_hunt.lua} (67%) rename data-otservbr-global/scripts/{creaturescripts/quests/inquisition/inquisition_boss.lua => quests/the_inquisition_quest/creaturescripts_inquisition_boss.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/inquisition/inquisition_ungreez.lua => quests/the_inquisition_quest/creaturescripts_inquisition_ungreez.lua} (56%) rename data-otservbr-global/scripts/{movements/quests/inquisition/entrance.lua => quests/the_inquisition_quest/movements_entrance.lua} (59%) rename data-otservbr-global/scripts/{movements/quests/inquisition/reward_room_text.lua => quests/the_inquisition_quest/movements_reward_room_text.lua} (72%) rename data-otservbr-global/scripts/{movements/quests/inquisition/teleport_main.lua => quests/the_inquisition_quest/movements_teleport_main.lua} (90%) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 99d950a993c..24f13c2d008 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -3379,12 +3379,12 @@ if not Quests then }, [23] = { name = "The Inquisition", - startStorageId = Storage.TheInquisition.Questline, + startStorageId = Storage.Quest.U8_2.TheInquisitionQuest.Questline, startStorageValue = 2, missions = { [1] = { name = "Mission 1: Interrogation", - storageId = Storage.TheInquisition.Mission01, + storageId = Storage.Quest.U8_2.TheInquisitionQuest.Mission01, missionId = 10245, startValue = 1, endValue = 7, @@ -3401,7 +3401,7 @@ if not Quests then }, [2] = { name = "Mission 2: Eclipse", - storageId = Storage.TheInquisition.Mission02, + storageId = Storage.Quest.U8_2.TheInquisitionQuest.Mission02, missionId = 10246, startValue = 1, endValue = 3, @@ -3416,7 +3416,7 @@ if not Quests then }, [3] = { name = "Mission 3: Vampire Hunt", - storageId = Storage.TheInquisition.Mission03, + storageId = Storage.Quest.U8_2.TheInquisitionQuest.Mission03, missionId = 10247, startValue = 1, endValue = 6, @@ -3434,7 +3434,7 @@ if not Quests then }, [4] = { name = "Mission 4: The Haunted Ruin", - storageId = Storage.TheInquisition.Mission04, + storageId = Storage.Quest.U8_2.TheInquisitionQuest.Mission04, missionId = 10248, startValue = 1, endValue = 3, @@ -3447,7 +3447,7 @@ if not Quests then }, [5] = { name = "Mission 5: Essential Gathering", - storageId = Storage.TheInquisition.Mission05, + storageId = Storage.Quest.U8_2.TheInquisitionQuest.Mission05, missionId = 10249, startValue = 1, endValue = 3, @@ -3459,7 +3459,7 @@ if not Quests then }, [6] = { name = "Mission 6: The Demon Ungreez", - storageId = Storage.TheInquisition.Mission06, + storageId = Storage.Quest.U8_2.TheInquisitionQuest.Mission06, missionId = 10250, startValue = 1, endValue = 3, @@ -3471,7 +3471,7 @@ if not Quests then }, [7] = { name = "Mission 7: The Shadow Nexus", - storageId = Storage.TheInquisition.Mission07, + storageId = Storage.Quest.U8_2.TheInquisitionQuest.Mission07, missionId = 10251, startValue = 1, endValue = 5, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 454f1cf2e4b..6b36ace5d20 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -724,27 +724,6 @@ Storage = { DeeplingAnchor = 51023, RoyalCostumeOutfit = 51026, }, - TheInquisition = { - -- Reserved storage from 51110 - 51139 - Questline = 51110, - Mission01 = 51111, - Mission02 = 51112, - Mission03 = 51113, - Mission04 = 51114, - Mission05 = 51115, - Mission06 = 51116, - Mission07 = 51117, - RewardDoor = 51118, - GrofGuard = 51120, - KulagGuard = 51121, - MilesGuard = 51122, - TimGuard = 51123, - WalterGuard = 51124, - StorkusVampiredust = 51125, - EnterTeleport = 51126, - Reward = 51127, - RewardRoomText = 51128, - }, TheWayToYalahar = { -- Reserved storage from 51200 - 51209 QuestLine = 51200, @@ -2001,7 +1980,27 @@ Storage = { Access = 41656, FishForASerpent = 41651, }, - TheInquisition = {}, + TheInquisitionQuest = { + Questline = 51110, + Mission01 = 51111, + Mission02 = 51112, + Mission03 = 51113, + Mission04 = 51114, + Mission05 = 51115, + Mission06 = 51116, + Mission07 = 51117, + RewardDoor = 51118, + GrofGuard = 51120, + KulagGuard = 51121, + MilesGuard = 51122, + TimGuard = 51123, + WalterGuard = 51124, + StorkusVampiredust = 51125, + EnterTeleport = 51126, + Reward = 51127, + RewardRoomText = 51128, + WitchesGrimoire = 51129, + }, TheThievesGuild = {}, TrollSabotage = { Questline = 41840, diff --git a/data-otservbr-global/npc/grof_the_guard.lua b/data-otservbr-global/npc/grof_the_guard.lua index 95dd3e1969a..5dbc8d51071 100644 --- a/data-otservbr-global/npc/grof_the_guard.lua +++ b/data-otservbr-global/npc/grof_the_guard.lua @@ -58,16 +58,16 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if MsgContains(message, "trouble") and player:getStorageValue(Storage.TheInquisition.GrofGuard) < 1 and player:getStorageValue(Storage.TheInquisition.Mission01) ~= -1 then + if MsgContains(message, "trouble") and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.GrofGuard) < 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) ~= -1 then npcHandler:say("I think it'll rain soon and I left some laundry out for drying.", npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "authorities") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("Yes I'm pretty sure they have failed to send the laundry police to take care of it, you fool.", npc, creature) npcHandler:setTopic(playerId, 0) - if player:getStorageValue(Storage.TheInquisition.GrofGuard) < 1 then - player:setStorageValue(Storage.TheInquisition.GrofGuard, 1) - player:setStorageValue(Storage.TheInquisition.Mission01, player:getStorageValue(Storage.TheInquisition.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.GrofGuard) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.GrofGuard, 1) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01, player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" player:getPosition():sendMagicEffect(CONST_ME_HOLYAREA) end end diff --git a/data-otservbr-global/npc/henricus.lua b/data-otservbr-global/npc/henricus.lua index d6d7beda8f4..a4c67ca558f 100644 --- a/data-otservbr-global/npc/henricus.lua +++ b/data-otservbr-global/npc/henricus.lua @@ -65,12 +65,12 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "inquisitor") then npcHandler:say("The churches of the gods entrusted me with the enormous and responsible task to lead the inquisition. I leave the field work to inquisitors who I recruit from fitting people that cross my way.", npc, creature) elseif MsgContains(message, "join") then - if player:getStorageValue(Storage.TheInquisition.Questline) < 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) < 1 then npcHandler:say("Do you want to join the inquisition?", npc, creature) npcHandler:setTopic(playerId, 2) end elseif MsgContains(message, "blessing") or MsgContains(message, "bless") then - if player:getStorageValue(Storage.TheInquisition.Questline) == 25 then --if quest is done + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 25 then --if quest is done npcHandler:say("Do you want to receive the blessing of the inquisition - which means " .. (missing == 5 and "all five available" or missing) .. " blessings - for " .. totalBlessPrice .. " gold?", npc, creature) npcHandler:setTopic(playerId, 7) else @@ -78,7 +78,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "flask") or MsgContains(message, "special flask") then - if player:getStorageValue(Storage.TheInquisition.Questline) >= 12 then -- give player the ability to purchase the flask. + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) >= 12 then -- give player the ability to purchase the flask. npcHandler:say("Do you want to buy the special flask of holy water for " .. flaskCost .. " gold?", npc, creature) npcHandler:setTopic(playerId, 8) else @@ -86,167 +86,153 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "mission") or MsgContains(message, "report") then - if player:getStorageValue(Storage.TheInquisition.Questline) < 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) < 1 then npcHandler:say("Do you want to join the inquisition?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 1 then npcHandler:say({ "Let's see if you are worthy. Take an inquisitor's field guide from the box in the back room. ...", "Follow the instructions in the guide to talk to the Thaian guards that protect the walls and gates of the city and test their loyalty. Then report to me about your {mission}.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 2) - player:setStorageValue(Storage.TheInquisition.Mission01, 1) -- The Inquisition Questlog- "Mission 1: Interrogation" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 2) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01, 1) -- The Inquisition Questlog- "Mission 1: Interrogation" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 2 then npcHandler:say("Your current mission is to investigate the reliability of certain guards. Are you done with that mission?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 3 then npcHandler:say({ "Listen, we have information about a heretic coven that hides in a mountain called the Big Old One. The witches reach this cursed place on flying brooms and think they are safe there. ...", "I've arranged a flying carpet that will bring you to their hideout. Travel to Femor Hills and tell the carpet pilot the codeword 'eclipse' ...", "He'll bring you to your destination. At their meeting place, you'll find a cauldron in which they cook some forbidden brew ...", "Use this vial of holy water to destroy the brew. Also steal their grimoire and bring it to me.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 4) - player:setStorageValue(Storage.TheInquisition.Mission02, 1) -- The Inquisition Questlog- "Mission 2: Eclipse" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 4) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission02, 1) -- The Inquisition Questlog- "Mission 2: Eclipse" player:addItem(133, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 5 then - if player:removeItem(7874, 1) then - npcHandler:say({ - "I think it's time to truly test your abilities. One of our allies has requested assistance. I think you are just the right person to help him ...", - "Storkus is an old and grumpy dwarf who works as a vampire hunter since many, many decades. He's quite successful but even hehas his limits. ...", - "So occasionally, we send him help. In return he trains and tests our recruits. It's an advantageous agreement for both sides ...", - "You'll find him in his cave at the mountain outside of Kazordoon. He'll tell you about your next mission.", - }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 6) - player:setStorageValue(Storage.TheInquisition.Mission02, 3) -- The Inquisition Questlog- "Mission 2: Eclipse" - player:setStorageValue(Storage.TheInquisition.Mission03, 1) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" - else - npcHandler:say("You need bring me the witches' grimoire.", npc, creature) - end + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 5 then + npcHandler:say("Your current mission is to destroy this coven. Are you done with that mission?", npc, creature) + npcHandler:setTopic(playerId, 9) + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 6 then + npcHandler:say({ + "I think it's time to truly test your abilities. One of our allies has requested assistance. I think you are just the right person to help him ...", + "Storkus is an old and grumpy dwarf who works as a vampire hunter since many, many decades. He's quite successful but even hehas his limits. ...", + "So occasionally, we send him help. In return he trains and tests our recruits. It's an advantageous agreement for both sides ...", + "You'll find him in his cave at the mountain outside of Kazordoon. He'll tell you about your next mission.", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission03, 1) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) > 5 and player:getStorageValue(Storage.TheInquisition.Questline) < 11 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) > 6 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) < 11 then npcHandler:say("Your current mission is to help the vampire hunter Storkus. Are you done with that mission? ", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 11 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 11 then npcHandler:say({ "We've got a report about an abandoned and haunted house in Liberty Bay. I want you to examine this house. It's the only ruin in Liberty Bay so you should have no trouble finding it. ...", "There's an evil being somewhere. I assume that it will be easier to find the right spot at night. Use this vial of holy water on that spot to drive out the evil being.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 12) - player:setStorageValue(Storage.TheInquisition.Mission04, 1) -- The Inquisition Questlog- "Mission 4: The Haunted Ruin" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 12) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission04, 1) -- The Inquisition Questlog- "Mission 4: The Haunted Ruin" player:addItem(133, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 12 or player:getStorageValue(Storage.TheInquisition.Questline) == 13 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 12 or player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 13 then npcHandler:say("Your current mission is to exorcise an evil being from a house in Liberty Bay. Are you done with that mission? ", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 14 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 14 then npcHandler:say({ "You've handled heretics, witches, vampires and ghosts. Now be prepared to face the most evil creatures we are fighting - demons. Your new task is extremely simple, though far from easy. ...", "Go and slay demonic creatures wherever you find them. Bring me 20 of their essences as a proof of your accomplishments.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 15) - player:setStorageValue(Storage.TheInquisition.Mission05, 1) -- The Inquisition Questlog- "Mission 5: Essential Gathering" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 15) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission05, 1) -- The Inquisition Questlog- "Mission 5: Essential Gathering" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 15 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 15 then if player:removeItem(6499, 20) then npcHandler:say({ "You're indeed a dedicated protector of the true believers. Don't stop now. Kill as many of these creatures as you can. ...", "I also have a reward for your great efforts. Talk to me about your {demon hunter outfit} anytime from now on. Afterwards, let's talk about the next mission that's awaiting you.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 16) - player:setStorageValue(Storage.TheInquisition.Mission05, 2) -- The Inquisition Questlog- "Mission 5: Essential Gathering" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 16) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission05, 2) -- The Inquisition Questlog- "Mission 5: Essential Gathering" else npcHandler:say("You need 20 of them.", npc, creature) end npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 17 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 17 then npcHandler:say({ "We've got information about something very dangerous going on on the isle of Edron. The demons are preparing something there ...", "Something that is a threat to all of us. Our investigators were able to acquire vital information before some of them were slain by a demon named Ungreez. ...", "It'll be your task to take revenge and to kill that demon. You'll find him in the depths of Edron. Good luck.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 18) - player:setStorageValue(Storage.TheInquisition.Mission06, 1) -- The Inquisition Questlog- "Mission 6: The Demon Ungreez" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 18) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission06, 1) -- The Inquisition Questlog- "Mission 6: The Demon Ungreez" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 19 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 19 then npcHandler:say({ "So the beast is finally dead! Thank the gods. At least some things work out in our favour ...", "Our other operatives were not that lucky, though. But you will learn more about that in your next {mission}.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 20) - player:setStorageValue(Storage.TheInquisition.Mission06, 3) -- The Inquisition Questlog- "Mission 6: The Demon Ungreez" - player:addOutfitAddon(288, 1) - player:addOutfitAddon(289, 1) - player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 20) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission06, 3) -- The Inquisition Questlog- "Mission 6: The Demon Ungreez" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 20 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 20 then npcHandler:say("Destroy the shadow nexus using this vial of holy water and kill all demon lords.", npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 21) - player:setStorageValue(Storage.TheInquisition.Mission07, 1) -- The Inquisition Questlog- "Mission 7: The Shadow Nexus" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 21) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission07, 1) -- The Inquisition Questlog- "Mission 7: The Shadow Nexus" player:addItem(133, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 21 or player:getStorageValue(Storage.TheInquisition.Questline) == 22 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 21 or player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 22 then npcHandler:say("Your current mission is to destroy the shadow nexus in the Demon Forge. Are you done with that mission?", npc, creature) npcHandler:setTopic(playerId, 6) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 2 then npcHandler:say("So be it. Now you are a member of the inquisition. You might ask me for a {mission} to raise in my esteem.", npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 1) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then - if player:getStorageValue(Storage.TheInquisition.WalterGuard) == 1 and player:getStorageValue(Storage.TheInquisition.KulagGuard) == 1 and player:getStorageValue(Storage.TheInquisition.GrofGuard) == 1 and player:getStorageValue(Storage.TheInquisition.MilesGuard) == 1 and player:getStorageValue(Storage.TheInquisition.TimGuard) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.WalterGuard) == 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.KulagGuard) == 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.GrofGuard) == 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.MilesGuard) == 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.TimGuard) == 1 then npcHandler:say({ "Indeed, this is exactly what my other sources told me. Of course I knew the outcome of this investigation in advance. This was just a test. ...", "Well, now that you've proven yourself as useful, you can ask me for another mission. Let's see if you can handle some field duty, too.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 3) - player:setStorageValue(Storage.TheInquisition.Mission01, 7) -- The Inquisition Questlog- "Mission 1: Interrogation" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 3) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01, 7) -- The Inquisition Questlog- "Mission 1: Interrogation" else npcHandler:say("You haven't done your mission yet.", npc, creature) end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 4 then - if player:getStorageValue(Storage.TheInquisition.Questline) == 10 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 10 then npcHandler:say("Good, you've returned. Your skill in practical matters seems to be useful. If you're ready for a further mission, just ask. ", npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 11) - player:setStorageValue(Storage.TheInquisition.Mission03, 6) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 11) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission03, 6) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" else npcHandler:say("You haven't done your mission with {Storkus} yet.", npc, creature) end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 then - if player:getStorageValue(Storage.TheInquisition.Questline) == 13 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 13 then npcHandler:say("Well, this was an easy task, but your next mission will be much more challenging. ", npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 14) - player:setStorageValue(Storage.TheInquisition.Mission04, 3) -- The Inquisition Questlog- "Mission 4: The Haunted Ruin" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 14) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission04, 3) -- The Inquisition Questlog- "Mission 4: The Haunted Ruin" else npcHandler:say("You haven't done your mission with {Storkus} yet.", npc, creature) end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then - if player:getStorageValue(Storage.TheInquisition.Questline) == 22 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 22 then npcHandler:say({ "Incredible! You're a true defender of faith! I grant you the title of a High Inquisitor for your noble deeds. From now on you can obtain the blessing of the inquisition which makes the pilgrimage of ashes obsolete ...", "The blessing of the inquisition will bestow upon you all available blessings for the price of 110000 gold. Also, don't forget to ask me about your {outfit} to receive the final addon as demon hunter.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 23) - player:setStorageValue(Storage.TheInquisition.Mission07, 3) -- The Inquisition Questlog- "Mission 7: The Shadow Nexus" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 23) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission07, 3) -- The Inquisition Questlog- "Mission 7: The Shadow Nexus" player:addAchievement("High Inquisitor") else npcHandler:say("Come back when you have destroyed the shadow nexus.", npc, creature) end npcHandler:setTopic(playerId, 0) - elseif npcHandler:getTopic(playerId) == 8 then - if player:removeMoneyBank(flaskCost) then - npcHandler:say("Here is your new flask!, |PLAYERNAME|.", npc, creature) - player:addItem(133, 1) - else - npcHandler:say("Come back when you have enough money.", npc, creature) - end - npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 7 then if missing == 0 then npcHandler:say("You already have been blessed!", npc, creature) @@ -257,6 +243,23 @@ local function creatureSayCallback(npc, creature, type, message) else npcHandler:say("Come back when you have enough money.", npc, creature) end + npcHandler:setTopic(playerId, 0) + elseif npcHandler:getTopic(playerId) == 8 then + if player:removeMoneyBank(flaskCost) then + npcHandler:say("Here is your new flask!, |PLAYERNAME|.", npc, creature) + player:addItem(133, 1) + else + npcHandler:say("Come back when you have enough money.", npc, creature) + end + npcHandler:setTopic(playerId, 0) + elseif npcHandler:getTopic(playerId) == 9 then + if player:removeItem(7874, 1) then + npcHandler:say("Fine, fine. You have proven that you can work efficiently. Still, only further missions will show if you are truly capable. Ask me for another mission if you're ready.", npc, creature) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 6) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission02, 3) -- The Inquisition Questlog- "Mission 2: Eclipse" + else + npcHandler:say("You need bring me the witches' grimoire.", npc, creature) + end end npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "no") then @@ -265,21 +268,25 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "outfit") then - if player:getStorageValue(Storage.TheInquisition.Questline) == 16 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 16 then npcHandler:say("Here is your demon hunter outfit. You deserve it. Unlock more addons by completing more missions.", npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 17) - player:setStorageValue(Storage.TheInquisition.Mission05, 3) -- The Inquisition Questlog- "Mission 5: Essential Gathering" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 17) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission05, 3) -- The Inquisition Questlog- "Mission 5: Essential Gathering" player:addOutfit(288, 0) player:addOutfit(289, 0) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 23 then - npcHandler:say("Here is the final addon for your demon hunter outfit. Congratulations!", npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 24) - player:setStorageValue(Storage.TheInquisition.Mission07, 4) -- The Inquisition Questlog- "Mission 7: The Shadow Nexus" - player:setStorageValue(Storage.TheInquisition.RewardDoor, 1) + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) >= 19 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) <= 22 then + npcHandler:say("Here is your demon hunter outfit. You deserve it. Unlock more addons by completing more missions.!", npc, creature) player:addOutfitAddon(288, 1) player:addOutfitAddon(289, 1) + player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) + npcHandler:setTopic(playerId, 0) + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 23 then + npcHandler:say("Here is the final addon for your demon hunter outfit. Congratulations!", npc, creature) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 24) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission07, 4) -- The Inquisition Questlog- "Mission 7: The Shadow Nexus" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.RewardDoor, 1) player:addOutfitAddon(288, 2) player:addOutfitAddon(289, 2) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) diff --git a/data-otservbr-global/npc/kulag_the_guard.lua b/data-otservbr-global/npc/kulag_the_guard.lua index 8a6cc5748f2..e0c89dd81d3 100644 --- a/data-otservbr-global/npc/kulag_the_guard.lua +++ b/data-otservbr-global/npc/kulag_the_guard.lua @@ -58,15 +58,15 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if MsgContains(message, "trouble") and player:getStorageValue(Storage.TheInquisition.KulagGuard) < 1 and player:getStorageValue(Storage.TheInquisition.Mission01) ~= -1 then + if MsgContains(message, "trouble") and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.KulagGuard) < 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) ~= -1 then npcHandler:say("You adventurers become more and more of a pest.", npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "authorities") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("They should throw you all into jail instead of giving you all those quests and rewards an honest watchman can only dream about.", npc, creature) - if player:getStorageValue(Storage.TheInquisition.KulagGuard) < 1 then - player:setStorageValue(Storage.TheInquisition.KulagGuard, 1) - player:setStorageValue(Storage.TheInquisition.Mission01, player:getStorageValue(Storage.TheInquisition.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.KulagGuard) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.KulagGuard, 1) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01, player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" player:getPosition():sendMagicEffect(CONST_ME_HOLYAREA) end npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/miles_the_guard.lua b/data-otservbr-global/npc/miles_the_guard.lua index d97861a78ac..063e60281cf 100644 --- a/data-otservbr-global/npc/miles_the_guard.lua +++ b/data-otservbr-global/npc/miles_the_guard.lua @@ -58,7 +58,7 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if MsgContains(message, "trouble") and npcHandler:getTopic(playerId) ~= 3 and player:getStorageValue(Storage.TheInquisition.MilesGuard) < 1 and player:getStorageValue(Storage.TheInquisition.Mission01) ~= -1 then + if MsgContains(message, "trouble") and npcHandler:getTopic(playerId) ~= 3 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.MilesGuard) < 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) ~= -1 then npcHandler:say("I'm fine. There's no trouble at all.", npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "foresight of the authorities") and npcHandler:getTopic(playerId) == 1 then @@ -70,9 +70,9 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "trouble will arise in the near future") and npcHandler:getTopic(playerId) == 3 then npcHandler:say("I think the gods and the government do their best to keep away harm from the citizens.", npc, creature) npcHandler:setTopic(playerId, 0) - if player:getStorageValue(Storage.TheInquisition.MilesGuard) < 1 then - player:setStorageValue(Storage.TheInquisition.MilesGuard, 1) - player:setStorageValue(Storage.TheInquisition.Mission01, player:getStorageValue(Storage.TheInquisition.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.MilesGuard) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.MilesGuard, 1) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01, player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" player:getPosition():sendMagicEffect(CONST_ME_HOLYAREA) end end diff --git a/data-otservbr-global/npc/storkus.lua b/data-otservbr-global/npc/storkus.lua index f6c763f9a68..3571a6f8c62 100644 --- a/data-otservbr-global/npc/storkus.lua +++ b/data-otservbr-global/npc/storkus.lua @@ -58,20 +58,20 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.TheInquisition.Questline) == 6 then - if player:getStorageValue(Storage.TheInquisition.StorkusVampiredust) < 0 then - player:setStorageValue(Storage.TheInquisition.StorkusVampiredust, 0) - end - if player:getStorageValue(Storage.TheInquisition.StorkusVampiredust) < 20 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 6 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.StorkusVampiredust) == 0 then + npcHandler:say("So they've sent another one? I just hope ye' better than the last one. Are ye' ready for a mission?", npc, creature) + npcHandler:setTopic(playerId, 9) + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.StorkusVampiredust) >= 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.StorkusVampiredust) <= 20 then npcHandler:say("So far ye've brought me " .. player:getItemCount(5905) .. " of 20 {vampire dusts}. Do ye' have any more with ye'? ", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.TheInquisition.StorkusVampiredust) == 20 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.StorkusVampiredust) == 21 then npcHandler:say("Fine, you're done! Ye' should talk to me about your {mission} again now.", npc, creature) npcHandler:setTopic(playerId, 2) - player:setStorageValue(Storage.TheInquisition.Questline, 7) - player:setStorageValue(Storage.TheInquisition.Mission03, 2) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 7) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission03, 2) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" end - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 7 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 7 then npcHandler:say({ "While ye' were keeping the lower ranks busy, I could get valuable information about some vampire lords. ...", "One of them is hiding somewhere beneath the Green Claw Swamp. I expect ye' to find him and kill him. ...", @@ -79,10 +79,10 @@ local function creatureSayCallback(npc, creature, type, message) "Before ye' open his coffin and drag that beast out to destroy it, I advise ye' to place some garlic necklaces on the stone slabs next to his coffin. That will weaken him considerably. ...", "Bring me his ring as proof for his death. And now hurry and good hunt to ye'.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 8) - player:setStorageValue(Storage.TheInquisition.Mission03, 3) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 8) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission03, 3) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheInquisition.Questline) == 8 or player:getStorageValue(Storage.TheInquisition.Questline) == 9 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 8 or player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 9 then if player:removeItem(7924, 1) then npcHandler:say({ "Ding, dong, the vampire is dead, eh? So I guess ye' can return to Henricus and tell him that ye' finished your job here. I'm quite sure he has some more challenging task up his sleeve. ...", @@ -90,14 +90,14 @@ local function creatureSayCallback(npc, creature, type, message) "They are quite hard to find. If ye' stumble across one of them and manage to kill him, he will surely drop some token that proves his death. Bring me these tokens. ...", "If ye' kill enough of them, I might have a little surprise for ye'.", }, npc, creature) - player:setStorageValue(Storage.TheInquisition.Questline, 10) - player:setStorageValue(Storage.TheInquisition.Mission03, 5) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 10) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission03, 5) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" else npcHandler:say("Have ye' killed the vampire lord? Because ye' have no his ring.", npc, creature) end npcHandler:setTopic(playerId, 0) end - elseif MsgContains(message, "vampire lord token") and player:getStorageValue(Storage.TheInquisition.Questline) == 10 then + elseif MsgContains(message, "vampire lord token") and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 10 then if player:getStorageValue(Storage.VampireHunter.Rank) < 1 then npcHandler:say("Would ye' like to give me vampire tokens?", npc, creature) npcHandler:setTopic(playerId, 3) @@ -120,13 +120,24 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then local count = player:getItemCount(5905) - local requiredCount = 20 - player:getStorageValue(Storage.TheInquisition.StorkusVampiredust) + local currentStorage = player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.StorkusVampiredust) + local requiredCount = 21 - currentStorage if count > requiredCount then count = requiredCount end - player:setStorageValue(Storage.TheInquisition.StorkusVampiredust, player:getStorageValue(Storage.TheInquisition.StorkusVampiredust) + count) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.StorkusVampiredust, currentStorage + count) player:removeItem(5905, count) - npcHandler:say("Ye've brought me " .. count .. " vampire dusts. " .. (20 - player:getStorageValue(Storage.TheInquisition.StorkusVampiredust)) == 0 and "Ask me for a {mission} to continue your quest." or ("Ye' need to bring " .. (20 - player:getStorageValue(Storage.TheInquisition.StorkusVampiredust)) .. " more."), npc, creature) + + local newStorage = player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.StorkusVampiredust) + local remainingDusts = 20 - newStorage + + local message + if remainingDusts <= 0 then + message = "Ask me for a {mission} to continue your quest." + else + message = "Ye' need to bring " .. remainingDusts .. " more." + end + npcHandler:say("Ye've brought me " .. count .. " vampire dusts. " .. message, npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(8192, 1) then @@ -183,6 +194,10 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Ye' don't have enought tokens.", npc, creature) end npcHandler:setTopic(playerId, 0) + elseif npcHandler:getTopic(playerId) == 9 then + npcHandler:say("As they might have told ye', I'm a vampire hunter. If ye' want to be of any help, ye' can assist me with some of my tasks and bring me 20 ounces of vampire dust. This gives me some time to concentrate on a bigger project.", npc, creature) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.StorkusVampiredust, 1) + npcHandler:setTopic(playerId, 0) end end return true diff --git a/data-otservbr-global/npc/tim_the_guard.lua b/data-otservbr-global/npc/tim_the_guard.lua index d5920f42205..627231b00a0 100644 --- a/data-otservbr-global/npc/tim_the_guard.lua +++ b/data-otservbr-global/npc/tim_the_guard.lua @@ -58,7 +58,7 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if MsgContains(message, "trouble") and player:getStorageValue(Storage.TheInquisition.TimGuard) < 1 and player:getStorageValue(Storage.TheInquisition.Mission01) ~= -1 then + if MsgContains(message, "trouble") and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.TimGuard) < 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) ~= -1 then npcHandler:say("Ah, well. Just this morning my new toothbrush fell into the toilet.", npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "authorities") then @@ -73,11 +73,14 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, "gods would allow") then if npcHandler:getTopic(playerId) == 3 then - npcHandler:say("It's not a drama!! I think there is just no god who's responsible for toothbrush safety, that's all ... ", npc, creature) + npcHandler:say({ + "It's not a drama!! I think there is just no god who's responsible for toothbrush safety, that's all ...", + "And even IF through some miracle the stupid toothbrush had jumped out of the toilet into my hand, I honestly doubt I would ever use it again.", + }, npc, creature) npcHandler:setTopic(playerId, 0) - if player:getStorageValue(Storage.TheInquisition.TimGuard) < 1 then - player:setStorageValue(Storage.TheInquisition.TimGuard, 1) - player:setStorageValue(Storage.TheInquisition.Mission01, player:getStorageValue(Storage.TheInquisition.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.TimGuard) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.TimGuard, 1) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01, player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" player:getPosition():sendMagicEffect(CONST_ME_HOLYAREA) end end diff --git a/data-otservbr-global/npc/uzon.lua b/data-otservbr-global/npc/uzon.lua index bc53d46b60c..112dee20086 100644 --- a/data-otservbr-global/npc/uzon.lua +++ b/data-otservbr-global/npc/uzon.lua @@ -69,7 +69,7 @@ local function addTravelKeyword(keyword, text, cost, destination, condition, act end addTravelKeyword("eclipse", "Oh no, so the time has come? Do you really want me to fly you to this unholy place?", 110, Position(32659, 31915, 0), function(player) - return player:getStorageValue(Storage.TheInquisition.Questline) ~= 4 and player:getStorageValue(Storage.TheInquisition.Questline) ~= 5 + return player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) ~= 4 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) ~= 5 end) addTravelKeyword("farmine", "Do you seek a ride to Farmine for |TRAVELCOST|?", 60, Position(32983, 31539, 1), function(player) return player:getStorageValue(TheNewFrontier.Mission10[1]) ~= 2 diff --git a/data-otservbr-global/npc/walter_the_guard.lua b/data-otservbr-global/npc/walter_the_guard.lua index bb059f82df4..f3417ce3b27 100644 --- a/data-otservbr-global/npc/walter_the_guard.lua +++ b/data-otservbr-global/npc/walter_the_guard.lua @@ -58,7 +58,7 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if MsgContains(message, "trouble") and player:getStorageValue(Storage.TheInquisition.WalterGuard) < 1 and player:getStorageValue(Storage.TheInquisition.Mission01) ~= -1 then + if MsgContains(message, "trouble") and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.WalterGuard) < 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) ~= -1 then npcHandler:say("I think there is a pickpocket in town.", npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "authorities") then @@ -75,9 +75,9 @@ local function creatureSayCallback(npc, creature, type, message) if npcHandler:getTopic(playerId) == 3 then npcHandler:say("If the gods had created the world a paradise, no one had to steal at all.", npc, creature) npcHandler:setTopic(playerId, 0) - if player:getStorageValue(Storage.TheInquisition.WalterGuard) < 1 then - player:setStorageValue(Storage.TheInquisition.WalterGuard, 1) - player:setStorageValue(Storage.TheInquisition.Mission01, player:getStorageValue(Storage.TheInquisition.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.WalterGuard) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.WalterGuard, 1) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01, player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission01) + 1) -- The Inquisition Questlog- "Mission 1: Interrogation" player:getPosition():sendMagicEffect(CONST_ME_HOLYAREA) end end @@ -85,6 +85,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "LONG LIVE THE KING!") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/scripts/actions/quests/others/holy_water.lua b/data-otservbr-global/scripts/actions/quests/others/holy_water.lua index c4e1baf39cf..37dce9a342c 100644 --- a/data-otservbr-global/scripts/actions/quests/others/holy_water.lua +++ b/data-otservbr-global/scripts/actions/quests/others/holy_water.lua @@ -59,20 +59,20 @@ function othersHolyWater.onUse(player, item, fromPosition, target, toPosition, i elseif target.actionid == 2000 then item:remove(1) toPosition:sendMagicEffect(CONST_ME_FIREAREA) - player:setStorageValue(Storage.TheInquisition.Mission02, 2) - player:setStorageValue(Storage.TheInquisition.Questline, 5) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission02, 2) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 5) return true -- Haunted Ruin Quest elseif target.actionid == 2003 then - if player:getStorageValue(Storage.TheInquisition.Questline) ~= 12 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) ~= 12 then return true end Game.createMonster("Pirate Ghost", toPosition) item:remove(1) - player:setStorageValue(Storage.TheInquisition.Questline, 13) - player:setStorageValue(Storage.TheInquisition.Mission04, 2) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 13) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission04, 2) local doorItem = Tile(doorPosition):getItemById(7869) if doorItem then @@ -120,9 +120,9 @@ function othersHolyWater.onUse(player, item, fromPosition, target, toPosition, i elseif target.itemid == 7931 then if Game.getStorageValue(GlobalStorage.Inquisition) > 0 then Game.setStorageValue(GlobalStorage.Inquisition, (Game.getStorageValue(GlobalStorage.Inquisition) - 1)) - if player:getStorageValue(Storage.TheInquisition.Questline) < 22 then - player:setStorageValue(Storage.TheInquisition.Mission07, 2) - player:setStorageValue(Storage.TheInquisition.Questline, 22) + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) < 22 then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission07, 2) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 22) end for i = 1, #effectPositions do effectPositions[i]:sendMagicEffect(CONST_ME_HOLYAREA) diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 27c50fa94ac..13ce3f4e3a8 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -174,19 +174,19 @@ local questTable = { { storage = Storage.Quest.U8_0.TheIceIslands.Mission11, storageValue = 2 }, { storage = Storage.Quest.U8_0.TheIceIslands.Mission12, storageValue = 6 }, { storage = Storage.Quest.U8_0.TheIceIslands.yakchalDoor, storageValue = 1 }, - { storage = Storage.TheInquisition.Questline, storageValue = 25 }, - { storage = Storage.TheInquisition.Mission01, storageValue = 7 }, - { storage = Storage.TheInquisition.Mission02, storageValue = 3 }, - { storage = Storage.TheInquisition.Mission03, storageValue = 6 }, - { storage = Storage.TheInquisition.Mission04, storageValue = 3 }, - { storage = Storage.TheInquisition.Mission05, storageValue = 3 }, - { storage = Storage.TheInquisition.Mission06, storageValue = 3 }, - { storage = Storage.TheInquisition.Mission07, storageValue = 1 }, - { storage = Storage.TheInquisition.GrofGuard, storageValue = 1 }, - { storage = Storage.TheInquisition.KulagGuard, storageValue = 1 }, - { storage = Storage.TheInquisition.TimGuard, storageValue = 1 }, - { storage = Storage.TheInquisition.WalterGuard, storageValue = 1 }, - { storage = Storage.TheInquisition.StorkusVampiredust, storageValue = 1 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.Questline, storageValue = 25 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.Mission01, storageValue = 7 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.Mission02, storageValue = 3 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.Mission03, storageValue = 6 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.Mission04, storageValue = 3 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.Mission05, storageValue = 3 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.Mission06, storageValue = 3 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.Mission07, storageValue = 1 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.GrofGuard, storageValue = 1 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.KulagGuard, storageValue = 1 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.TimGuard, storageValue = 1 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.WalterGuard, storageValue = 1 }, + { storage = Storage.Quest.U8_2.TheInquisitionQuest.StorkusVampiredust, storageValue = 1 }, { storage = Storage.Quest.U8_54.TheNewFrontier.Questline, storageValue = 29 }, { storage = Storage.Quest.U8_54.TheNewFrontier.Mission01, storageValue = 3 }, { storage = Storage.Quest.U8_54.TheNewFrontier.Mission02[1], storageValue = 4 }, diff --git a/data-otservbr-global/scripts/actions/quests/inquisition/brother_lever.lua b/data-otservbr-global/scripts/quests/the_inquisition_quest/actions_brother_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/inquisition/brother_lever.lua rename to data-otservbr-global/scripts/quests/the_inquisition_quest/actions_brother_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/inquisition/rewards.lua b/data-otservbr-global/scripts/quests/the_inquisition_quest/actions_rewards.lua similarity index 68% rename from data-otservbr-global/scripts/actions/quests/inquisition/rewards.lua rename to data-otservbr-global/scripts/quests/the_inquisition_quest/actions_rewards.lua index 84f128c9a2e..06ccc508c6a 100644 --- a/data-otservbr-global/scripts/actions/quests/inquisition/rewards.lua +++ b/data-otservbr-global/scripts/quests/the_inquisition_quest/actions_rewards.lua @@ -12,10 +12,10 @@ local rewards = { local inquisitionRewards = Action() function inquisitionRewards.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.TheInquisition.Reward) < 1 then - player:setStorageValue(Storage.TheInquisition.Reward, 1) - player:setStorageValue(Storage.TheInquisition.Questline, 25) - player:setStorageValue(Storage.TheInquisition.Mission07, 5) -- The Inquisition Questlog- "Mission 7: The Shadow Nexus" + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Reward) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Reward, 1) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 25) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission07, 5) -- The Inquisition Questlog- "Mission 7: The Shadow Nexus" player:addItem(rewards[item.uid], 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found " .. ItemType(rewards[item.uid]):getName() .. ".") player:addAchievement("Master of the Nexus") diff --git a/data-otservbr-global/scripts/actions/quests/inquisition/ungreez_door.lua b/data-otservbr-global/scripts/quests/the_inquisition_quest/actions_ungreez_door.lua similarity index 88% rename from data-otservbr-global/scripts/actions/quests/inquisition/ungreez_door.lua rename to data-otservbr-global/scripts/quests/the_inquisition_quest/actions_ungreez_door.lua index 95b21b0e5e3..d6da445265b 100644 --- a/data-otservbr-global/scripts/actions/quests/inquisition/ungreez_door.lua +++ b/data-otservbr-global/scripts/quests/the_inquisition_quest/actions_ungreez_door.lua @@ -1,6 +1,7 @@ local inquisitionUngreez = Action() + function inquisitionUngreez.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.TheInquisition.Questline) == 18 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 18 then if item.actionid == 1004 then if item.itemid == 5113 then player:teleportTo(toPosition, true) diff --git a/data-otservbr-global/scripts/actions/quests/inquisition/vampire_hunt.lua b/data-otservbr-global/scripts/quests/the_inquisition_quest/actions_vampire_hunt.lua similarity index 67% rename from data-otservbr-global/scripts/actions/quests/inquisition/vampire_hunt.lua rename to data-otservbr-global/scripts/quests/the_inquisition_quest/actions_vampire_hunt.lua index e3e78cc62f4..41f3086fa78 100644 --- a/data-otservbr-global/scripts/actions/quests/inquisition/vampire_hunt.lua +++ b/data-otservbr-global/scripts/quests/the_inquisition_quest/actions_vampire_hunt.lua @@ -5,10 +5,11 @@ local altars = { } local inquisitionVampire = Action() + function inquisitionVampire.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.TheInquisition.Questline) == 8 then - player:setStorageValue(Storage.TheInquisition.Questline, 9) - player:setStorageValue(Storage.TheInquisition.Mission03, 4) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 8 then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 9) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission03, 4) -- The Inquisition Questlog- "Mission 3: Vampire Hunt" local k = {} for i = 1, #altars do local tmp = Tile(altars[i]):getItemById(3083) diff --git a/data-otservbr-global/scripts/creaturescripts/quests/inquisition/inquisition_boss.lua b/data-otservbr-global/scripts/quests/the_inquisition_quest/creaturescripts_inquisition_boss.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/inquisition/inquisition_boss.lua rename to data-otservbr-global/scripts/quests/the_inquisition_quest/creaturescripts_inquisition_boss.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/inquisition/inquisition_ungreez.lua b/data-otservbr-global/scripts/quests/the_inquisition_quest/creaturescripts_inquisition_ungreez.lua similarity index 56% rename from data-otservbr-global/scripts/creaturescripts/quests/inquisition/inquisition_ungreez.lua rename to data-otservbr-global/scripts/quests/the_inquisition_quest/creaturescripts_inquisition_ungreez.lua index 6859446d9d4..70f09b1c01e 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/inquisition/inquisition_ungreez.lua +++ b/data-otservbr-global/scripts/quests/the_inquisition_quest/creaturescripts_inquisition_ungreez.lua @@ -4,10 +4,10 @@ function ungreezKill.onDeath(creature, _corpse, _lastHitKiller, mostDamageKiller if not player then return true end - if player:getStorageValue(Storage.TheInquisition.Questline) == 18 then + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 18 then -- The Inquisition Questlog- 'Mission 6: The Demon Ungreez' - player:setStorageValue(Storage.TheInquisition.Mission06, 2) - player:setStorageValue(Storage.TheInquisition.Questline, 19) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Mission06, 2) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 19) end return true end diff --git a/data-otservbr-global/scripts/movements/quests/inquisition/entrance.lua b/data-otservbr-global/scripts/quests/the_inquisition_quest/movements_entrance.lua similarity index 59% rename from data-otservbr-global/scripts/movements/quests/inquisition/entrance.lua rename to data-otservbr-global/scripts/quests/the_inquisition_quest/movements_entrance.lua index 19f6914eb96..ad00337433b 100644 --- a/data-otservbr-global/scripts/movements/quests/inquisition/entrance.lua +++ b/data-otservbr-global/scripts/quests/the_inquisition_quest/movements_entrance.lua @@ -1,16 +1,17 @@ -local throneStorages = { - Storage.Quest.U7_9.ThePitsOfInferno.ThroneInfernatil, - Storage.Quest.U7_9.ThePitsOfInferno.ThroneTafariel, - Storage.Quest.U7_9.ThePitsOfInferno.ThroneVerminor, - Storage.Quest.U7_9.ThePitsOfInferno.ThroneApocalypse, - Storage.Quest.U7_9.ThePitsOfInferno.ThroneBazir, - Storage.Quest.U7_9.ThePitsOfInferno.ThroneAshfalor, - Storage.Quest.U7_9.ThePitsOfInferno.ThronePumin, +local throneConfig = { + { storage = Storage.Quest.U7_9.ThePitsOfInferno.ThroneInfernatil, value = 1 }, + { storage = Storage.Quest.U7_9.ThePitsOfInferno.ThroneTafariel, value = 1 }, + { storage = Storage.Quest.U7_9.ThePitsOfInferno.ThroneVerminor, value = 1 }, + { storage = Storage.Quest.U7_9.ThePitsOfInferno.ThroneApocalypse, value = 1 }, + { storage = Storage.Quest.U7_9.ThePitsOfInferno.ThroneBazir, value = 1 }, + { storage = Storage.Quest.U7_9.ThePitsOfInferno.ThroneAshfalor, value = 1 }, + { storage = Storage.Quest.U7_9.ThePitsOfInferno.ThronePumin, value = 10 }, } local function hasTouchedOneThrone(player) - for i = 1, #throneStorages do - if player:getStorageValue(throneStorages[i]) == 1 then + for i = 1, #throneConfig do + local config = throneConfig[i] + if player:getStorageValue(config.storage) == config.value then return true end end @@ -28,7 +29,7 @@ function entrance.onStepIn(creature, item, position, fromPosition) return true end - if hasTouchedOneThrone(player) and player:getLevel() >= 100 and player:getStorageValue(Storage.TheInquisition.Questline) >= 20 then + if hasTouchedOneThrone(player) and player:getLevel() >= 100 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) >= 20 then for i = 1, #config do local cfg = config[i] if Position(cfg.position.x, cfg.position.y, cfg.position.z) == player:getPosition() then diff --git a/data-otservbr-global/scripts/movements/quests/inquisition/reward_room_text.lua b/data-otservbr-global/scripts/quests/the_inquisition_quest/movements_reward_room_text.lua similarity index 72% rename from data-otservbr-global/scripts/movements/quests/inquisition/reward_room_text.lua rename to data-otservbr-global/scripts/quests/the_inquisition_quest/movements_reward_room_text.lua index ea494e5ee05..ee72b33f0a6 100644 --- a/data-otservbr-global/scripts/movements/quests/inquisition/reward_room_text.lua +++ b/data-otservbr-global/scripts/quests/the_inquisition_quest/movements_reward_room_text.lua @@ -8,11 +8,11 @@ local rewardRoomText = MoveEvent() function rewardRoomText.onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() - if not player or player:getStorageValue(Storage.TheInquisition.RewardRoomText) == 1 then + if not player or player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.RewardRoomText) == 1 then return true end - player:setStorageValue(Storage.TheInquisition.RewardRoomText, 1) + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.RewardRoomText, 1) player:say("You can choose exactly one of these chests. Choose wisely!", TALKTYPE_MONSTER_SAY) return true end diff --git a/data-otservbr-global/scripts/movements/quests/inquisition/teleport_main.lua b/data-otservbr-global/scripts/quests/the_inquisition_quest/movements_teleport_main.lua similarity index 90% rename from data-otservbr-global/scripts/movements/quests/inquisition/teleport_main.lua rename to data-otservbr-global/scripts/quests/the_inquisition_quest/movements_teleport_main.lua index bfbff379ef7..a0a70ca6e28 100644 --- a/data-otservbr-global/scripts/movements/quests/inquisition/teleport_main.lua +++ b/data-otservbr-global/scripts/quests/the_inquisition_quest/movements_teleport_main.lua @@ -184,14 +184,14 @@ function teleportMain.onStepIn(creature, item, position, fromPosition) end local teleport = teleports[item.uid] - if teleport.alwaysSetStorage and player:getStorageValue(Storage.TheInquisition.EnterTeleport) < teleport.storage then - player:setStorageValue(Storage.TheInquisition.EnterTeleport, teleport.storage) + if teleport.alwaysSetStorage and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.EnterTeleport) < teleport.storage then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.EnterTeleport, teleport.storage) end if teleport.bossStorage then if Game.getStorageValue(teleport.bossStorage) >= 2 then - if player:getStorageValue(Storage.TheInquisition.EnterTeleport) < teleport.storage then - player:setStorageValue(Storage.TheInquisition.EnterTeleport, teleport.storage) + if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.EnterTeleport) < teleport.storage then + player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.EnterTeleport, teleport.storage) player:setStorageValue(teleport.bossStorage, 0) end else @@ -200,7 +200,7 @@ function teleportMain.onStepIn(creature, item, position, fromPosition) player:say("Escaping back to the Retreat.", TALKTYPE_MONSTER_SAY) return true end - elseif teleport.storage and player:getStorageValue(Storage.TheInquisition.EnterTeleport) < teleport.storage then + elseif teleport.storage and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.EnterTeleport) < teleport.storage then player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:say("You don't have enough energy to enter this portal", TALKTYPE_MONSTER_SAY) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 99b8673f670..1f3c730ebe1 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2325,6 +2325,14 @@ ChestUnique = { weight = 22.00, storage = Storage.Quest.U8_1.WhatAFoolishQuest.BagBookKnife, }, + -- The Inquisition Quest + [6270] = { + itemId = 2472, + itemPos = { x = 32649, y = 31932, z = 1 }, + reward = { { 7874, 1 } }, + weight = 13.00, + storage = Storage.Quest.U8_2.TheInquisitionQuest.WitchesGrimoire, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 09638311ed7..f7e4693e222 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -395,11 +395,11 @@ QuestDoorAction = { }, }, -- The inquisition door - [Storage.TheInquisition.Mission01] = { + [Storage.Quest.U8_2.TheInquisitionQuest.Mission01] = { itemId = false, itemPos = { { x = 32316, y = 32264, z = 8 } }, }, - [Storage.TheInquisition.RewardDoor] = { + [Storage.Quest.U8_2.TheInquisitionQuest.RewardDoor] = { itemId = false, itemPos = { { x = 32320, y = 32258, z = 9 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 6e14a6c3762..fb60193bfc9 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -18,11 +18,41 @@ ItemAction = { itemId = 2819, itemPos = { { x = 33063, y = 31624, z = 15 } }, }, + -- The Inquisition Quest + [1004] = { + itemId = 5113, + itemPos = { + { x = 33146, y = 31639, z = 11 }, + }, + }, -- The Travelling Trader Quest [1108] = { itemId = 1642, itemPos = { { x = 32660, y = 32192, z = 8 } }, }, + -- The Inquisition Quest + [2000] = { + itemId = false, + itemPos = { + { x = 32657, y = 31927, z = 1 }, + { x = 32658, y = 31927, z = 1 }, + { x = 32657, y = 31928, z = 1 }, + { x = 32658, y = 31928, z = 1 }, + }, + }, + [2002] = { + itemId = false, + itemPos = { + { x = 32779, y = 31979, z = 9 }, + { x = 32779, y = 31980, z = 9 }, + }, + }, + [2003] = { + itemId = 7867, + itemPos = { + { x = 32256, y = 32790, z = 7 }, + }, + }, -- The Pits of Inferno Quest [2023] = { itemId = 1982, @@ -911,6 +941,131 @@ ItemUnique = { itemId = 1482, itemPos = { x = 32824, y = 32224, z = 12 }, }, + -- The Inquisition Quest + [2150] = { + itemId = 1949, + itemPos = { x = 33230, y = 31633, z = 12 }, + }, + [2151] = { + itemId = 1949, + itemPos = { x = 33157, y = 31728, z = 11 }, + }, + [2152] = { + itemId = 1949, + itemPos = { x = 33068, y = 31782, z = 13 }, + }, + [2153] = { + itemId = 1949, + itemPos = { x = 33169, y = 31705, z = 14 }, + }, + [2154] = { + itemId = 1949, + itemPos = { x = 33065, y = 31771, z = 10 }, + }, + [2155] = { + itemId = 1949, + itemPos = { x = 33168, y = 31755, z = 13 }, + }, + [2156] = { + itemId = 1949, + itemPos = { x = 33260, y = 31750, z = 13 }, + }, + [2157] = { + itemId = 1949, + itemPos = { x = 33123, y = 31692, z = 11 }, + }, + [2158] = { + itemId = 1949, + itemPos = { x = 33372, y = 31614, z = 14 }, + }, + [2159] = { + itemId = 1949, + itemPos = { x = 33175, y = 31709, z = 14 }, + }, + [2160] = { + itemId = 1949, + itemPos = { x = 33357, y = 31588, z = 12 }, + }, + [2161] = { + itemId = 1949, + itemPos = { x = 33365, y = 31613, z = 11 }, + }, + [2162] = { + itemId = 1949, + itemPos = { x = 33197, y = 31768, z = 11 }, + }, + [2163] = { + itemId = 1949, + itemPos = { x = 33152, y = 31782, z = 12 }, + }, + [2164] = { + itemId = 1949, + itemPos = { x = 33175, y = 31713, z = 14 }, + }, + [2165] = { + itemId = 1949, + itemPos = { x = 33234, y = 31758, z = 12 }, + }, + [2166] = { + itemId = 1949, + itemPos = { x = 33249, y = 31632, z = 13 }, + }, + [2167] = { + itemId = 1949, + itemPos = { x = 33339, y = 31632, z = 13 }, + }, + [2168] = { + itemId = 1949, + itemPos = { x = 33232, y = 31734, z = 11 }, + }, + [2169] = { + itemId = 1949, + itemPos = { x = 33038, y = 31752, z = 15 }, + }, + [2170] = { + itemId = 1949, + itemPos = { x = 33170, y = 31719, z = 14 }, + }, + [2171] = { + itemId = 1949, + itemPos = { x = 33187, y = 31759, z = 15 }, + }, + [2172] = { + itemId = 1949, + itemPos = { x = 33093, y = 31574, z = 11 }, + }, + [2173] = { + itemId = 1949, + itemPos = { x = 33137, y = 31671, z = 11 }, + }, + [2174] = { + itemId = 1949, + itemPos = { x = 33197, y = 31704, z = 11 }, + }, + [2175] = { + itemId = 1949, + itemPos = { x = 33199, y = 31687, z = 12 }, + }, + [2176] = { + itemId = 1949, + itemPos = { x = 33165, y = 31719, z = 14 }, + }, + [2177] = { + itemId = 1949, + itemPos = { x = 33225, y = 31607, z = 9 }, + }, + [2178] = { + itemId = 1949, + itemPos = { x = 33104, y = 31735, z = 11 }, + }, + [2179] = { + itemId = 1949, + itemPos = { x = 33110, y = 31681, z = 12 }, + }, + [2180] = { + itemId = 1949, + itemPos = { x = 33355, y = 31589, z = 11 }, + }, -- Dreamers Challenge Quest [2241] = { itemId = 353, diff --git a/data-otservbr-global/startup/tables/lever.lua b/data-otservbr-global/startup/tables/lever.lua index 0c88b00fe19..a659c9a34cd 100644 --- a/data-otservbr-global/startup/tables/lever.lua +++ b/data-otservbr-global/startup/tables/lever.lua @@ -162,6 +162,23 @@ LeverAction = { } LeverUnique = { + -- The Inquisiton Quest + [1006] = { + itemId = 2772, + itemPos = { x = 33240, y = 31722, z = 11 }, + }, + [1007] = { + itemId = 2772, + itemPos = { x = 33224, y = 31722, z = 11 }, + }, + [1008] = { + itemId = 2772, + itemPos = { x = 33224, y = 31734, z = 11 }, + }, + [1009] = { + itemId = 2772, + itemPos = { x = 33240, y = 31734, z = 11 }, + }, -- Against the Spider Cult Quest [1017] = { itemId = 2772, From b69ca9c1291d55d02f53b7c382012b2a37a58400 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 2 Aug 2024 18:56:09 +0000 Subject: [PATCH 058/112] Lua code format - (Stylua) --- data-otservbr-global/npc/henricus.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/data-otservbr-global/npc/henricus.lua b/data-otservbr-global/npc/henricus.lua index a4c67ca558f..827fa930637 100644 --- a/data-otservbr-global/npc/henricus.lua +++ b/data-otservbr-global/npc/henricus.lua @@ -112,8 +112,8 @@ local function creatureSayCallback(npc, creature, type, message) player:addItem(133, 1) npcHandler:setTopic(playerId, 0) elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 5 then - npcHandler:say("Your current mission is to destroy this coven. Are you done with that mission?", npc, creature) - npcHandler:setTopic(playerId, 9) + npcHandler:say("Your current mission is to destroy this coven. Are you done with that mission?", npc, creature) + npcHandler:setTopic(playerId, 9) elseif player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 6 then npcHandler:say({ "I think it's time to truly test your abilities. One of our allies has requested assistance. I think you are just the right person to help him ...", @@ -191,7 +191,13 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then - if player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.WalterGuard) == 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.KulagGuard) == 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.GrofGuard) == 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.MilesGuard) == 1 and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.TimGuard) == 1 then + if + player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.WalterGuard) == 1 + and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.KulagGuard) == 1 + and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.GrofGuard) == 1 + and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.MilesGuard) == 1 + and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.TimGuard) == 1 + then npcHandler:say({ "Indeed, this is exactly what my other sources told me. Of course I knew the outcome of this investigation in advance. This was just a test. ...", "Well, now that you've proven yourself as useful, you can ask me for another mission. Let's see if you can handle some field duty, too.", From d65b0d5d6e9f5f5d5b18e990e9aa7ead4e1338aa Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Fri, 2 Aug 2024 18:24:17 -0300 Subject: [PATCH 059/112] The Thieves Guild Quest --- data-otservbr-global/lib/core/quests.lua | 18 ++-- data-otservbr-global/lib/core/storages.lua | 35 +++---- data-otservbr-global/npc/ahmet.lua | 10 +- data-otservbr-global/npc/bertram.lua | 4 +- data-otservbr-global/npc/chantalle.lua | 6 +- data-otservbr-global/npc/dorian.lua | 95 ++++++++++--------- data-otservbr-global/npc/herbert.lua | 2 +- data-otservbr-global/npc/nurik.lua | 8 +- data-otservbr-global/npc/oswald.lua | 4 +- data-otservbr-global/npc/percybald.lua | 87 +++++++++-------- data-otservbr-global/npc/snake_eye.lua | 4 +- .../actions/other/others/quest_system1.lua | 2 +- .../actions/other/others/quest_system2.lua | 2 +- .../scripts/actions/tools/lock_pick.lua | 4 +- .../creaturescripts/customs/freequests.lua | 18 ++-- .../quests/thieves_guild/nomad_kill.lua | 4 +- .../actions_climbing_vine.lua} | 1 + .../actions_dwarf_disguise_kit.lua} | 0 .../actions_fish_napping_door.lua} | 2 +- .../actions_fish_napping_key.lua} | 2 +- .../the_thieves_guild_quest/actions_note.lua} | 5 +- data-otservbr-global/startup/tables/chest.lua | 50 ++++++++++ .../startup/tables/door_quest.lua | 8 +- data-otservbr-global/startup/tables/item.lua | 17 ++++ 24 files changed, 233 insertions(+), 155 deletions(-) rename data-otservbr-global/scripts/{actions/quests/the_thieves_guild/climbing_vine.lua => quests/the_thieves_guild_quest/actions_climbing_vine.lua} (99%) rename data-otservbr-global/scripts/{actions/quests/the_thieves_guild/dwarf_disguise_kit.lua => quests/the_thieves_guild_quest/actions_dwarf_disguise_kit.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_thieves_guild/fish_napping_door.lua => quests/the_thieves_guild_quest/actions_fish_napping_door.lua} (77%) rename data-otservbr-global/scripts/{actions/quests/the_thieves_guild/fish_napping_key.lua => quests/the_thieves_guild_quest/actions_fish_napping_key.lua} (84%) rename data-otservbr-global/scripts/{actions/quests/the_thieves_guild/note.lua => quests/the_thieves_guild_quest/actions_note.lua} (76%) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 24f13c2d008..b433f5aa172 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -3895,12 +3895,12 @@ if not Quests then }, [26] = { name = "The Thieves Guild", - startStorageId = Storage.ThievesGuild.Quest, + startStorageId = Storage.Quest.U8_2.TheThievesGuildQuest.Questline, startStorageValue = 1, missions = { [1] = { name = "Mission 1: Ivory Poaching", - storageId = Storage.ThievesGuild.Mission01, + storageId = Storage.Quest.U8_2.TheThievesGuildQuest.Mission01, missionId = 10280, startValue = 1, endValue = 2, @@ -3911,7 +3911,7 @@ if not Quests then }, [2] = { name = "Mission 2: Burglary", - storageId = Storage.ThievesGuild.Mission02, + storageId = Storage.Quest.U8_2.TheThievesGuildQuest.Mission02, missionId = 10281, startValue = 1, endValue = 3, @@ -3923,7 +3923,7 @@ if not Quests then }, [3] = { name = "Mission 3: Invitation", - storageId = Storage.ThievesGuild.Mission03, + storageId = Storage.Quest.U8_2.TheThievesGuildQuest.Mission03, missionId = 10282, startValue = 1, endValue = 3, @@ -3935,7 +3935,7 @@ if not Quests then }, [4] = { name = "Mission 4: Bridge Robbery", - storageId = Storage.ThievesGuild.Mission04, + storageId = Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, missionId = 10283, startValue = 1, endValue = 8, @@ -3952,7 +3952,7 @@ if not Quests then }, [5] = { name = "Mission 5: Enforcing Debts", - storageId = Storage.ThievesGuild.Mission05, + storageId = Storage.Quest.U8_2.TheThievesGuildQuest.Mission05, missionId = 10284, startValue = 1, endValue = 2, @@ -3964,7 +3964,7 @@ if not Quests then }, [6] = { name = "Mission 6: Fishnapping", - storageId = Storage.ThievesGuild.Mission06, + storageId = Storage.Quest.U8_2.TheThievesGuildQuest.Mission06, missionId = 10285, startValue = 1, endValue = 4, @@ -3978,7 +3978,7 @@ if not Quests then }, [7] = { name = "Mission 7: Blackmail", - storageId = Storage.ThievesGuild.Mission07, + storageId = Storage.Quest.U8_2.TheThievesGuildQuest.Mission07, missionId = 10286, startValue = 1, endValue = 2, @@ -3990,7 +3990,7 @@ if not Quests then }, [8] = { name = "Mission 8: Message", - storageId = Storage.ThievesGuild.Mission08, + storageId = Storage.Quest.U8_2.TheThievesGuildQuest.Mission08, missionId = 10287, startValue = 1, endValue = 3, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 6b36ace5d20..6b13b2d6dd8 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -860,21 +860,6 @@ Storage = { MeasurementsChrystal = 51380, MeasurementsOlrik = 51381, }, - ThievesGuild = { - -- Reserved storage from 515206 - 51409 - Quest = 515206, - Mission01 = 515207, - Mission02 = 515208, - Mission03 = 515209, - Mission04 = 51394, - Mission05 = 56395, - Mission06 = 51396, - Mission07 = 51397, - Mission08 = 51398, - Door = 51399, - Reward = 51400, - TheatreScript = 51401, - }, TheHuntForTheSeaSerpent = { -- Reserved storage from 51410 - 51419 }, @@ -2001,7 +1986,25 @@ Storage = { RewardRoomText = 51128, WitchesGrimoire = 51129, }, - TheThievesGuild = {}, + TheThievesGuildQuest = { + Questline = 515206, + Mission01 = 515207, + Mission02 = 515208, + Mission03 = 515209, + Mission04 = 51394, + Mission05 = 56395, + Mission06 = 51396, + Mission07 = 51397, + Mission08 = 51398, + Door = 51399, + Reward = 51400, + TheatreScript = 51401, + RewardOasis = 51402, + RewardBook = 51403, + GoldenGoblet = 51404, + CompromisingLetter = 51405, + RewardEnd = 51405, + }, TrollSabotage = { Questline = 41840, JumpTimer = 41841, diff --git a/data-otservbr-global/npc/ahmet.lua b/data-otservbr-global/npc/ahmet.lua index 3cb712f088e..dfe57f466cd 100644 --- a/data-otservbr-global/npc/ahmet.lua +++ b/data-otservbr-global/npc/ahmet.lua @@ -103,13 +103,13 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "documents") then - if player:getStorageValue(Storage.ThievesGuild.Mission04) == 2 then - player:setStorageValue(Storage.ThievesGuild.Mission04, 3) + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04) == 2 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, 3) npcHandler:say({ "You need some forged documents? But I will only forge something for a friend. ...", "The nomads at the northern oasis killed someone dear to me. Go and kill at least one of them, then we talk about your document.", }, npc, creature) - elseif player:getStorageValue(Storage.ThievesGuild.Mission04) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.RewardOasis) == 1 then npcHandler:say("The slayer of my enemies is my friend! For a mere 1000 gold I will create the documents you need. Are you interested?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -131,7 +131,7 @@ local function creatureSayCallback(npc, creature, type, message) if npcHandler:getTopic(playerId) == 1 then if player:removeMoneyBank(1000) then player:addItem(7866, 1) - player:setStorageValue(Storage.ThievesGuild.Mission04, 5) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, 5) npcHandler:say("And here they are! Now forget where you got them from.", npc, creature) else npcHandler:say("You don't have enough money.", npc, creature) @@ -177,6 +177,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "Be mourned pilgrim in flesh. I'm selling general goods.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/bertram.lua b/data-otservbr-global/npc/bertram.lua index 27252c06086..876c8ddf79d 100644 --- a/data-otservbr-global/npc/bertram.lua +++ b/data-otservbr-global/npc/bertram.lua @@ -59,11 +59,11 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "key") then - if player:getStorageValue(Storage.ThievesGuild.Mission06) == 1 and player:getSex() == PLAYERSEX_FEMALE then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06) == 1 and player:getSex() == PLAYERSEX_FEMALE then local headItem = player:getSlotItem(CONST_SLOT_HEAD) if headItem and headItem.itemid == 3576 and player:getStorageValue(Storage.Postman.Rank) == 5 then player:addItem(7934, 1) - player:setStorageValue(Storage.ThievesGuild.Mission06, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06, 2) npcHandler:say( "Oh my! You look so great in your uniform! \z You archpostwomen are not only daring but also beautiful. \z diff --git a/data-otservbr-global/npc/chantalle.lua b/data-otservbr-global/npc/chantalle.lua index 3ed42984f5c..17934c70bc2 100644 --- a/data-otservbr-global/npc/chantalle.lua +++ b/data-otservbr-global/npc/chantalle.lua @@ -59,15 +59,15 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "key") then - if player:getStorageValue(Storage.ThievesGuild.Mission06) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06) == 1 then local headItem = player:getSlotItem(CONST_SLOT_HEAD) if headItem and headItem.itemid == 3576 and player:getStorageValue(Storage.Postman.Rank) == 5 and player:getSex() ~= PLAYERSEX_FEMALE then player:addItem(7934) - player:setStorageValue(Storage.ThievesGuild.Mission06, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06, 2) npcHandler:say("Oh my! You look so great in your uniform! You archpostmen are not only daring but also handsome. Here take it, that's the key you wanted. Just promise to visit me now and then!", npc, creature) elseif player:removeItem(7939, 1) then player:addItem(7934) - player:setStorageValue(Storage.ThievesGuild.Mission06, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06, 2) npcHandler:say("Oh my, such a lovely necklace! Here take it, that's the key you wanted. Now let me admire my precious necklace alone.", npc, creature) else npcHandler:say("I am sorry, I am not interested in your money. Maybe you should try your luck with Herbert, the postman instead.", npc, creature) diff --git a/data-otservbr-global/npc/dorian.lua b/data-otservbr-global/npc/dorian.lua index bdf1b61a8d0..bddcea03ccb 100644 --- a/data-otservbr-global/npc/dorian.lua +++ b/data-otservbr-global/npc/dorian.lua @@ -59,17 +59,17 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.ThievesGuild.Quest) == 1 and player:getStorageValue(Storage.ThievesGuild.Mission01) < 1 then - player:setStorageValue(Storage.ThievesGuild.Mission01, 1) + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline) == 1 and player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission01) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission01, 1) npcHandler:say({ "Your first job is quite easy. The Thaian officials are unwilling to share the wealth they've accumulated in their new town Port Hope. ...", "They insist that most resources belong to the crown. This is quite sad, especially ivory is in high demand. Collect 10 elephant tusks and bring them to me.", }, npc, creature) - elseif player:getStorageValue(Storage.ThievesGuild.Mission01) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission01) == 1 then npcHandler:say("Have you finished your mission?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.ThievesGuild.Quest) == 2 and player:getStorageValue(Storage.ThievesGuild.Mission02) < 1 then - player:setStorageValue(Storage.ThievesGuild.Mission02, 1) + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline) == 2 and player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission02) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission02, 1) npcHandler:say({ "A client of our guild would like to get a certain vase. Unfortunately, it's not for sale. Well, by the original owner, that is. ...", "We, on the other hand, would gladly sell him the vase. Therefore, it would come in handy if we get this vase in our hands. ...", @@ -77,21 +77,21 @@ local function creatureSayCallback(npc, creature, type, message) "You'll still need some lock picks to get the chest open in which the vase is stored. Must be your lucky day, as I'm selling lock picks for a fair price. ...", "You might need some of them to get that chest open. The soon to be ex-owner of that vase is Sarina, the proprietor of Carlin's general store.", }, npc, creature) - elseif player:getStorageValue(Storage.ThievesGuild.Mission02) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission02) == 2 then npcHandler:say("Have you finished your mission?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.ThievesGuild.Quest) == 3 and player:getStorageValue(Storage.ThievesGuild.Mission03) < 1 then - player:setStorageValue(Storage.ThievesGuild.Mission03, 1) + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline) == 3 and player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission03) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission03, 1) npcHandler:say({ "Our beloved king will hold a great festivity at the end of the month. Unfortunately he forgot to invite one of our guild's representatives. ...", "Of course it would be rude to point out this mistake to the king. It will be your job to get us an invitation to the ball. ...", "Moreover, It will be a great chance to check the castle for, well, opportunities. I'm sure you understand. However, it's up to that pest Oswald to give out invitations, so he's the man you're looking for.", }, npc, creature) - elseif player:getStorageValue(Storage.ThievesGuild.Mission03) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission03) == 2 then npcHandler:say("Have you finished your mission?", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.ThievesGuild.Quest) == 4 and player:getStorageValue(Storage.ThievesGuild.Mission04) < 1 then - player:setStorageValue(Storage.ThievesGuild.Mission04, 1) + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline) == 4 and player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, 1) npcHandler:say({ "Your next mission is somewhat bigger and I'm sure much fun for you. Some new-rich merchant is being a bit more greedy than it's good for him. ...", "The good thing is he's as stupid as greedy, so we have a little but cunning plan. We arranged the boring correspondence in advance, so you'll come in when the fun starts. ...", @@ -100,36 +100,40 @@ local function creatureSayCallback(npc, creature, type, message) "Secondly, you'll need a disguise. Percybald in Carlin is an eccentric actor that might help you with that. ...", "As soon as you got both things, travel to Venore and find the merchant Nurik. Trade the false documents for the famous painting of Mina Losa and bring it to me.", }, npc, creature) - elseif player:getStorageValue(Storage.ThievesGuild.Mission04) == 7 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04) == 7 then npcHandler:say("Have you finished your mission?", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.ThievesGuild.Quest) == 5 and player:getStorageValue(Storage.ThievesGuild.Mission05) < 1 then - player:setStorageValue(Storage.ThievesGuild.Mission05, 1) - npcHandler:say("Some smugglers underneath Tiquanda, north west of Port Hope owe us some debts. Go there and steal their Golden Goblet and bring it to me.", npc, creature) - elseif player:getStorageValue(Storage.ThievesGuild.Mission05) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline) == 5 and player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission05) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission05, 1) + npcHandler:say({ + "Your next mission will lead you to Tiquanda. There is a hidden smugglers cave, north of town. ...", + "These smugglers think they don't have to pay us respect and try to withhold our share of the profit. Recently, they got hold of a certain valuable goblet. ...", + "Find them and get us this goblet as rightful payment. If you have to bash some noses during your mission, even better.", + }, npc, creature) + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission05) == 1 then npcHandler:say("Have you finished your mission?", npc, creature) npcHandler:setTopic(playerId, 6) - elseif player:getStorageValue(Storage.ThievesGuild.Quest) == 6 and player:getStorageValue(Storage.ThievesGuild.Mission06) < 1 then - player:setStorageValue(Storage.ThievesGuild.Mission06, 1) + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline) == 6 and player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06, 1) npcHandler:say({ "Your next job will be kidnapping. You'll get us the only creature that this scrupulous trader Theodore Loveless in Liberty Bay holds dear. ...", "His little goldfish! To get that fish, you'll have to get in his room somehow. ...", "As you might know I sell lock picks, but I fear unless you're extremely lucky, you won't crack this expensive masterpiece of a lock. However, get us that fish, regardless how.", }, npc, creature) - elseif player:getStorageValue(Storage.ThievesGuild.Mission06) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06) == 3 then npcHandler:say("Have you finished your mission?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.ThievesGuild.Quest) == 7 and player:getStorageValue(Storage.ThievesGuild.Mission07) < 1 then - player:setStorageValue(Storage.ThievesGuild.Mission07, 1) + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline) == 7 and player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission07) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission07, 1) npcHandler:say({ "We'd like to ease our lives somewhat. Therefore, we would appreciate the cooperation with one of the Venore city guards. ...", "Find some dirt about one of them. It's unimportant what it is. As soon as we have a foothold, we'll convince him to cooperate. Bring me whatever you may find.", }, npc, creature) - elseif player:getStorageValue(Storage.ThievesGuild.Mission07) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission07) == 1 then npcHandler:say("Have you finished your mission?", npc, creature) npcHandler:setTopic(playerId, 8) - elseif player:getStorageValue(Storage.ThievesGuild.Quest) == 8 and player:getStorageValue(Storage.ThievesGuild.Mission08) < 1 then - player:setStorageValue(Storage.ThievesGuild.Mission08, 1) + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline) == 8 and player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission08) < 1 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission08, 1) player:addItem(7873, 1) npcHandler:say({ "Competition might be an interesting challenge but our guild isn't really keen on competition. ...", @@ -137,13 +141,13 @@ local function creatureSayCallback(npc, creature, type, message) "Travel to the Plains of Havoc and find the base of our competitors under the ruins of the dark cathedral ...", "On the lowest level, you'll find a wall with two trophies. Place a message of our guild on the wall, right between the trophies. On your way, get rid of as many of our competitors as you can.", }, npc, creature) - elseif player:getStorageValue(Storage.ThievesGuild.Mission08) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission08) == 2 then npcHandler:say("Have you finished your mission?", npc, creature) npcHandler:setTopic(playerId, 9) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.ThievesGuild.Quest, 1) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline, 1) npcHandler:say({ "Excellent. You'll learn this trade from scratch. Our operations cover many fields of work. Some aren't even illegal. ...", "Well, as long as you don't get caught at least. Ask me for a mission whenever you're ready.", @@ -151,22 +155,22 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then if player:removeItem(3044, 10) then - player:setStorageValue(Storage.ThievesGuild.Mission01, 2) - player:setStorageValue(Storage.ThievesGuild.Quest, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission01, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline, 2) npcHandler:say("What a fine material. That will be worth a coin or two. So far, so good. Ask me for another mission if you're ready for it.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(227, 1) then - player:setStorageValue(Storage.ThievesGuild.Mission02, 3) - player:setStorageValue(Storage.ThievesGuild.Quest, 3) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission02, 3) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline, 3) npcHandler:say("What an ugly vase. But who am I to question the taste of our customers? Anyway, I might have another mission in store for you.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 4 then if player:removeItem(7933, 1) then - player:setStorageValue(Storage.ThievesGuild.Mission03, 3) - player:setStorageValue(Storage.ThievesGuild.Quest, 4) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission03, 3) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline, 4) npcHandler:say({ "Ah, the key to untold riches. Don't worry, we'll make sure that no one will connect you to the disappearance of certain royal possessions. ...", "You're too valuable to us. Speaking about your value, I might have some other mission for you.", @@ -175,29 +179,29 @@ local function creatureSayCallback(npc, creature, type, message) end elseif npcHandler:getTopic(playerId) == 5 then if player:removeItem(7871, 1) then - player:setStorageValue(Storage.ThievesGuild.Mission04, 8) - player:setStorageValue(Storage.ThievesGuild.Quest, 5) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, 8) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline, 5) npcHandler:say("Excellent, that serves this fool right. I fear in your next mission, you'll have to get your hands dirty. Just ask me to learn more about it.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 6 then if player:removeItem(7369, 1) then - player:setStorageValue(Storage.ThievesGuild.Mission05, 2) - player:setStorageValue(Storage.ThievesGuild.Quest, 6) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission05, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline, 6) npcHandler:say("That goblet is hardly worth all this trouble but we had to insist on our payment. However, I assume you are eager for more missions, so just ask.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 7 then if player:removeItem(7936, 1) then - player:setStorageValue(Storage.ThievesGuild.Mission06, 4) - player:setStorageValue(Storage.ThievesGuild.Quest, 7) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06, 4) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline, 7) npcHandler:say("This little goldfish will bring us a hefty ransom! Just ask me if you're ready for another mission.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 8 then if player:removeItem(7935, 1) then - player:setStorageValue(Storage.ThievesGuild.Mission07, 2) - player:setStorageValue(Storage.ThievesGuild.Quest, 8) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission07, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline, 8) npcHandler:say({ "Excellent, that little letter will do the trick for sure ...", "I think you're really capable and if you finish another mission, I'll allow you full access to our black market of lost and found items. Just ask me to learn more about that mission.", @@ -205,9 +209,9 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 9 then - player:setStorageValue(Storage.ThievesGuild.Mission08, 3) - player:setStorageValue(Storage.ThievesGuild.Quest, 9) - player:setStorageValue(Storage.ThievesGuild.Door, 1) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission08, 3) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline, 9) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Door, 1) npcHandler:say({ "Once again you've finished your job, and I'll keep my promise. From now on, you can trade with old Black Bert somewhere upstairs to get access to certain items that mightbe of value to someone like you. ...", "If you like, you can also enter the room to the left and pick one item of your choice.", @@ -215,7 +219,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "thieves") or MsgContains(message, "join") then - if player:getStorageValue(Storage.ThievesGuild.Quest) < 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Questline) < 1 then npcHandler:say("Hm. Well, we could use some fresh blood. Ahum. Do you want to join the thieves guild, |PLAYERNAME|?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -227,7 +231,8 @@ end npcHandler:setMessage(MESSAGE_WALKAWAY, "Good bye, |PLAYERNAME|!") npcHandler:setMessage(MESSAGE_FAREWELL, "Good bye, |PLAYERNAME|!") -npcHandler:setMessage(MESSAGE_GREET, "Greetings, |PLAYERNAME|!") +npcHandler:setMessage(MESSAGE_GREET, "Greetings, |PLAYERNAME|! Why do you disturb me?") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/herbert.lua b/data-otservbr-global/npc/herbert.lua index c8ccbd337c3..1414896db74 100644 --- a/data-otservbr-global/npc/herbert.lua +++ b/data-otservbr-global/npc/herbert.lua @@ -59,7 +59,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "letter") then - if player:getStorageValue(Storage.ThievesGuild.Mission06) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06) == 1 then npcHandler:say("You would like Chantalle's letter? only if you are willing to pay a price. {gold} maybe?", npc, creature) npcHandler:setTopic(playerId, 1) end diff --git a/data-otservbr-global/npc/nurik.lua b/data-otservbr-global/npc/nurik.lua index 6bb40ce48c4..0c190a72d94 100644 --- a/data-otservbr-global/npc/nurik.lua +++ b/data-otservbr-global/npc/nurik.lua @@ -54,7 +54,7 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.ThievesGuild.Mission04) ~= 6 or player:getOutfit().lookType ~= 66 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04) ~= 6 or player:getOutfit().lookType ~= 66 then npcHandler:say("Excuse me, but I'm waiting for someone important!", npc, creature) return false end @@ -90,13 +90,12 @@ local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) if player:removeItem(7866, 1) then player:addItem(7871, 1) - player:setStorageValue(Storage.ThievesGuild.Mission04, 7) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, 7) npcHandler:say({ "Excellent! Here is the painting you requested. It's quite precious to my father, but imagine his joy when I tell him about my clever deal! ...", "Now leave me alone please. I have to prepare for my departure. Now my family will not call me a squandering fool anymore!", }, npc, creature) - npcHandler:removeInteraction(npc, creature) - npcHandler:resetNpc(creature) + npcHandler:setTopic(playerId, 0) end end end @@ -104,6 +103,7 @@ local function creatureSayCallback(npc, creature, type, message) end npcHandler:setMessage(MESSAGE_GREET, "It's .. It's YOU! At last!! So what's this special proposal you would like to make, my friend?") + npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/oswald.lua b/data-otservbr-global/npc/oswald.lua index 2f9ca00cbda..e8c47aa165d 100644 --- a/data-otservbr-global/npc/oswald.lua +++ b/data-otservbr-global/npc/oswald.lua @@ -92,7 +92,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "invitation") then - if player:getStorageValue(Storage.ThievesGuild.Mission03) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission03) == 1 then npcHandler:say("What? So why in the world should I give you an invitation? It's not as if you were someone important, are you?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -103,7 +103,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 3 then if player:removeMoneyBank(1000) then player:addItem(7933, 1) - player:setStorageValue(Storage.ThievesGuild.Mission03, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission03, 2) npcHandler:say("Excellent! Here is your invitation!", npc, creature) else npcHandler:say("You don't have enough money.", npc, creature) diff --git a/data-otservbr-global/npc/percybald.lua b/data-otservbr-global/npc/percybald.lua index 5ecb521302e..d6e6d162495 100644 --- a/data-otservbr-global/npc/percybald.lua +++ b/data-otservbr-global/npc/percybald.lua @@ -59,15 +59,15 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "disguise") then - if player:getStorageValue(Storage.ThievesGuild.TheatreScript) < 0 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.TheatreScript) < 0 then npcHandler:say({ "Hmpf. Why should I waste my time to help some amateur? I'm afraid I can only offer my assistance to actors that are as great as I am. ...", "Though, your futile attempt to prove your worthiness could be amusing. Grab a copy of a script from the prop room at the theatre cellar. Then talk to me again about your test!", }, npc, creature) - player:setStorageValue(Storage.ThievesGuild.TheatreScript, 0) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.TheatreScript, 0) end elseif MsgContains(message, "test") then - if player:getStorageValue(Storage.ThievesGuild.Mission04) == 5 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04) == 5 then npcHandler:say("I hope you learnt your role! I'll tell you a line from the script and you'll have to answer with the corresponding line! Ready?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -82,14 +82,17 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("What's this? Behind the doctor?", npc, creature) npcHandler:setTopic(playerId, 6) elseif npcHandler:getTopic(playerId) == 7 then - npcHandler:say("Grrr!", npc, creature) + npcHandler:say("Haha! You may not fear for your own life, but how about hers!?", npc, creature) npcHandler:setTopic(playerId, 8) elseif npcHandler:getTopic(playerId) == 9 then - npcHandler:say("You're such a monster!", npc, creature) + npcHandler:say("Grrr!", npc, creature) npcHandler:setTopic(playerId, 10) elseif npcHandler:getTopic(playerId) == 11 then + npcHandler:say("You're such a monster!", npc, creature) + npcHandler:setTopic(playerId, 12) + elseif npcHandler:getTopic(playerId) == 13 then npcHandler:say("Ah well, I think you passed the test! Here is your disguise kit! Now get lost, fate awaits me!", npc, creature) - player:setStorageValue(Storage.ThievesGuild.Mission04, 6) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, 6) player:addItem(7865, 1) npcHandler:setTopic(playerId, 0) end @@ -118,7 +121,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 8 then - if MsgContains(message, "Ahhhhhh!") then + if MsgContains(message, "Oh no! Look! It's Princess Buttercup! He's holding her hostage!") then npcHandler:say("Ok, ok. You've got this one right! Ready for the next one?", npc, creature) npcHandler:setTopic(playerId, 9) else @@ -126,33 +129,39 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 10 then - if MsgContains(message, "Hahaha! Now drop your weapons or else...") then + if MsgContains(message, "Ahhhhhh!") then npcHandler:say("Ok, ok. You've got this one right! Ready for the next one?", npc, creature) npcHandler:setTopic(playerId, 11) else npcHandler:say("No no no! That is not correct!", npc, creature) npcHandler:setTopic(playerId, 0) end + elseif npcHandler:getTopic(playerId) == 12 then + if MsgContains(message, "Hahaha! Now drop your weapons or else...") then + npcHandler:say("Ok, ok. You've got this one right! Ready for the next one?", npc, creature) + npcHandler:setTopic(playerId, 13) + else + npcHandler:say("No no no! That is not correct!", npc, creature) + npcHandler:setTopic(playerId, 0) + end end + -- Additional dialogue options related to outfits if MsgContains(message, "outfit") or MsgContains(message, "addon") or MsgContains(message, "royal") then npcHandler:say("In exchange for a generous donation of gold and silver tokens, I can offer you a special outfit. Would you like to donate?", npc, creature) - npcHandler:setTopic(playerId, 12) + npcHandler:setTopic(playerId, 14) elseif MsgContains(message, "yes") then - -- Topic 12: Initial explanation about the outfit - if npcHandler:getTopic(playerId) == 12 then + if npcHandler:getTopic(playerId) == 14 then npcHandler:say({ "Great! To clarify, donating 30,000 silver tokens and 25,000 gold tokens will entitle you to a unique outfit. ...", "For 15,000 silver tokens and 12,500 gold tokens, you will receive the {armor}. For an additional 7,500 silver tokens and 6,250 gold tokens each, you can also receive the {shield} and {crown}. ...", "What will you choose?", }, npc, creature) - npcHandler:setTopic(playerId, 13) - - -- Topic 13: User already accepted to learn about donations, further actions here - elseif npcHandler:getTopic(playerId) == 13 then + npcHandler:setTopic(playerId, 15) + elseif npcHandler:getTopic(playerId) == 15 then npcHandler:say("If you haven't made up your mind, please come back when you are ready.", npc, creature) npcHandler:setTopic(playerId, 0) - elseif npcHandler:getTopic(playerId) == 14 then + elseif npcHandler:getTopic(playerId) == 16 then if player:getStorageValue(Storage.OutfitQuest.RoyalCostumeOutfit) < 1 then if player:removeItem(22516, 15000) and player:removeItem(22721, 12500) then npcHandler:say("Take this armor as a token of great gratitude. Let us forever remember this day, my friend!", npc, creature) @@ -164,67 +173,57 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("You do not have enough tokens to donate that amount.", npc, creature) end else - npcHandler:say("You alread have that addon.", npc, creature) + npcHandler:say("You already have that addon.", npc, creature) end - npcHandler:setTopic(playerId, 13) - elseif npcHandler:getTopic(playerId) == 15 then + npcHandler:setTopic(playerId, 15) + elseif npcHandler:getTopic(playerId) == 17 then if player:getStorageValue(Storage.OutfitQuest.RoyalCostumeOutfit) == 1 then if player:getStorageValue(Storage.OutfitQuest.RoyalCostumeOutfit) < 2 then if player:removeItem(22516, 7500) and player:removeItem(22721, 6250) then - npcHandler:say("Take this sheild as a token of great gratitude. Let us forever remember this day, my friend. ", npc, creature) + npcHandler:say("Take this shield as a token of great gratitude. Let us forever remember this day, my friend.", npc, creature) player:addOutfitAddon(1457, 1) player:addOutfitAddon(1456, 1) player:getPosition():sendMagicEffect(171) player:setStorageValue(Storage.OutfitQuest.RoyalCostumeOutfit, 2) - npcHandler:setTopic(playerId, 13) else npcHandler:say("You do not have enough tokens to donate that amount.", npc, creature) - npcHandler:setTopic(playerId, 13) end else - npcHandler:say("You alread have that outfit.", npc, creature) - npcHandler:setTopic(playerId, 13) + npcHandler:say("You already have that outfit.", npc, creature) end else - npcHandler:say("You need to donate {armor} outfit first.", npc, creature) - npcHandler:setTopic(playerId, 13) + npcHandler:say("You need to donate the {armor} outfit first.", npc, creature) end - npcHandler:setTopic(playerId, 13) - elseif npcHandler:getTopic(playerId) == 16 then + npcHandler:setTopic(playerId, 15) + elseif npcHandler:getTopic(playerId) == 18 then if player:getStorageValue(Storage.OutfitQuest.RoyalCostumeOutfit) == 2 then if player:getStorageValue(Storage.OutfitQuest.RoyalCostumeOutfit) < 3 then if player:removeItem(22516, 7500) and player:removeItem(22721, 6250) then - npcHandler:say("Take this crown as a token of great gratitude. Let us forever remember this day, my friend. ", npc, creature) + npcHandler:say("Take this crown as a token of great gratitude. Let us forever remember this day, my friend.", npc, creature) player:addOutfitAddon(1457, 2) player:addOutfitAddon(1456, 2) player:getPosition():sendMagicEffect(171) player:setStorageValue(Storage.OutfitQuest.RoyalCostumeOutfit, 3) - npcHandler:setTopic(playerId, 13) else npcHandler:say("You do not have enough tokens to donate that amount.", npc, creature) - npcHandler:setTopic(playerId, 13) end else - npcHandler:say("You alread have that outfit.", npc, creature) - npcHandler:setTopic(playerId, 13) + npcHandler:say("You already have that outfit.", npc, creature) end else - npcHandler:say("You need to donate {shield} addon first.", npc, creature) - npcHandler:setTopic(playerId, 13) + npcHandler:say("You need to donate the {shield} addon first.", npc, creature) end - npcHandler:setTopic(playerId, 13) + npcHandler:setTopic(playerId, 15) end - - -- Handle options for armor, shield, and crown - elseif MsgContains(message, "armor") and npcHandler:getTopic(playerId) == 13 then + elseif MsgContains(message, "armor") and npcHandler:getTopic(playerId) == 15 then npcHandler:say("Would you like to donate 15,000 silver tokens and 12,500 gold tokens for a unique red armor?", npc, creature) - npcHandler:setTopic(playerId, 14) - elseif MsgContains(message, "shield") and npcHandler:getTopic(playerId) == 13 then + npcHandler:setTopic(playerId, 16) + elseif MsgContains(message, "shield") and npcHandler:getTopic(playerId) == 15 then npcHandler:say("Would you like to donate 7,500 silver tokens and 6,250 gold tokens for a unique shield?", npc, creature) - npcHandler:setTopic(playerId, 15) - elseif MsgContains(message, "crown") and npcHandler:getTopic(playerId) == 13 then + npcHandler:setTopic(playerId, 17) + elseif MsgContains(message, "crown") and npcHandler:getTopic(playerId) == 15 then npcHandler:say("Would you like to donate 7,500 silver tokens and 6,250 gold tokens for a unique crown?", npc, creature) - npcHandler:setTopic(playerId, 16) + npcHandler:setTopic(playerId, 18) end return true diff --git a/data-otservbr-global/npc/snake_eye.lua b/data-otservbr-global/npc/snake_eye.lua index 9e59632667d..1b72b8a982c 100644 --- a/data-otservbr-global/npc/snake_eye.lua +++ b/data-otservbr-global/npc/snake_eye.lua @@ -65,8 +65,8 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "documents") then - if player:getStorageValue(Storage.ThievesGuild.Mission04) == 1 then - player:setStorageValue(Storage.ThievesGuild.Mission04, 2) + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04) == 1 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, 2) npcHandler:say("Funny thing that everyone thinks we have forgers for fake documents here. But no, we don't. The best forger is old Ahmet in Ankrahmun.", npc, creature) end end diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua index cd735e6f9c4..bd5d25afe6b 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua @@ -1,6 +1,6 @@ local specialQuests = { -- {x = 32311, y = 32211, z = 8} - [51400] = Storage.ThievesGuild.Reward, + [51400] = Storage.Quest.U8_2.TheThievesGuildQuest.Reward, [51324] = Storage.WrathoftheEmperor.MainReward, -- {x = 32232, y = 31066, z = 7} [51715] = Storage.Quest.U8_0.BarbarianArena.RewardGreenhorn, diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua index bbe6294e5bc..2ae9b800d2c 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua @@ -135,7 +135,7 @@ local config = { items = { { itemId = 7936 }, }, - storage = Storage.ThievesGuild.Mission06, + storage = Storage.Quest.U8_2.TheThievesGuildQuest.Mission06, formerValue = 2, newValue = 3, say = "To buy some time you replace the fish with a piece of carrot.", diff --git a/data-otservbr-global/scripts/actions/tools/lock_pick.lua b/data-otservbr-global/scripts/actions/tools/lock_pick.lua index ac24cf02a49..c8e18275089 100644 --- a/data-otservbr-global/scripts/actions/tools/lock_pick.lua +++ b/data-otservbr-global/scripts/actions/tools/lock_pick.lua @@ -6,9 +6,9 @@ function lockPick.onUse(player, item, fromPosition, target, toPosition, isHotkey end if math.random(100) <= 30 then - if player:getStorageValue(Storage.ThievesGuild.Mission02) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission02) == 1 then player:addItem(227, 1) - player:setStorageValue(Storage.ThievesGuild.Mission02, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission02, 2) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your lock pick open this chest!") end else diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 13ce3f4e3a8..9fafccdadf2 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -220,15 +220,15 @@ local questTable = { { storage = Storage.Quest.U7_8.TheShatteredIsles.Shipwrecked, storageValue = 2 }, { storage = Storage.Quest.U7_8.TheShatteredIsles.DragahsSpellbook, storageValue = 1 }, { storage = Storage.Quest.U7_8.TheShatteredIsles.TheCounterspell, storageValue = 4 }, - { storage = Storage.ThievesGuild.Quest, storageValue = 1 }, - { storage = Storage.ThievesGuild.Mission01, storageValue = 2 }, - { storage = Storage.ThievesGuild.Mission02, storageValue = 3 }, - { storage = Storage.ThievesGuild.Mission03, storageValue = 3 }, - { storage = Storage.ThievesGuild.Mission04, storageValue = 8 }, - { storage = Storage.ThievesGuild.Mission05, storageValue = 2 }, - { storage = Storage.ThievesGuild.Mission06, storageValue = 4 }, - { storage = Storage.ThievesGuild.Mission07, storageValue = 2 }, - { storage = Storage.ThievesGuild.Mission08, storageValue = 1 }, + { storage = Storage.Quest.U8_2.TheThievesGuildQuest.Questline, storageValue = 1 }, + { storage = Storage.Quest.U8_2.TheThievesGuildQuest.Mission01, storageValue = 2 }, + { storage = Storage.Quest.U8_2.TheThievesGuildQuest.Mission02, storageValue = 3 }, + { storage = Storage.Quest.U8_2.TheThievesGuildQuest.Mission03, storageValue = 3 }, + { storage = Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, storageValue = 8 }, + { storage = Storage.Quest.U8_2.TheThievesGuildQuest.Mission05, storageValue = 2 }, + { storage = Storage.Quest.U8_2.TheThievesGuildQuest.Mission06, storageValue = 4 }, + { storage = Storage.Quest.U8_2.TheThievesGuildQuest.Mission07, storageValue = 2 }, + { storage = Storage.Quest.U8_2.TheThievesGuildQuest.Mission08, storageValue = 1 }, { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission01, storageValue = 1 }, { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission01, storageValue = 2 }, { storage = Storage.Quest.U8_1.TheTravellingTrader.Mission02, storageValue = 5 }, diff --git a/data-otservbr-global/scripts/creaturescripts/quests/thieves_guild/nomad_kill.lua b/data-otservbr-global/scripts/creaturescripts/quests/thieves_guild/nomad_kill.lua index 6f9c3d32547..656a31a6011 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/thieves_guild/nomad_kill.lua +++ b/data-otservbr-global/scripts/creaturescripts/quests/thieves_guild/nomad_kill.lua @@ -1,8 +1,8 @@ local nomadKill = CreatureEvent("NomadDeath") function nomadKill.onDeath(creature, _corpse, _lastHitKiller, mostDamageKiller) onDeathForParty(creature, mostDamageKiller, function(creature, player) - if player:getStorageValue(Storage.ThievesGuild.Mission04) == 3 then - player:setStorageValue(Storage.ThievesGuild.Mission04, 4) + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04) == 3 then + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission04, 4) end end) return true diff --git a/data-otservbr-global/scripts/actions/quests/the_thieves_guild/climbing_vine.lua b/data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_climbing_vine.lua similarity index 99% rename from data-otservbr-global/scripts/actions/quests/the_thieves_guild/climbing_vine.lua rename to data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_climbing_vine.lua index 7326710a105..74a3a080a43 100644 --- a/data-otservbr-global/scripts/actions/quests/the_thieves_guild/climbing_vine.lua +++ b/data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_climbing_vine.lua @@ -4,6 +4,7 @@ local config = { } local theThievesVine = Action() + function theThievesVine.onUse(player, item, fromPosition, target, toPosition, isHotkey) local targetPosition = config[item.actionid] if not targetPosition then diff --git a/data-otservbr-global/scripts/actions/quests/the_thieves_guild/dwarf_disguise_kit.lua b/data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_dwarf_disguise_kit.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_thieves_guild/dwarf_disguise_kit.lua rename to data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_dwarf_disguise_kit.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_thieves_guild/fish_napping_door.lua b/data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_fish_napping_door.lua similarity index 77% rename from data-otservbr-global/scripts/actions/quests/the_thieves_guild/fish_napping_door.lua rename to data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_fish_napping_door.lua index 9cc51744294..647bf32593e 100644 --- a/data-otservbr-global/scripts/actions/quests/the_thieves_guild/fish_napping_door.lua +++ b/data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_fish_napping_door.lua @@ -1,6 +1,6 @@ local theThievesDoor = Action() function theThievesDoor.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.ThievesGuild.Mission06) == 3 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06) == 3 then player:say("You slip through the door", TALKTYPE_MONSTER_SAY) player:teleportTo(Position(32359, 32786, 6)) end diff --git a/data-otservbr-global/scripts/actions/quests/the_thieves_guild/fish_napping_key.lua b/data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_fish_napping_key.lua similarity index 84% rename from data-otservbr-global/scripts/actions/quests/the_thieves_guild/fish_napping_key.lua rename to data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_fish_napping_key.lua index 23b22149583..ad06adecb1d 100644 --- a/data-otservbr-global/scripts/actions/quests/the_thieves_guild/fish_napping_key.lua +++ b/data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_fish_napping_key.lua @@ -2,7 +2,7 @@ local theThievesKey = Action() function theThievesKey.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.ThievesGuild.Mission06) == 2 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission06) == 2 then if target.actionid == 51394 and item.itemid == 7934 then player:removeItem(7934, 1) player:say("In your haste you break the key while slipping in.", TALKTYPE_MONSTER_SAY) diff --git a/data-otservbr-global/scripts/actions/quests/the_thieves_guild/note.lua b/data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_note.lua similarity index 76% rename from data-otservbr-global/scripts/actions/quests/the_thieves_guild/note.lua rename to data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_note.lua index d7bde87c275..829a9762e8e 100644 --- a/data-otservbr-global/scripts/actions/quests/the_thieves_guild/note.lua +++ b/data-otservbr-global/scripts/quests/the_thieves_guild_quest/actions_note.lua @@ -8,15 +8,16 @@ local function removeNote(position) end local theThievesNote = Action() + function theThievesNote.onUse(player, item, fromPosition, target, toPosition, isHotkey) if target.actionid ~= 12509 then return false end - if player:getStorageValue(Storage.ThievesGuild.Mission08) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission08) == 1 then player:removeItem(7873, 1) Game.createItem(7872, 1, notePos) - player:setStorageValue(Storage.ThievesGuild.Mission08, 2) + player:setStorageValue(Storage.Quest.U8_2.TheThievesGuildQuest.Mission08, 2) addEvent(removeNote, 5 * 60 * 1000, notePos) end return true diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 1f3c730ebe1..00c0cbc6bde 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2333,6 +2333,56 @@ ChestUnique = { weight = 13.00, storage = Storage.Quest.U8_2.TheInquisitionQuest.WitchesGrimoire, }, + -- The Thieves Guild Quest + [6271] = { + itemId = 2473, + itemPos = { x = 33131, y = 32661, z = 7 }, + reward = { { 235, 1 } }, + weight = 8.00, + storage = Storage.Quest.U8_2.TheThievesGuildQuest.RewardOasis, + }, + [6272] = { + itemId = 2473, + itemPos = { x = 32367, y = 31781, z = 8 }, + reward = { { 8117, 1 } }, + weight = 13.00, + storage = Storage.Quest.U8_2.TheThievesGuildQuest.RewardBook, + }, + [6273] = { + itemId = 2469, + itemPos = { x = 32551, y = 32652, z = 10 }, + reward = { { 7369, 1 } }, + weight = 5.00, + storage = Storage.Quest.U8_2.TheThievesGuildQuest.GoldenGoblet, + }, + [6274] = { + itemId = 2433, + itemPos = { x = 32902, y = 32143, z = 4 }, + reward = { { 7935, 1 } }, + weight = 0.10, + storage = Storage.Quest.U8_2.TheThievesGuildQuest.CompromisingLetter, + }, + [6275] = { + itemId = 2434, + itemPos = { x = 32309, y = 32209, z = 8 }, + reward = { { 8021, 1 } }, + weight = 35.00, + storage = Storage.Quest.U8_2.TheThievesGuildQuest.RewardEnd, + }, + [6276] = { + itemId = 2434, + itemPos = { x = 32309, y = 32211, z = 8 }, + reward = { { 7404, 1 } }, + weight = 17.00, + storage = Storage.Quest.U8_2.TheThievesGuildQuest.RewardEnd, + }, + [6277] = { + itemId = 2434, + itemPos = { x = 32309, y = 32213, z = 8 }, + reward = { { 8073, 1 } }, + weight = 21.00, + storage = Storage.Quest.U8_2.TheThievesGuildQuest.RewardEnd, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index f7e4693e222..a682173042d 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -522,19 +522,19 @@ QuestDoorAction = { }, }, -- The thieves guild door - [Storage.ThievesGuild.Mission04] = { + [Storage.Quest.U8_2.TheThievesGuildQuest.Mission04] = { itemId = false, itemPos = { { x = 32359, y = 32787, z = 6 } }, }, - [Storage.ThievesGuild.Mission05] = { + [Storage.Quest.U8_2.TheThievesGuildQuest.Mission05] = { itemId = false, itemPos = { { x = 32550, y = 32652, z = 10 } }, }, - [Storage.ThievesGuild.Door] = { + [Storage.Quest.U8_2.TheThievesGuildQuest.Door] = { itemId = false, itemPos = { { x = 32314, y = 32210, z = 8 } }, }, - [Storage.ThievesGuild.TheatreScript] = { + [Storage.Quest.U8_2.TheThievesGuildQuest.TheatreScript] = { itemId = false, itemPos = { { x = 32367, y = 31782, z = 8 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index fb60193bfc9..4035aa2e7dc 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -274,6 +274,23 @@ ItemAction = { { x = 33122, y = 32765, z = 14 }, }, }, + -- The Thieves Guild Quest + [12501] = { + itemId = 7890, + itemPos = { { x = 32337, y = 31814, z = 7 } }, + }, + [12502] = { + itemId = 7891, + itemPos = { { x = 32337, y = 31814, z = 6 } }, + }, + [12503] = { + itemId = 7892, + itemPos = { { x = 32337, y = 31812, z = 6 } }, + }, + [12509] = { + itemId = 1451, + itemPos = { { x = 32598, y = 32381, z = 10 } }, + }, -- Secret Service [12550] = { itemId = 16622, From f4a6a302f96480cb3015472207eb4607d4fee7e0 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Fri, 2 Aug 2024 21:17:12 -0300 Subject: [PATCH 060/112] Troll Sabotage Quest --- data-otservbr-global/lib/core/storages.lua | 2 +- data-otservbr-global/npc/chief_grarkharok.lua | 4 ++-- data-otservbr-global/npc/jerom.lua | 8 ++++---- .../scripts/movements/quests/troll_sabotage/teleport.lua | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 6b13b2d6dd8..7e4fbe6cc8a 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2005,7 +2005,7 @@ Storage = { CompromisingLetter = 51405, RewardEnd = 51405, }, - TrollSabotage = { + TrollSabotageQuest = { Questline = 41840, JumpTimer = 41841, }, diff --git a/data-otservbr-global/npc/chief_grarkharok.lua b/data-otservbr-global/npc/chief_grarkharok.lua index 49020883194..53b806073dd 100644 --- a/data-otservbr-global/npc/chief_grarkharok.lua +++ b/data-otservbr-global/npc/chief_grarkharok.lua @@ -53,7 +53,7 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end -local mission = Storage.Quest.U8_2.TrollSabotage +local mission = Storage.Quest.U8_2.TrollSabotageQuest local ThreatenedDreams = Storage.Quest.U11_40.ThreatenedDreams local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) @@ -71,7 +71,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "kill") or MsgContains(message, "hurt") or MsgContains(message, "pain") then - if player:getStorageValue(Storage.Quest.U8_2.TrollSabotage.Questline) == 1 then + if player:getStorageValue(Storage.Quest.U8_2.TrollSabotageQuest.Questline) == 1 then npcHandler:setTopic(playerId, 1) end npcHandler:say("Hrhrhrhr! Me no fear of human! Me Chief Grarkharok!!", npc, creature) diff --git a/data-otservbr-global/npc/jerom.lua b/data-otservbr-global/npc/jerom.lua index 3cbbde34ac2..08d41cab412 100644 --- a/data-otservbr-global/npc/jerom.lua +++ b/data-otservbr-global/npc/jerom.lua @@ -65,22 +65,22 @@ local function creatureSayCallback(npc, creature, type, message) return false end if MsgContains(message, "mission") or MsgContains(message, "quest") then - if player:getStorageValue(mission.Questline) < 1 then + if player:getStorageValue(Storage.Quest.U8_2.TrollSabotageQuest.Questline) < 1 then npcHandler:say({ "I'm not sure but I suppose that an evil troll lives in the mountains here! I saw him rummaging in the ruins of my house. ...", "I took a closer look and found my family casket ripped open. It contained a precious necklace. If I had it back, I could sell it and start over! ...", "Could you look for this mean beast, find out why he did and either get me some money ormy necklace to rebuild my business?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(mission.Questline) == 2 and player:removeItem(7754, 1) then + elseif player:getStorageValue(Storage.Quest.U8_2.TrollSabotageQuest.Questline) == 2 and player:removeItem(7754, 1) then npcHandler:say("Thank you sooo much . Well, you know I lost everything, but recently I found this strange rope here. I don't need it, here take it!", npc, creature) - player:setStorageValue(mission.Questline, 3) + player:setStorageValue(Storage.Quest.U8_2.TrollSabotageQuest.Questline, 3) player:addItem(646, 1) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("Great! Finally, some light at the end of the tunnel! Come back and ask me for the quest when you solved this mystery!", npc, creature) - player:setStorageValue(mission.Questline, 1) + player:setStorageValue(Storage.Quest.U8_2.TrollSabotageQuest.Questline, 1) end end return true diff --git a/data-otservbr-global/scripts/movements/quests/troll_sabotage/teleport.lua b/data-otservbr-global/scripts/movements/quests/troll_sabotage/teleport.lua index c3025ea8276..3f88e43a6c1 100644 --- a/data-otservbr-global/scripts/movements/quests/troll_sabotage/teleport.lua +++ b/data-otservbr-global/scripts/movements/quests/troll_sabotage/teleport.lua @@ -7,7 +7,7 @@ local function boots(player, item, fromPosition, position) end if bootsItem and bootsItem.itemid == 3079 then if fromPosition == config[4] then - if player:getStorageValue(Storage.Quest.U8_2.TrollSabotage.JumpTimer) < os.time() then + if player:getStorageValue(Storage.Quest.U8_2.TrollSabotageQuest.JumpTimer) < os.time() then player:teleportTo(position) player:say("You don't dare jump over the gap.", TALKTYPE_MONSTER_SAY) return true @@ -62,7 +62,7 @@ function teleport.onStepIn(player, item, fromPosition, position, target) return true end if fromPosition == Position(33231, 31765, 2) then - player:setStorageValue(Storage.Quest.U8_2.TrollSabotage.JumpTimer, os.time() + 1) + player:setStorageValue(Storage.Quest.U8_2.TrollSabotageQuest.JumpTimer, os.time() + 1) end for i = 1, #config do if fromPosition == config[i] and i < 4 then From b5115666afe66d5ddf210e32598b284b6433de11 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Fri, 2 Aug 2024 22:04:35 -0300 Subject: [PATCH 061/112] Vampire Hunter Quest --- data-otservbr-global/lib/core/storages.lua | 12 ++++----- data-otservbr-global/npc/storkus.lua | 27 ++++++++++--------- data-otservbr-global/startup/tables/chest.lua | 8 ++++++ .../startup/tables/door_quest.lua | 6 +++++ 4 files changed, 34 insertions(+), 19 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 7e4fbe6cc8a..7ca893d2677 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -515,10 +515,6 @@ Storage = { AmuletTimer = 50520, AmuletStatus = 50521, }, - VampireHunter = { - -- Reserved storage from 50650 - 50659 - Rank = 50650, - }, BigfootBurden = { -- Reserved storage from 50660 - 50719 QuestLine = 50660, @@ -2003,13 +1999,17 @@ Storage = { RewardBook = 51403, GoldenGoblet = 51404, CompromisingLetter = 51405, - RewardEnd = 51405, + RewardEnd = 51406, }, TrollSabotageQuest = { Questline = 41840, JumpTimer = 41841, }, - VampireHunter = {}, + VampireHunterQuest = { + Rank = 50650, + Door = 50651, + BloodSkull = 50652, + }, TheMutatedPumpkin = { Skinned = 41860, }, diff --git a/data-otservbr-global/npc/storkus.lua b/data-otservbr-global/npc/storkus.lua index 3571a6f8c62..d8465a6a2c1 100644 --- a/data-otservbr-global/npc/storkus.lua +++ b/data-otservbr-global/npc/storkus.lua @@ -97,23 +97,23 @@ local function creatureSayCallback(npc, creature, type, message) end npcHandler:setTopic(playerId, 0) end - elseif MsgContains(message, "vampire lord token") and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) == 10 then - if player:getStorageValue(Storage.VampireHunter.Rank) < 1 then + elseif MsgContains(message, "vampire lord token") and player:getStorageValue(Storage.Quest.U8_2.TheInquisitionQuest.Questline) >= 11 then + if player:getStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank) < 1 then npcHandler:say("Would ye' like to give me vampire tokens?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.VampireHunter.Rank) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank) == 1 then npcHandler:say("Would ye' like to give me vampire tokens?", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.VampireHunter.Rank) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank) == 2 then npcHandler:say("Would ye' like to give me vampire tokens?", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.VampireHunter.Rank) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank) == 3 then npcHandler:say("Would ye' like to give me vampire tokens?", npc, creature) npcHandler:setTopic(playerId, 6) - elseif player:getStorageValue(Storage.VampireHunter.Rank) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank) == 4 then npcHandler:say("Would ye' like to give me vampire tokens?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.VampireHunter.Rank) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank) == 5 then npcHandler:say("Would ye' like to give me vampire tokens?", npc, creature) npcHandler:setTopic(playerId, 8) end @@ -142,7 +142,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 3 then if player:removeItem(8192, 1) then npcHandler:say("Ye' brought the token needed to advance to the first vampire hunter rank. I consider that a fluke, but still, congrats! Let me share some of my experience with ye'.", npc, creature) - player:setStorageValue(Storage.VampireHunter.Rank, 1) + player:setStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank, 1) player:addExperience(1000, true) else npcHandler:say("Ye' don't have enought tokens.", npc, creature) @@ -151,7 +151,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 4 then if player:removeItem(8192, 4) then npcHandler:say("Ye' brought the four tokens needed to advance to the second vampire hunter rank. Pretty lucky ye' are! Let me share some of my experience with ye'.", npc, creature) - player:setStorageValue(Storage.VampireHunter.Rank, 2) + player:setStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank, 2) player:addExperience(5 * 1000, true) else npcHandler:say("Ye' don't have enought tokens.", npc, creature) @@ -160,7 +160,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 5 then if player:removeItem(8192, 5) then npcHandler:say("Ye' brought the five tokens needed to advance to the third vampire hunter rank. Wow, you're pretty determined! Let me share some of my experience with ye'.", npc, creature) - player:setStorageValue(Storage.VampireHunter.Rank, 3) + player:setStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank, 3) player:addExperience(10 * 1000, true) else npcHandler:say("Ye' don't have enought tokens.", npc, creature) @@ -169,7 +169,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 6 then if player:removeItem(8192, 10) then npcHandler:say("Ye' brought the ten tokens needed to advance to the fourth vampire hunter rank. You're absolutely painstaking! Let me share some of my experience with ye'.", npc, creature) - player:setStorageValue(Storage.VampireHunter.Rank, 4) + player:setStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank, 4) player:addExperience(20 * 1000, true) else npcHandler:say("Ye' don't have enought tokens.", npc, creature) @@ -178,7 +178,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 7 then if player:removeItem(8192, 30) then npcHandler:say("Ye' brought the thirty tokens needed to advance to the fifth vampire hunter rank. You're completely obliterative, kid! Let me share some of my experience with ye'.", npc, creature) - player:setStorageValue(Storage.VampireHunter.Rank, 5) + player:setStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank, 5) player:addExperience(50 * 1000, true) else npcHandler:say("Ye' don't have enought tokens.", npc, creature) @@ -187,9 +187,10 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 8 then if player:removeItem(8192, 50) then npcHandler:say("Ye' brought the fifty tokens needed to advance to the last vampire hunter rank. Now that's something. You're razing-amazing! Let me share some of my experience and a little something with ye'!", npc, creature) - player:setStorageValue(Storage.VampireHunter.Rank, 6) player:addItem(8191, 1) player:addExperience(100 * 1000, true) + player:setStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Rank, 6) + player:setStorageValue(Storage.Quest.U8_2.VampireHunterQuest.Door, 1) else npcHandler:say("Ye' don't have enought tokens.", npc, creature) end diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 00c0cbc6bde..9dd796f461b 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2383,6 +2383,14 @@ ChestUnique = { weight = 21.00, storage = Storage.Quest.U8_2.TheThievesGuildQuest.RewardEnd, }, + -- Vampire Hunter Quest + [6278] = { + itemId = 1986, + itemPos = { x = 32972, y = 31461, z = 10 }, + reward = { { 8532, 1 } }, + weight = 5.00, + storage = Storage.Quest.U8_2.VampireHunterQuest.BloodSkull, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index a682173042d..975a32ef13c 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -952,6 +952,12 @@ QuestDoorAction = { { x = 32600, y = 31758, z = 9 }, }, }, + [Storage.Quest.U8_2.VampireHunterQuest.Door] = { + itemId = 8259, + itemPos = { + { x = 32953, y = 31460, z = 9 }, + }, + }, } QuestDoorUnique = { From 3ee2d9b082d51c8bb3cd3caf136c536259c6e454 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 3 Aug 2024 09:13:02 -0300 Subject: [PATCH 062/112] Blood Brothers Quest This quest needs to be completed from mission 04. --- data-otservbr-global/npc/armenius.lua | 16 +++--- data-otservbr-global/npc/harlow.lua | 4 +- data-otservbr-global/npc/julius.lua | 77 ++++++++++++++------------- data-otservbr-global/npc/lisander.lua | 6 +-- data-otservbr-global/npc/maris.lua | 6 +-- data-otservbr-global/npc/ortheus.lua | 6 +-- data-otservbr-global/npc/serafin.lua | 7 +-- 7 files changed, 60 insertions(+), 62 deletions(-) diff --git a/data-otservbr-global/npc/armenius.lua b/data-otservbr-global/npc/armenius.lua index 045a53af2c8..9164a78240e 100644 --- a/data-otservbr-global/npc/armenius.lua +++ b/data-otservbr-global/npc/armenius.lua @@ -56,7 +56,7 @@ local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() if message == "cookie" then - if player:getStorageValue(BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(BloodBrothers.Cookies.Armenius) < 0 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Armenius) < 0 then npcHandler:say("What kind of strange offer is this? You're actually offering me a cookie?", npc, creature) npcHandler:setTopic(playerId, 1) else @@ -65,22 +65,18 @@ local function creatureSayCallback(npc, creature, type, message) elseif message == "yes" then if npcHandler:getTopic(playerId) == 1 and player:removeItem(8199, 1) then -- garlic cookie npcHandler:say("Errrkss - coughcough - what the - heck did you put in there? Get out of my sight!", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Armenius, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Armenius, 1) npcHandler:setTopic(playerId, 0) end - elseif message:lower() == "alori mort" and player:getStorageValue(BloodBrothers.Mission03) == 1 then + elseif message:lower() == "alori mort" and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03) == 1 then if npcHandler:getTopic(playerId) == 2 then local rand = math.random(2) - local randMessage = { "Oh, the nerve. Go to the rats which raised you.", "Oh, the nerve. Sod off." } - npcHandler:setMessage(MESSAGE_WALKAWAY, randMessage[rand]) + npcHandler:setMessage(MESSAGE_WALKAWAY, "Oh, the nerve. Go to the rats which raised you.") player:teleportTo(Position(32759, 31241, 9)) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) - player:setStorageValue(BloodBrothers.Mission03, 2) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03, 2) else - npcHandler:say({ - "...... ...... ....", - "HAHAHAHAHA! What the... HAHAHAHA! Come on, say it again, just because it's so funny - and then I'll get rid of you, little mouse!", - }, npc, creature) + npcHandler:say("Oh, the nerve. Sod off.", npc, creature) npcHandler:setTopic(playerId, 2) end end diff --git a/data-otservbr-global/npc/harlow.lua b/data-otservbr-global/npc/harlow.lua index b39b00600fe..73c18a0148b 100644 --- a/data-otservbr-global/npc/harlow.lua +++ b/data-otservbr-global/npc/harlow.lua @@ -60,14 +60,14 @@ local function creatureSayCallback(npc, creature, type, message) end --Travel local travelNode = keywordHandler:addKeyword({ "vengoth" }, StdModule.say, { npcHandler = npcHandler, text = "So you are saying you're looking for someone to take you to Vengoth?" }, function(player) - return player:getStorageValue(BloodBrothers.VengothAccess) == 1 + return player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.VengothAccess) == 1 end) travelNode:addChildKeyword({ "no" }, StdModule.say, { npcHandler = npcHandler, reset = true, text = "Oh well." }) local travelNodeYes = travelNode:addChildKeyword({ "yes" }, StdModule.say, { npcHandler = npcHandler, text = "I could do that, it's not far from here. I don't run a charity organisation, though. Tell you what. Give me 100 gold pieces, and me and my boat are yours for the trip. Okay?" }) travelNodeYes:addChildKeyword({ "yes" }, StdModule.travel, { npcHandler = npcHandler, text = "Okay. Enjoy.", premium = false, cost = 100, destination = Position(32858, 31549, 7) }) travelNodeYes:addChildKeyword({ "no" }, StdModule.say, { npcHandler = npcHandler, reset = true, text = "Oh well." }) travelNode = keywordHandler:addKeyword({ "transportation" }, StdModule.say, { npcHandler = npcHandler, text = "Want me to bring you to Vengoth again for 100 gold?" }, function(player) - return player:getStorageValue(BloodBrothers.VengothAccess) == 1 + return player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.VengothAccess) == 1 end) travelNode:addChildKeyword({ "yes" }, StdModule.travel, { npcHandler = npcHandler, text = "Okay. Enjoy.", premium = false, cost = 100, destination = Position(32858, 31549, 7) }) travelNode:addChildKeyword({ "no" }, StdModule.say, { npcHandler = npcHandler, reset = true, text = "Oh well." }) diff --git a/data-otservbr-global/npc/julius.lua b/data-otservbr-global/npc/julius.lua index 47e8e123760..3d7d1bc7f64 100644 --- a/data-otservbr-global/npc/julius.lua +++ b/data-otservbr-global/npc/julius.lua @@ -54,9 +54,9 @@ local BloodBrothers = Storage.Quest.U8_4.BloodBrothers local function greetCallback(npc, creature) local player = Player(creature) - if player:getStorageValue(BloodBrothers.QuestLine) < 0 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.QuestLine) < 0 then npcHandler:setMessage(MESSAGE_GREET, "Be greeted, adventurer |PLAYERNAME|. I assume you have read the {note} about the {vampire} threat in this city.") - elseif player:getStorageValue(BloodBrothers.QuestLine) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.QuestLine) == 1 then npcHandler:setMessage(MESSAGE_GREET, "Be greeted, adventurer |PLAYERNAME|. Please excuse me if I appear {distracted}!") end return true @@ -65,15 +65,16 @@ end local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() + if table.contains({ "mission", "note", "vampire" }, message:lower()) then - if player:getStorageValue(BloodBrothers.QuestLine) < 0 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.QuestLine) < 0 then npcHandler:say("Our nightly blood-sucking visitors put the inhabitants of Yalahar in constant danger. The worst thing is that anyone in this city could be a vampire. Maybe an outsider like you could help us. Would you try?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(BloodBrothers.Mission01) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission01) == 1 then if player:getSlotItem(CONST_SLOT_NECKLACE) then if player:getSlotItem(CONST_SLOT_NECKLACE).itemid == 3083 then npcHandler:say("Hmm, I see, I see. That necklace is only a small indication though... I think I need another proof, just to make sure. Say... have you ever baked {garlic bread}?", npc, creature) - player:setStorageValue(BloodBrothers.Mission01, 2) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission01, 2) npcHandler:setTopic(playerId, 2) else npcHandler:say("I fear that will not do. Sorry.", npc, creature) @@ -81,25 +82,25 @@ local function creatureSayCallback(npc, creature, type, message) else npcHandler:say("I fear that will not do. Sorry.", npc, creature) end - elseif player:getStorageValue(BloodBrothers.Mission01) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission01) == 3 then npcHandler:say("Let me check - yes indeed, there's garlic in it. Now eat one, in front of my eyes. Right now! Say '{aaah}' when you've chewed it all down so that I can see you're not hiding it!", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(BloodBrothers.Mission01) == 4 and player:getStorageValue(BloodBrothers.Mission02) < 0 then + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission01) == 4 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02) < 0 then npcHandler:say("So, are you ready for your first real task?", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(BloodBrothers.Mission02) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02) == 1 then npcHandler:say("Are you back with confirmed names of possible vampires?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(BloodBrothers.Mission02) == 2 and player:getStorageValue(BloodBrothers.Mission03) < 0 then + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02) == 2 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03) < 0 then npcHandler:say({ "Listen, I thought of something. If we could somehow figure out who among those five is their leader and manage to defeat him,the others might give up too. ...", "Without their leader they will at least be much weaker. Before I explain my plan, do you think you could do that?", }, npc, creature) npcHandler:setTopic(playerId, 9) - elseif player:getStorageValue(BloodBrothers.Mission03) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03) == 2 then npcHandler:say("Oh! You look horrible - I mean, rather weary. What happened? Who is the master vampire?", npc, creature) npcHandler:setTopic(playerId, 11) - elseif player:getStorageValue(BloodBrothers.Mission03) == 3 and player:getStorageValue(BloodBrothers.Mission04) < 0 then + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03) == 3 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission04) < 0 then npcHandler:say({ "You know, I came to think that the spell didn't work because there is another, greater power behind all of this. I fear that if we don't find the source of the vampire threat we can't defeat them. ...", "I heard that there is an island not far from here. Unholy and fearsome things are said to happen there, and maybe that means vampires are not far away. ...", @@ -111,13 +112,13 @@ local function creatureSayCallback(npc, creature, type, message) elseif message == "yes" then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("Well, there's one problem. How would I know I can trust you? You might be one of them... hm. Can you think of something really unlikely for a vampire? If you know a way to prove it to me, ask me about your {mission}.", npc, creature) - player:setStorageValue(BloodBrothers.QuestLine, 1) - player:setStorageValue(BloodBrothers.Mission01, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.QuestLine, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission01, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then npcHandler:say("Fine then. Talk to me again about your mission once you have the garlic bread. You can get holy water from a member of the inquisition.", npc, creature) - player:setStorageValue(BloodBrothers.Mission01, 3) - elseif npcHandler:getTopic(playerId) == 5 and player:getStorageValue(BloodBrothers.Mission01) == 4 then + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission01, 3) + elseif npcHandler:getTopic(playerId) == 5 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission01) == 4 then npcHandler:say({ "As I already told you, anyone in this city could really be a vampire, even the most unsuspicious citizen. I want you to find that brood. ...", "You can possibly identify the vampires by using a trick with hidden garlic, but better put it into something unsuspicious, like... cookies maybe! ...", @@ -127,7 +128,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 6) elseif npcHandler:getTopic(playerId) == 6 then npcHandler:say("Fine. Good luck! Talk to me again about your mission once you have confirmed the names of five suspects.", npc, creature) - player:setStorageValue(BloodBrothers.Mission02, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02, 1) elseif npcHandler:getTopic(playerId) == 7 then npcHandler:say("Alright, wait a moment. Tell me one name at a time so I can note them down carefully. Who is a suspect?", npc, creature) npcHandler:setTopic(playerId, 8) @@ -144,8 +145,8 @@ local function creatureSayCallback(npc, creature, type, message) "Also, they say there is a castle on this island. That mark HAS to be included, it's far too important to leave it out. Good luck!", }, npc, creature) player:addItem(8200) - player:setStorageValue(BloodBrothers.Mission04, 1) - player:setStorageValue(BloodBrothers.VengothAccess, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission04, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.VengothAccess, 1) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "garlic bread") or message == "no" then @@ -153,9 +154,9 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Well, you need to mix flour with holy water and use that dough on garlic to create a special dough. Bake it like normal bread, but I guarantee that no vampire can eat that. Are you following me?", npc, creature) npcHandler:setTopic(playerId, 3) elseif npcHandler:getTopic(playerId) == 8 then - if player:getStorageValue(BloodBrothers.Cookies.Serafin) == 2 and player:getStorageValue(BloodBrothers.Cookies.Lisander) == 2 and player:getStorageValue(BloodBrothers.Cookies.Ortheus) == 2 and player:getStorageValue(BloodBrothers.Cookies.Maris) == 2 and player:getStorageValue(BloodBrothers.Cookies.Armenius) == 2 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Serafin) == 2 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Lisander) == 2 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Ortheus) == 2 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Maris) == 2 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Armenius) == 2 then npcHandler:say("I guess Armenius, Lisander, Maris, Ortheus and Serafin are all the names we can get for now. Let me think for a moment what we are going to do, talk to me about your mission again later.", npc, creature) - player:setStorageValue(BloodBrothers.Mission02, 2) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02, 2) npcHandler:setTopic(playerId, 0) else npcHandler:say("No, no, I was asking for one of the names.", npc, creature) @@ -165,53 +166,53 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "aaah") then if npcHandler:getTopic(playerId) == 4 and player:removeItem(8194, 1) then npcHandler:say("Very well. I think I can trust you now. Sorry that I had to put you through this embarassing procedure, but I'm sure you understand. So, are you ready for your first real task?", npc, creature) - player:setStorageValue(BloodBrothers.Mission01, 4) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission01, 4) npcHandler:setTopic(playerId, 5) else npcHandler:say("No, no, you didn't eat it! Vampire Brood! Say '{aaah}' once you have eaten the bread or get out of her instantly!", npc, creature) end elseif table.contains({ "maris", "ortheus", "serafin", "lisander", "armenius" }, message:lower()) and npcHandler:getTopic(playerId) == 8 then if MsgContains(message, "maris") then - if player:getStorageValue(BloodBrothers.Cookies.Maris) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Maris) == 1 then npcHandler:say("He really doesn't look like the man of the sea he pretends to be, does he? Noted down! Any other name?", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Maris, 2) - elseif player:getStorageValue(BloodBrothers.Cookies.Maris) == 2 then + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Maris, 2) + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Maris) == 2 then npcHandler:say("You already reported that name. Any new ones?", npc, creature) else npcHandler:say("Hm. You don't look so sure about that one. You should not report suspects that you did not confirm yourself! Any others?", npc, creature) end elseif MsgContains(message, "ortheus") then - if player:getStorageValue(BloodBrothers.Cookies.Ortheus) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Ortheus) == 1 then npcHandler:say("I always thought that there is not really a poor beggar hidden under those ragged clothes. Noted down! Any other name?", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Ortheus, 2) - elseif player:getStorageValue(BloodBrothers.Cookies.Ortheus) == 2 then + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Ortheus, 2) + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Ortheus) == 2 then npcHandler:say("You already reported that name. Any new ones?", npc, creature) else npcHandler:say("Hm. You don't look so sure about that one. You should not report suspects that you did not confirm yourself! Any others?", npc, creature) end elseif MsgContains(message, "serafin") then - if player:getStorageValue(BloodBrothers.Cookies.Serafin) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Serafin) == 1 then npcHandler:say("Nice angelic name for a vampire. But he didn't escape your attention, well done. Noted down! Any other name?", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Serafin, 2) - elseif player:getStorageValue(BloodBrothers.Cookies.Serafin) == 2 then + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Serafin, 2) + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Serafin) == 2 then npcHandler:say("You already reported that name. Any new ones?", npc, creature) else npcHandler:say("Hm. You don't look so sure about that one. You should not report suspects that you did not confirm yourself! Any others?", npc, creature) end elseif MsgContains(message, "lisander") then - if player:getStorageValue(BloodBrothers.Cookies.Lisander) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Lisander) == 1 then npcHandler:say("Yes, that pale skin and those black eyes speak volumes. Noted down! Any other name?", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Lisander, 2) - elseif player:getStorageValue(BloodBrothers.Cookies.Lisander) == 2 then + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Lisander, 2) + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Lisander) == 2 then npcHandler:say("You already reported that name. Any new ones?", npc, creature) else npcHandler:say("Hm. You don't look so sure about that one. You should not report suspects that you did not confirm yourself! Any others?", npc, creature) end elseif MsgContains(message, "armenius") then - if player:getStorageValue(BloodBrothers.Cookies.Armenius) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Armenius) == 1 then npcHandler:say("Ahh, I always thought something was suspicious about him. Noted down! Any other name?", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Armenius, 2) - elseif player:getStorageValue(BloodBrothers.Cookies.Armenius) == 2 then + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Armenius, 2) + elseif player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Armenius) == 2 then npcHandler:say("You already reported that name. Any new ones?", npc, creature) else npcHandler:say("Hm. You don't look so sure about that one. You should not report suspects that you did not confirm yourself! Any others?", npc, creature) @@ -224,11 +225,11 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Hm. You don't look so sure about that one. You should not report suspects that you did not confirm yourself! Any others?", npc, creature) elseif message:lower() == "alori mort" and npcHandler:getTopic(playerId) == 10 then npcHandler:say("Good. Don't play around with the spell, only use it when standing in front of those vampires. Come back and report to me about your progress later.", npc, creature) - player:setStorageValue(BloodBrothers.Mission03, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03, 1) npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "armenius") and npcHandler:getTopic(playerId) == 11 then npcHandler:say("I see... so Armenius is the master, and the spell didn't even cause a scratch on him... Well, that went worse than expected. Let me think for a moment and then ask me about a mission again.", npc, creature) - player:setStorageValue(BloodBrothers.Mission03, 3) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03, 3) npcHandler:setTopic(playerId, 0) else npcHandler:say("Getting cold feet, eh?", npc, creature) diff --git a/data-otservbr-global/npc/lisander.lua b/data-otservbr-global/npc/lisander.lua index a1c59f966a1..308b7e143c0 100644 --- a/data-otservbr-global/npc/lisander.lua +++ b/data-otservbr-global/npc/lisander.lua @@ -55,7 +55,7 @@ local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() if message == "cookie" then - if player:getStorageValue(BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(BloodBrothers.Cookies.Lisander) < 0 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Lisander) < 0 then npcHandler:say("A cookie? Sure, is it for free?", npc, creature) npcHandler:setTopic(playerId, 1) else @@ -64,14 +64,14 @@ local function creatureSayCallback(npc, creature, type, message) elseif message == "yes" then if npcHandler:getTopic(playerId) == 1 and player:removeItem(8199, 1) then -- garlic cookie npcHandler:say("Errrkss - coughcough - what the - heck did you put in there? Get out of my sight!", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Lisander, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Lisander, 1) npcHandler:setTopic(playerId, 0) end end end --Basic keywordHandler:addKeyword({ "alori mort" }, StdModule.say, { npcHandler = npcHandler, text = "Hold your tongue." }, function(player) - return player:getStorageValue(BloodBrothers.Mission03) == 1 + return player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03) == 1 end) npcHandler:setMessage(MESSAGE_GREET, "I'd rather be left in {peace}. Keep it short.") diff --git a/data-otservbr-global/npc/maris.lua b/data-otservbr-global/npc/maris.lua index a89bee81021..857fca0ee85 100644 --- a/data-otservbr-global/npc/maris.lua +++ b/data-otservbr-global/npc/maris.lua @@ -55,7 +55,7 @@ local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() if message == "cookie" then - if player:getStorageValue(BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(BloodBrothers.Cookies.Maris) < 0 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Maris) < 0 then npcHandler:say("The good thing about cookies is that they last for a long time. So they are well suited for a boat trip. I'll take some of those, okay?", npc, creature) npcHandler:setTopic(playerId, 1) else @@ -64,7 +64,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif message == "yes" then if npcHandler:getTopic(playerId) == 1 and player:removeItem(8199, 1) then -- garlic cookie npcHandler:say("Let's try that stuff first - ARRRRRRHH! That must have been the worst cookie I've ever eaten. Get off my ship.", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Maris, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Maris, 1) npcHandler:setTopic(playerId, 0) end end @@ -85,7 +85,7 @@ keywordHandler:addAliasKeyword({ "passage" }) keywordHandler:addKeyword({ "job" }, StdModule.say, { npcHandler = npcHandler, text = "I am Maris, Captain of this ship." }) keywordHandler:addAliasKeyword({ "captain" }) keywordHandler:addKeyword({ "alori mort" }, StdModule.say, { npcHandler = npcHandler, text = "Stop mumbling and don't bug me." }, function(player) - return player:getStorageValue(BloodBrothers.Mission03) == 1 + return player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03) == 1 end) npcHandler:setMessage(MESSAGE_GREET, "I hope you have a good reason to step near my {ship}, |PLAYERNAME|.") diff --git a/data-otservbr-global/npc/ortheus.lua b/data-otservbr-global/npc/ortheus.lua index f688d51cda8..ccd9097e881 100644 --- a/data-otservbr-global/npc/ortheus.lua +++ b/data-otservbr-global/npc/ortheus.lua @@ -55,7 +55,7 @@ local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() if message == "cookie" then - if player:getStorageValue(BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(BloodBrothers.Cookies.Ortheus) < 0 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Ortheus) < 0 then npcHandler:say("A cookie? Well... I have to admit I haven't had one for ages. Can I have it?", npc, creature) npcHandler:setTopic(playerId, 1) else @@ -64,7 +64,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif message == "yes" then if npcHandler:getTopic(playerId) == 1 and player:removeItem(8199, 1) then -- garlic cookie npcHandler:say("Well thanks, it looks tasty, I'll just take a bi - COUGH! Are you trying to poison me?? Get out of here before I forget myself!", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Ortheus, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Ortheus, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then if player:removeItem(2880, 17) then -- mug of tea @@ -100,7 +100,7 @@ keywordHandler:addKeyword({ "serafin" }, StdModule.say, { npcHandler = npcHandle keywordHandler:addKeyword({ "yalahar" }, StdModule.say, { npcHandler = npcHandler, text = "Though the city has seen better days, the quality of life is still much better than in most other cities." }) keywordHandler:addKeyword({ "quarter" }, StdModule.say, { npcHandler = npcHandler, text = "I can't imagine a better place to live" }) keywordHandler:addKeyword({ "alori mort" }, StdModule.say, { npcHandler = npcHandler, text = "Whatever that's supposed to mean." }, function(player) - return player:getStorageValue(BloodBrothers.Mission03) == 1 + return player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03) == 1 end) keywordHandler:addKeyword({ "reward" }, StdModule.say, { npcHandler = npcHandler, text = "I don't have anything that I could give you as a reward. Guess you aren't so selfless after all, huh?" }) keywordHandler:addKeyword({ "augur" }, StdModule.say, { npcHandler = npcHandler, text = "They try to protect the city and do a decent job. Well - no, a poor job, I mean a poor job." }) diff --git a/data-otservbr-global/npc/serafin.lua b/data-otservbr-global/npc/serafin.lua index fe6a57ca249..913a1f63953 100644 --- a/data-otservbr-global/npc/serafin.lua +++ b/data-otservbr-global/npc/serafin.lua @@ -54,8 +54,9 @@ local BloodBrothers = Storage.Quest.U8_4.BloodBrothers local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() + if message == "cookie" then - if player:getStorageValue(BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(BloodBrothers.Cookies.Serafin) < 0 then + if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02) == 1 and player:getItemCount(8199) > 0 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Serafin) < 0 then npcHandler:say("Oh, no I don't sell cookies. Or, do you mean you'd like to give me one?", npc, creature) npcHandler:setTopic(playerId, 1) else @@ -64,14 +65,14 @@ local function creatureSayCallback(npc, creature, type, message) elseif message == "yes" then if npcHandler:getTopic(playerId) == 1 and player:removeItem(8199, 1) then -- garlic cookie npcHandler:say("COUGH?! What kind of a mean trick is that? Get out of my shop!", npc, creature) - player:setStorageValue(BloodBrothers.Cookies.Serafin, 1) + player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Serafin, 1) npcHandler:setTopic(playerId, 0) end end end --Basic keywordHandler:addKeyword({ "alori mort" }, StdModule.say, { npcHandler = npcHandler, text = "There's something about these words which makes me feel awkward. Or maybe it's you who causes that feeling. You better get lost." }, function(player) - return player:getStorageValue(BloodBrothers.Mission03) == 1 + return player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission03) == 1 end) npcHandler:setMessage(MESSAGE_GREET, "Welcome to my fruit and vegetable store, |PLAYERNAME|! Ask me for a {trade} if you'd like to see my wares.") From 830b27f32241e1edfe59ab8c38554ea16671785d Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 3 Aug 2024 12:16:27 +0000 Subject: [PATCH 063/112] Lua code format - (Stylua) --- data-otservbr-global/npc/julius.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/data-otservbr-global/npc/julius.lua b/data-otservbr-global/npc/julius.lua index 3d7d1bc7f64..5309d8800c3 100644 --- a/data-otservbr-global/npc/julius.lua +++ b/data-otservbr-global/npc/julius.lua @@ -154,7 +154,13 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Well, you need to mix flour with holy water and use that dough on garlic to create a special dough. Bake it like normal bread, but I guarantee that no vampire can eat that. Are you following me?", npc, creature) npcHandler:setTopic(playerId, 3) elseif npcHandler:getTopic(playerId) == 8 then - if player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Serafin) == 2 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Lisander) == 2 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Ortheus) == 2 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Maris) == 2 and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Armenius) == 2 then + if + player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Serafin) == 2 + and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Lisander) == 2 + and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Ortheus) == 2 + and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Maris) == 2 + and player:getStorageValue(Storage.Quest.U8_4.BloodBrothers.Cookies.Armenius) == 2 + then npcHandler:say("I guess Armenius, Lisander, Maris, Ortheus and Serafin are all the names we can get for now. Let me think for a moment what we are going to do, talk to me about your mission again later.", npc, creature) player:setStorageValue(Storage.Quest.U8_4.BloodBrothers.Mission02, 2) npcHandler:setTopic(playerId, 0) From 3ef97633dc4c3f1a866f495fc20eee4b5d41976c Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 3 Aug 2024 09:29:58 -0300 Subject: [PATCH 064/112] Storage Organization --- data-otservbr-global/lib/core/storages.lua | 250 ++++++++++----------- 1 file changed, 121 insertions(+), 129 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 7ca893d2677..9e21e9050bb 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -720,53 +720,6 @@ Storage = { DeeplingAnchor = 51023, RoyalCostumeOutfit = 51026, }, - TheWayToYalahar = { - -- Reserved storage from 51200 - 51209 - QuestLine = 51200, - }, - InServiceofYalahar = { - -- Reserved storage from 51210 - 51259 - Questline = 51210, - Mission01 = 51211, - Mission02 = 51212, - Mission03 = 51213, - Mission04 = 51214, - Mission05 = 51215, - Mission06 = 51216, - Mission07 = 51217, - Mission08 = 51218, - Mission09 = 51219, - Mission10 = 51220, - SewerPipe01 = 51221, - SewerPipe02 = 51222, - SewerPipe03 = 51223, - SewerPipe04 = 51224, - DiseasedDan = 51225, - DiseasedBill = 55226, - DiseasedFred = 55227, - AlchemistFormula = 51228, - BadSide = 51229, - GoodSide = 55230, - MrWestDoor = 51231, - MrWestStatus = 51232, - TamerinStatus = 55233, - MorikSummon = 51234, - QuaraState = 51235, - QuaraSplasher = 51236, - QuaraSharptooth = 51237, - QuaraInky = 51238, - MatrixState = 51239, - SideDecision = 51240, - MatrixReward = 51241, - NotesPalimuth = 51242, - NotesAzerus = 51243, - DoorToAzerus = 51244, - DoorToBog = 55136, - DoorToLastFight = 55137, - DoorToMatrix = 51247, - DoorToQuara = 51248, - DoorToReward = 51249, - }, ChildrenoftheRevolution = { -- Reserved storage from 55145 - 51279 Questline = 55145, @@ -1920,98 +1873,98 @@ Storage = { }, U8_2 = { -- update 8.2 - Reserved Storages 41651 - 41900 ElementalSpheres = { - QuestLine = 50750, - BossStorage = 50751, - MachineGemCount = 50752, - BossRoom = 60140, - KnightBoss = 60141, - SorcererBoss = 60142, - PaladinBoss = 60143, - DruidBoss = 60144, - Machine1 = 60145, - Machine2 = 60146, - Machine3 = 60147, - Machine4 = 60148, + QuestLine = 41651, + BossStorage = 41652, + MachineGemCount = 41653, + BossRoom = 41654, + KnightBoss = 41655, + SorcererBoss = 41656, + PaladinBoss = 41657, + DruidBoss = 41658, + Machine1 = 41659, + Machine2 = 41660, + Machine3 = 41661, + Machine4 = 41662, }, MachineryOfWar = {}, TheBeginningQuest = { - TutorialHintsStorage = 51665, - SantiagoNpcGreetStorage = 51666, - SantiagoQuestLog = 51667, - ZirellaNpcGreetStorage = 51671, - ZirellaQuestLog = 51672, - CarlosNpcTradeStorage = 51673, - CarlosNpcGreetStorage = 51677, - CarlosQuestLog = 51678, + TutorialHintsStorage = 41670, + SantiagoNpcGreetStorage = 41671, + SantiagoQuestLog = 41672, + ZirellaNpcGreetStorage = 41673, + ZirellaQuestLog = 41674, + CarlosNpcTradeStorage = 41675, + CarlosNpcGreetStorage = 41676, + CarlosQuestLog = 41677, }, TheDemonOak = { - Done = 51700, - Progress = 51701, - Squares = 51702, - AxeBlowsBird = 51703, - AxeBlowsLeft = 51704, - AxeBlowsRight = 51705, - AxeBlowsFace = 51706, + Done = 41678, + Progress = 41679, + Squares = 41680, + AxeBlowsBird = 41681, + AxeBlowsLeft = 41682, + AxeBlowsRight = 41683, + AxeBlowsFace = 41684, }, TheHuntForTheSeaSerpent = { - QuestLine = 41652, - SuccessSwitch = 41653, - Bait = 41654, - Direction = 41655, - Access = 41656, - FishForASerpent = 41651, + QuestLine = 41685, + SuccessSwitch = 41686, + Bait = 41687, + Direction = 41688, + Access = 41689, + FishForASerpent = 41690, }, TheInquisitionQuest = { - Questline = 51110, - Mission01 = 51111, - Mission02 = 51112, - Mission03 = 51113, - Mission04 = 51114, - Mission05 = 51115, - Mission06 = 51116, - Mission07 = 51117, - RewardDoor = 51118, - GrofGuard = 51120, - KulagGuard = 51121, - MilesGuard = 51122, - TimGuard = 51123, - WalterGuard = 51124, - StorkusVampiredust = 51125, - EnterTeleport = 51126, - Reward = 51127, - RewardRoomText = 51128, - WitchesGrimoire = 51129, + Questline = 41691, + Mission01 = 41692, + Mission02 = 41693, + Mission03 = 41694, + Mission04 = 41695, + Mission05 = 41696, + Mission06 = 41697, + Mission07 = 41698, + RewardDoor = 41699, + GrofGuard = 41700, + KulagGuard = 41701, + MilesGuard = 41702, + TimGuard = 41703, + WalterGuard = 41704, + StorkusVampiredust = 41705, + EnterTeleport = 41706, + Reward = 41707, + RewardRoomText = 41708, + WitchesGrimoire = 41709, }, TheThievesGuildQuest = { - Questline = 515206, - Mission01 = 515207, - Mission02 = 515208, - Mission03 = 515209, - Mission04 = 51394, - Mission05 = 56395, - Mission06 = 51396, - Mission07 = 51397, - Mission08 = 51398, - Door = 51399, - Reward = 51400, - TheatreScript = 51401, - RewardOasis = 51402, - RewardBook = 51403, - GoldenGoblet = 51404, - CompromisingLetter = 51405, - RewardEnd = 51406, + Questline = 41710, + Mission01 = 41711, + Mission02 = 41712, + Mission03 = 41713, + Mission04 = 41714, + Mission05 = 41715, + Mission06 = 41716, + Mission07 = 41717, + Mission08 = 41718, + Door = 41719, + Reward = 41720, + TheatreScript = 41721, + RewardOasis = 41722, + RewardBook = 41723, + GoldenGoblet = 41724, + CompromisingLetter = 41725, + RewardEnd = 41726, }, TrollSabotageQuest = { - Questline = 41840, - JumpTimer = 41841, + Questline = 41727, + JumpTimer = 41728, }, VampireHunterQuest = { - Rank = 50650, - Door = 50651, - BloodSkull = 50652, + Rank = 41729, + Door = 41730, + BloodSkull = 41731, }, TheMutatedPumpkin = { - Skinned = 41860, + Skinned = 41732, }, }, U8_4 = { -- update 8.4 - Reserved Storages 41901 - 42145 @@ -2031,7 +1984,52 @@ Storage = { Mission04 = 41911, VengothAccess = 41912, }, - InServiceOfYalahar = {}, + InServiceOfYalahar = { + TheWayToYalahar = 41950, + Questline = 41951, + Mission01 = 41952, + Mission02 = 41953, + Mission03 = 41954, + Mission04 = 41955, + Mission05 = 41956, + Mission06 = 41957, + Mission07 = 41958, + Mission08 = 41959, + Mission09 = 41960, + Mission10 = 41961, + SewerPipe01 = 41962, + SewerPipe02 = 41963, + SewerPipe03 = 41964, + SewerPipe04 = 41965, + DiseasedDan = 41966, + DiseasedBill = 41967, + DiseasedFred = 41968, + AlchemistFormula = 41969, + BadSide = 41970, + GoodSide = 41971, + MrWestDoor = 41972, + MrWestStatus = 41973, + TamerinStatus = 41974, + MorikSummon = 41975, + QuaraState = 41976, + QuaraSplasher = 41977, + QuaraSharptooth = 41978, + QuaraInky = 41979, + MatrixState = 41980, + SideDecision = 41981, + MatrixReward = 41982, + NotesPalimuth = 41983, + NotesAzerus = 41984, + DoorToAzerus = 41985, + DoorToBog = 41986, + DoorToLastFight = 41987, + DoorToMatrix = 41988, + DoorToQuara = 41989, + DoorToReward = 41990, + LastFight = 41991, + WarGolemsMachine1 = 41992, + WarGolemsMachine2 = 41993, + }, TheHiddenCityOfBeregar = {}, TopOfTheCity = {}, YalaharianOutfits = {}, @@ -2905,12 +2903,6 @@ GlobalStorage = { AstralPowerCounter = 60095, AstralGlyph = 60096, }, - InServiceOfYalahar = { - -- Reserved storage from 60100 - 60109 - LastFight = 60100, - WarGolemsMachine1 = 60101, - WarGolemsMachine2 = 60102, - }, BigfootBurden = { -- Reserved storage from 60110 - 60119 Warzones = 60110, From 8de4cf4cc9e172c5abaf6d57e34510084aaa28db Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 3 Aug 2024 17:14:25 -0300 Subject: [PATCH 065/112] In Service of Yalahar Quest --- data-otservbr-global/lib/core/quests.lua | 22 +-- data-otservbr-global/lib/core/storages.lua | 23 ++- data-otservbr-global/npc/barry.lua | 6 +- data-otservbr-global/npc/bruce.lua | 6 +- data-otservbr-global/npc/captain_bluebear.lua | 2 +- data-otservbr-global/npc/captain_fearless.lua | 2 +- .../npc/captain_greyhound.lua | 2 +- data-otservbr-global/npc/captain_max.lua | 4 +- data-otservbr-global/npc/captain_seagull.lua | 2 +- data-otservbr-global/npc/captain_sinbeard.lua | 2 +- data-otservbr-global/npc/charles.lua | 2 +- data-otservbr-global/npc/hal.lua | 6 +- data-otservbr-global/npc/jack_fate.lua | 2 +- data-otservbr-global/npc/karith.lua | 72 +++---- data-otservbr-global/npc/maritima.lua | 9 +- data-otservbr-global/npc/mr._west.lua | 26 +-- data-otservbr-global/npc/oliver.lua | 6 +- data-otservbr-global/npc/palimuth.lua | 180 +++++++++--------- data-otservbr-global/npc/peter.lua | 8 +- data-otservbr-global/npc/petros.lua | 2 +- data-otservbr-global/npc/reed.lua | 6 +- data-otservbr-global/npc/siflind.lua | 2 +- data-otservbr-global/npc/tamerin.lua | 34 ++-- data-otservbr-global/npc/timothy.lua | 6 +- data-otservbr-global/npc/tony.lua | 6 +- data-otservbr-global/npc/wyrdin.lua | 13 +- data-otservbr-global/npc/yalahari.lua | 158 +++++++-------- .../actions/other/others/quest_system2.lua | 10 +- .../scripts/actions/tools/crowbar.lua | 39 ---- .../scripts/actions/tools/pick.lua | 40 ---- .../creaturescripts/customs/freequests.lua | 94 ++++----- .../diseased_trio_kill.lua | 27 --- .../in_service_of_yalahar/actions_charm.lua} | 2 +- .../actions_formula.lua} | 2 +- .../in_service_of_yalahar/actions_ghost.lua} | 4 +- .../actions_last_fight.lua} | 8 +- .../in_service_of_yalahar/actions_matrix.lua} | 8 +- .../actions_mechanism.lua} | 2 +- .../actions_morik_summon.lua} | 4 +- .../actions_mr_west_door.lua} | 8 +- .../in_service_of_yalahar/actions_reward.lua} | 18 +- .../actions_yalahar_machine_war_golems.lua} | 4 +- .../creaturescritps_azerus_kill.lua} | 0 .../creaturescritps_diseased_trio_kill.lua | 27 +++ .../movements_demon_teleport.lua} | 0 .../movements_last_fight_teleport.lua} | 6 +- .../movements_morik.lua} | 6 +- .../movements_quara_vortex.lua} | 0 .../movements_yalahar_machine_war_golems.lua} | 4 +- .../quara_leader_kill.lua | 12 +- .../startup/tables/door_quest.lua | 24 +-- data-otservbr-global/startup/tables/item.lua | 106 +++++++++++ data/scripts/actions/tools/crowbar.lua | 8 + data/scripts/actions/tools/pick.lua | 8 + data/scripts/lib/register_actions.lua | 64 ++++--- 55 files changed, 608 insertions(+), 536 deletions(-) delete mode 100644 data-otservbr-global/scripts/actions/tools/crowbar.lua delete mode 100644 data-otservbr-global/scripts/actions/tools/pick.lua delete mode 100644 data-otservbr-global/scripts/creaturescripts/quests/in_service_of_yalahar/diseased_trio_kill.lua rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/charm.lua => quests/in_service_of_yalahar/actions_charm.lua} (87%) rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/formula.lua => quests/in_service_of_yalahar/actions_formula.lua} (86%) rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/ghost.lua => quests/in_service_of_yalahar/actions_ghost.lua} (78%) rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/last_fight.lua => quests/in_service_of_yalahar/actions_last_fight.lua} (89%) rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/matrix.lua => quests/in_service_of_yalahar/actions_matrix.lua} (57%) rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/mechanism.lua => quests/in_service_of_yalahar/actions_mechanism.lua} (94%) rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/morik_summon.lua => quests/in_service_of_yalahar/actions_morik_summon.lua} (60%) rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/mr_west_door.lua => quests/in_service_of_yalahar/actions_mr_west_door.lua} (59%) rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/reward.lua => quests/in_service_of_yalahar/actions_reward.lua} (50%) rename data-otservbr-global/scripts/{actions/quests/in_service_of_yalahar/yalahar_machine_war_golems.lua => quests/in_service_of_yalahar/actions_yalahar_machine_war_golems.lua} (91%) rename data-otservbr-global/scripts/{creaturescripts/quests/in_service_of_yalahar/azerus_kill.lua => quests/in_service_of_yalahar/creaturescritps_azerus_kill.lua} (100%) create mode 100644 data-otservbr-global/scripts/quests/in_service_of_yalahar/creaturescritps_diseased_trio_kill.lua rename data-otservbr-global/scripts/{movements/quests/in_service_of_yalahar/demon_teleport.lua => quests/in_service_of_yalahar/movements_demon_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/in_service_of_yalahar/last_fight_teleport.lua => quests/in_service_of_yalahar/movements_last_fight_teleport.lua} (77%) rename data-otservbr-global/scripts/{movements/quests/in_service_of_yalahar/morik.lua => quests/in_service_of_yalahar/movements_morik.lua} (69%) rename data-otservbr-global/scripts/{movements/quests/in_service_of_yalahar/quara_vortex.lua => quests/in_service_of_yalahar/movements_quara_vortex.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/in_service_of_yalahar/yalahar_machine_war_golems.lua => quests/in_service_of_yalahar/movements_yalahar_machine_war_golems.lua} (89%) rename data-otservbr-global/scripts/{creaturescripts => }/quests/in_service_of_yalahar/quara_leader_kill.lua (57%) create mode 100644 data/scripts/actions/tools/crowbar.lua create mode 100644 data/scripts/actions/tools/pick.lua diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index b433f5aa172..6de78a13dd9 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -752,12 +752,12 @@ if not Quests then }, [10] = { name = "In Service of Yalahar", - startStorageId = Storage.InServiceofYalahar.Questline, + startStorageId = Storage.Quest.U8_4.InServiceOfYalahar.Questline, startStorageValue = 5, missions = { [1] = { name = "Mission 01: Something Rotten", - storageId = Storage.InServiceofYalahar.Mission01, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission01, missionId = 1071, startValue = 1, endValue = 6, @@ -773,7 +773,7 @@ if not Quests then }, [2] = { name = "Mission 02: Watching the Watchmen", - storageId = Storage.InServiceofYalahar.Mission02, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission02, missionId = 1072, startValue = 1, endValue = 8, @@ -791,7 +791,7 @@ if not Quests then }, [3] = { name = "Mission 03: Death to the Deathbringer", - storageId = Storage.InServiceofYalahar.Mission03, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission03, missionId = 1073, startValue = 1, endValue = 6, @@ -808,7 +808,7 @@ if not Quests then }, [4] = { name = "Mission 04: Good to be Kingpin", - storageId = Storage.InServiceofYalahar.Mission04, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission04, missionId = 1074, startValue = 1, endValue = 6, @@ -825,7 +825,7 @@ if not Quests then }, [5] = { name = "Mission 05: Food or Fight", - storageId = Storage.InServiceofYalahar.Mission05, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission05, missionId = 1075, startValue = 1, endValue = 8, @@ -846,7 +846,7 @@ if not Quests then }, [6] = { name = "Mission 06: Frightening Fuel", - storageId = Storage.InServiceofYalahar.Mission06, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission06, missionId = 1076, startValue = 1, endValue = 5, @@ -865,7 +865,7 @@ if not Quests then }, [7] = { name = "Mission 07: A Fishy Mission", - storageId = Storage.InServiceofYalahar.Mission07, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission07, missionId = 1077, startValue = 1, endValue = 5, @@ -882,7 +882,7 @@ if not Quests then }, [8] = { name = "Mission 08: Dangerous Machinations", - storageId = Storage.InServiceofYalahar.Mission08, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission08, missionId = 1078, startValue = 1, endValue = 4, @@ -897,7 +897,7 @@ if not Quests then }, [9] = { name = "Mission 09: Decision", - storageId = Storage.InServiceofYalahar.Mission09, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission09, missionId = 1079, startValue = 1, endValue = 2, @@ -910,7 +910,7 @@ if not Quests then }, [10] = { name = "Mission 10: The Final Battle", - storageId = Storage.InServiceofYalahar.Mission10, + storageId = Storage.Quest.U8_4.InServiceOfYalahar.Mission10, missionId = 1080, startValue = 1, endValue = 5, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 9e21e9050bb..54f16358b0f 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -894,18 +894,6 @@ Storage = { }, -- TowerDefenceQuest: when there is space, bring this quest that is in update 8.1 to Tibia Tales }, - SearoutesAroundYalahar = { - -- Reserved storage from 51590 - 51609 - TownsCounter = 51590, - AbDendriel = 51591, - Darashia = 51592, - Venore = 51593, - Ankrahmun = 51594, - PortHope = 51595, - Thais = 51596, - LibertyBay = 51597, - Carlin = 51598, - }, KillingInTheNameOf = { -- Reserved storage from 51610 - 51629 LugriNecromancers = 51610, @@ -2029,6 +2017,17 @@ Storage = { LastFight = 41991, WarGolemsMachine1 = 41992, WarGolemsMachine2 = 41993, + SearoutesAroundYalahar = { + TownsCounter = 41994, + AbDendriel = 41995, + Darashia = 41996, + Venore = 41997, + Ankrahmun = 41998, + PortHope = 41999, + Thais = 42000, + LibertyBay = 42001, + Carlin = 42002, + }, }, TheHiddenCityOfBeregar = {}, TopOfTheCity = {}, diff --git a/data-otservbr-global/npc/barry.lua b/data-otservbr-global/npc/barry.lua index a017418d571..63249dae3dc 100644 --- a/data-otservbr-global/npc/barry.lua +++ b/data-otservbr-global/npc/barry.lua @@ -60,10 +60,10 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "report") then local player = Player(creature) - if table.contains({ 9, 11 }, player:getStorageValue(Storage.InServiceofYalahar.Questline)) then + if table.contains({ 9, 11 }, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline)) then npcHandler:say("Oh my, where to begin with .. .", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, player:getStorageValue(Storage.InServiceofYalahar.Questline) + 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission02, player:getStorageValue(Storage.InServiceofYalahar.Mission02) + 1) -- StorageValue for Questlog 'Mission 02: Watching the Watchmen' + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02) + 1) -- StorageValue for Questlog 'Mission 02: Watching the Watchmen' end elseif MsgContains(message, "pass") then npcHandler:say("You can {pass} either to the {Magician Quarter} or {Sunken Quarter}. Which one will it be?", npc, creature) diff --git a/data-otservbr-global/npc/bruce.lua b/data-otservbr-global/npc/bruce.lua index 55eada7766d..a76d5578420 100644 --- a/data-otservbr-global/npc/bruce.lua +++ b/data-otservbr-global/npc/bruce.lua @@ -60,10 +60,10 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "report") then local player = Player(creature) - if table.contains({ 9, 11 }, player:getStorageValue(Storage.InServiceofYalahar.Questline)) then + if table.contains({ 9, 11 }, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline)) then npcHandler:say("Well, .. .", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, player:getStorageValue(Storage.InServiceofYalahar.Questline) + 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission02, player:getStorageValue(Storage.InServiceofYalahar.Mission02) + 1) -- StorageValue for Questlog 'Mission 02: Watching the Watchmen' + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02) + 1) -- StorageValue for Questlog 'Mission 02: Watching the Watchmen' end elseif MsgContains(message, "pass") then npcHandler:say("You can {pass} either to the {Alchemist Quarter} or {Cemetery Quarter}. Which one will it be?", npc, creature) diff --git a/data-otservbr-global/npc/captain_bluebear.lua b/data-otservbr-global/npc/captain_bluebear.lua index a535403a61e..8c0100583d4 100644 --- a/data-otservbr-global/npc/captain_bluebear.lua +++ b/data-otservbr-global/npc/captain_bluebear.lua @@ -81,7 +81,7 @@ addTravelKeyword("roshamuul", 210, Position(33494, 32567, 7)) addTravelKeyword("svargrond", 180, Position(32341, 31108, 6)) addTravelKeyword("liberty bay", 180, Position(32285, 32892, 6)) addTravelKeyword("yalahar", 200, Position(32816, 31272, 6), nil, function(player) - return player:getStorageValue(Storage.SearoutesAroundYalahar.Thais) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 + return player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Thais) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 end) addTravelKeyword("oramond", 150, Position(33479, 31985, 7)) addTravelKeyword("krailos", 230, Position(33492, 31712, 6)) diff --git a/data-otservbr-global/npc/captain_fearless.lua b/data-otservbr-global/npc/captain_fearless.lua index e9e53eae9bc..20645de30f3 100644 --- a/data-otservbr-global/npc/captain_fearless.lua +++ b/data-otservbr-global/npc/captain_fearless.lua @@ -77,7 +77,7 @@ addTravelKeyword("port hope", 160, Position(32527, 32784, 6)) addTravelKeyword("svargrond", 150, Position(32341, 31108, 6)) addTravelKeyword("liberty bay", 180, Position(32285, 32892, 6)) addTravelKeyword("yalahar", 185, Position(32816, 31272, 6), function(player) - return player:getStorageValue(Storage.SearoutesAroundYalahar.Venore) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 + return player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Venore) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 end) addTravelKeyword("ankrahmun", 150, Position(33092, 32883, 6)) addTravelKeyword("issavi", 130, Position(33900, 31463, 6)) diff --git a/data-otservbr-global/npc/captain_greyhound.lua b/data-otservbr-global/npc/captain_greyhound.lua index 9f42bf412ed..3378a269807 100644 --- a/data-otservbr-global/npc/captain_greyhound.lua +++ b/data-otservbr-global/npc/captain_greyhound.lua @@ -67,7 +67,7 @@ addTravelKeyword("edron", 110, Position(33175, 31764, 6)) addTravelKeyword("venore", 130, Position(32954, 32022, 6)) addTravelKeyword("svargrond", 110, Position(32341, 31108, 6)) addTravelKeyword("yalahar", 185, Position(32816, 31272, 6), function(player) - return player:getStorageValue(Storage.SearoutesAroundYalahar.Carlin) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 + return player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Carlin) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 end) -- Kick diff --git a/data-otservbr-global/npc/captain_max.lua b/data-otservbr-global/npc/captain_max.lua index e72008fd526..c8d6191db32 100644 --- a/data-otservbr-global/npc/captain_max.lua +++ b/data-otservbr-global/npc/captain_max.lua @@ -65,7 +65,7 @@ local function addTravelKeyword(keyword, text, cost, destination) if keyword == "yalahar" then keywordHandler:addKeyword({ keyword }, StdModule.say, { npcHandler = npcHandler, text = "I'm sorry but we don't serve this route." }, function(player) - return player:getStorageValue(Storage.TheWayToYalahar.QuestLine) < 1 + return player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TheWayToYalahar) < 1 end) end @@ -75,7 +75,7 @@ local function addTravelKeyword(keyword, text, cost, destination) end addTravelKeyword("calassa", "Should I bring you to Calassa for 200 gold?", 200, Position(31911, 32710, 6)) -addTravelKeyword("yalahar", "That is quite a long unprofitable travel. I'll bring you to Yalahar for 400 gold though. Is that ok with you?", 400, Position(32816, 31272, 6)) +addTravelKeyword("yalahar", "That is quite a long unprofitable travel. I'll bring you to Yalahar for 400 gold though. Is that ok with you?", 400, Position(32804, 31270, 6)) keywordHandler:addKeyword({ "sail" }, StdModule.say, { npcHandler = npcHandler, text = "Welcome on board, noble |PLAYERNAME|. I can bring you to {Calassa} or {Yalahar}, but only if you have the according mission from {Berenice} or {Wyrdin}." }) keywordHandler:addKeyword({ "passage" }, StdModule.say, { npcHandler = npcHandler, text = "Welcome on board, noble |PLAYERNAME|. I can bring you to {Calassa} or {Yalahar}, but only if you have the according mission from {Berenice} or {Wyrdin}." }) diff --git a/data-otservbr-global/npc/captain_seagull.lua b/data-otservbr-global/npc/captain_seagull.lua index f738a41a632..7e7ebd5016a 100644 --- a/data-otservbr-global/npc/captain_seagull.lua +++ b/data-otservbr-global/npc/captain_seagull.lua @@ -67,7 +67,7 @@ addTravelKeyword("gray island", 150, Position(33196, 31984, 7)) addTravelKeyword("edron", 70, Position(33175, 31764, 6)) addTravelKeyword("venore", 90, Position(32954, 32022, 6)) addTravelKeyword("yalahar", 160, Position(32816, 31272, 6), function(player) - return player:getStorageValue(Storage.SearoutesAroundYalahar.AbDendriel) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 + return player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.AbDendriel) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 end) -- Kick diff --git a/data-otservbr-global/npc/captain_sinbeard.lua b/data-otservbr-global/npc/captain_sinbeard.lua index 277d80544de..2f6b2207ec6 100644 --- a/data-otservbr-global/npc/captain_sinbeard.lua +++ b/data-otservbr-global/npc/captain_sinbeard.lua @@ -67,7 +67,7 @@ addTravelKeyword("port hope", 80, Position(32527, 32784, 6)) addTravelKeyword("liberty bay", 90, Position(32285, 32892, 6)) addTravelKeyword("darashia", 100, Position(33289, 32480, 6)) addTravelKeyword("yalahar", 230, Position(32816, 31272, 6), function(player) - return player:getStorageValue(Storage.SearoutesAroundYalahar.Ankrahmun) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 + return player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Ankrahmun) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 end) -- Kick diff --git a/data-otservbr-global/npc/charles.lua b/data-otservbr-global/npc/charles.lua index a33f3188b2b..9622620006a 100644 --- a/data-otservbr-global/npc/charles.lua +++ b/data-otservbr-global/npc/charles.lua @@ -70,7 +70,7 @@ end addTravelKeyword("edron", 150, Position(33173, 31764, 6)) addTravelKeyword("venore", 160, Position(32954, 32022, 6)) addTravelKeyword("yalahar", 260, Position(32816, 31272, 6), function(player) - return player:getStorageValue(Storage.SearoutesAroundYalahar.PortHope) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 + return player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.PortHope) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 end) addTravelKeyword("ankrahmun", 110, Position(33092, 32883, 6)) addTravelKeyword("darashia", 180, Position(33289, 32480, 6)) diff --git a/data-otservbr-global/npc/hal.lua b/data-otservbr-global/npc/hal.lua index 334db27203d..80bd7664699 100644 --- a/data-otservbr-global/npc/hal.lua +++ b/data-otservbr-global/npc/hal.lua @@ -59,10 +59,10 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "report") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 8 or player:getStorageValue(Storage.InServiceofYalahar.Questline) == 12 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 8 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 12 then npcHandler:say("Hicks! I... I... . ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, player:getStorageValue(Storage.InServiceofYalahar.Questline) + 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission02, player:getStorageValue(Storage.InServiceofYalahar.Mission02) + 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02) + 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "pass") then diff --git a/data-otservbr-global/npc/jack_fate.lua b/data-otservbr-global/npc/jack_fate.lua index 5a98b0eb288..8aa31c14002 100644 --- a/data-otservbr-global/npc/jack_fate.lua +++ b/data-otservbr-global/npc/jack_fate.lua @@ -80,7 +80,7 @@ addTravelKeyword("darashia", 200, Position(33289, 32480, 6)) addTravelKeyword("ankrahmun", 90, Position(33092, 32883, 6)) addTravelKeyword("goroma", 0, Position(32161, 32558, 6), "Ugh. You really want to go back to Goroma? I'll surely have to repair my ship afterwards, so I won't charge. Okay?") addTravelKeyword("yalahar", 275, Position(32816, 31272, 6), nil, function(player) - return player:getStorageValue(Storage.SearoutesAroundYalahar.LibertyBay) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 + return player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.LibertyBay) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 end) -- Thais diff --git a/data-otservbr-global/npc/karith.lua b/data-otservbr-global/npc/karith.lua index 204846c0f39..b1838760ea7 100644 --- a/data-otservbr-global/npc/karith.lua +++ b/data-otservbr-global/npc/karith.lua @@ -60,9 +60,9 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) == -1 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) == -1 then npcHandler:setMessage(MESSAGE_GREET, "Hello! Tell me what's on your mind. Time is money.") - player:setStorageValue(Storage.SearoutesAroundYalahar.TownsCounter, 0) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, 0) else npcHandler:setMessage(MESSAGE_GREET, "Hello! Tell me what's on your mind. Time is money.") end @@ -78,14 +78,14 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "passage") or MsgContains(message, "sail") then - if player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 then npcHandler:say({ "I see no reason to establish ship routes to other cities. There is nothing that would be worth the effort. ...", "But since you won't stop bugging me, let's make a deal: If you can prove that at least five of your so-called 'cities' are not worthless, I might reconsider my position. ...", "Bring me something SPECIAL! The local bar tenders usually know what's interesting about their city.", }, npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) >= 5 then npcHandler:say({ "For the sake of profit, we established ship routes to {Ab'Dendriel}, {Darashia}, {Venore}, {Ankrahmun}, {Port Hope}, {Thais}, {Liberty Bay} and {Carlin}.", }, npc, creature) @@ -94,12 +94,12 @@ local function creatureSayCallback(npc, creature, type, message) return false end elseif MsgContains(message, "Ab'Dendriel") then - if player:getStorageValue(Storage.SearoutesAroundYalahar.AbDendriel) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.AbDendriel) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 then npcHandler:say({ "I've never been there. I doubt the elves there came up with something noteworthy. Or did you find something interesting there?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.SearoutesAroundYalahar.AbDendriel) == 1 or player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.AbDendriel) == 1 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) >= 5 then npcHandler:say({ "Do you want a passage to Ab'Dendriel for 160 gold?", ---missing line }, npc, creature) @@ -108,12 +108,12 @@ local function creatureSayCallback(npc, creature, type, message) return false end elseif MsgContains(message, "Darashia") then - if player:getStorageValue(Storage.SearoutesAroundYalahar.Darashia) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Darashia) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 then npcHandler:say({ "From all what I have heard, it is an unremarkable pile of huts in the desert. Or did you find something interesting there?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.SearoutesAroundYalahar.Darashia) == 1 or player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Darashia) == 1 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) >= 5 then npcHandler:say({ "Of course it is merely superstition that the darashian sand wasp honey brings back youth and vitality, but as long people pay a decent price, I couldn't care less. Do you want a passage to Darashia for 210 gold?", }, npc, creature) @@ -122,24 +122,24 @@ local function creatureSayCallback(npc, creature, type, message) return false end elseif MsgContains(message, "Venore") then - if player:getStorageValue(Storage.SearoutesAroundYalahar.Venore) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Venore) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 then npcHandler:say({ "Another port full of smelly humans, fittingly located in a swamp. Or did you find something interesting there?", }, npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.SearoutesAroundYalahar.Venore) == 1 or player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Venore) == 1 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) >= 5 then npcHandler:say({ "The swamp spice will turn out very lucrative considering that it helps to make even the most disgusting dish taste good. Do you want a passage to Venore for 185 gold?" }, npc, creature) npcHandler:setTopic(playerId, 13) else return false end elseif MsgContains(message, "Ankrahmun") then - if player:getStorageValue(Storage.SearoutesAroundYalahar.Ankrahmun) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Ankrahmun) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 then npcHandler:say({ "A city full of mad death worshippers, no thanks. Or did you find something interesting there?", }, npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.SearoutesAroundYalahar.Ankrahmun) == 1 or player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Ankrahmun) == 1 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) >= 5 then npcHandler:say({ "The Yalahari seem to be obsessed with conserving their dead, so I guess the embalming fluid will be a great success in Yalahar. Do you want a passage to Ankrahmun for 230 gold?", }, npc, creature) @@ -148,12 +148,12 @@ local function creatureSayCallback(npc, creature, type, message) return false end elseif MsgContains(message, "Port Hope") then - if player:getStorageValue(Storage.SearoutesAroundYalahar.PortHope) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.PortHope) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 then npcHandler:say({ "Another pointless human settlement. Or did you find something interesting there?", }, npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.SearoutesAroundYalahar.PortHope) == 1 or player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.PortHope) == 1 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) >= 5 then npcHandler:say({ "Ivory is highly prized by the artisans of the Yalahari. Do you want a passage to Port Hope for 260 gold?", }, npc, creature) @@ -162,12 +162,12 @@ local function creatureSayCallback(npc, creature, type, message) return false end elseif MsgContains(message, "Thais") then - if player:getStorageValue(Storage.SearoutesAroundYalahar.Thais) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Thais) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 then npcHandler:say({ "Thais must be a hell hole if only half of the stories we hear about it are true. Or did you find something interesting there?", }, npc, creature) npcHandler:setTopic(playerId, 6) - elseif player:getStorageValue(Storage.SearoutesAroundYalahar.Thais) == 1 or player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Thais) == 1 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) >= 5 then npcHandler:say({ "Astonishing enough the royal satin seems to suit the exquisite taste of the Yalahari. Do you want a passage to Thais for 200 gold?", }, npc, creature) @@ -176,12 +176,12 @@ local function creatureSayCallback(npc, creature, type, message) return false end elseif MsgContains(message, "Liberty Bay") then - if player:getStorageValue(Storage.SearoutesAroundYalahar.LibertyBay) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.LibertyBay) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 then npcHandler:say({ "Which sane captain would sail his ship to a pirate town? Or did you find something interesting there?", }, npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.SearoutesAroundYalahar.LibertyBay) == 1 or player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.LibertyBay) == 1 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) >= 5 then npcHandler:say({ "Do you want a passage to Liberty Bay for 275 gold?", ---missing line }, npc, creature) @@ -190,12 +190,12 @@ local function creatureSayCallback(npc, creature, type, message) return false end elseif MsgContains(message, "Carlin") then - if player:getStorageValue(Storage.SearoutesAroundYalahar.Carlin) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Carlin) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 then npcHandler:say({ "An unremarkable town compared to the wonders of Yalahar. Or did you find something interesting there?", }, npc, creature) npcHandler:setTopic(playerId, 8) - elseif player:getStorageValue(Storage.SearoutesAroundYalahar.Carlin) == 1 or player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) >= 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Carlin) == 1 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) >= 5 then npcHandler:say({ "The evergreen flower pots are an amusing item that might find some customers here. Do you want a passage to Carlin for 185 gold?", }, npc, creature) @@ -206,43 +206,43 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 and player:removeItem(8758, 1) then npcHandler:say("What's that? Bug milk? Hm, perhaps I can find some customers for that! ", npc, creature) - player:setStorageValue(Storage.SearoutesAroundYalahar.AbDendriel, 1) - player:setStorageValue(Storage.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.AbDendriel, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) + 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 and player:removeItem(8760, 1) then npcHandler:say("Sand wasp honey? Hm, interesting at least!", npc, creature) - player:setStorageValue(Storage.SearoutesAroundYalahar.Darashia, 1) - player:setStorageValue(Storage.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Darashia, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) + 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 and player:removeItem(8759, 1) then npcHandler:say("Some special spice might be of value indeed.", npc, creature) - player:setStorageValue(Storage.SearoutesAroundYalahar.Venore, 1) - player:setStorageValue(Storage.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Venore, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) + 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 4 and player:removeItem(8761, 1) then npcHandler:say("I can hardly imagine that someone is interested in embalming fluid, but I'll give it a try.", npc, creature) - player:setStorageValue(Storage.SearoutesAroundYalahar.Ankrahmun, 1) - player:setStorageValue(Storage.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Ankrahmun, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) + 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 and player:removeItem(3044, 1) then npcHandler:say("Of course! Ivory! Its value is quite obvious.", npc, creature) - player:setStorageValue(Storage.SearoutesAroundYalahar.PortHope, 1) - player:setStorageValue(Storage.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.PortHope, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) + 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 and player:removeItem(8762, 1) then npcHandler:say("This royal satin is indeed of acceptable quality.", npc, creature) - player:setStorageValue(Storage.SearoutesAroundYalahar.Thais, 1) - player:setStorageValue(Storage.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Thais, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) + 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 7 and player:removeItem(5552, 1, 13) then npcHandler:say("I doubt that the esteemed Yalahari will indulge into something profane as rum. But who knows, I'll give it a try.", npc, creature) - player:setStorageValue(Storage.SearoutesAroundYalahar.LibertyBay, 1) - player:setStorageValue(Storage.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.LibertyBay, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) + 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 8 and player:removeItem(8763, 1) then npcHandler:say("I doubt that these flowers will stay fresh and healthy forever. But if they do, they could be indeed valuable.", npc, creature) - player:setStorageValue(Storage.SearoutesAroundYalahar.Carlin, 1) - player:setStorageValue(Storage.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Carlin, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) + 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 11 then if player:removeMoneyBank(160) then diff --git a/data-otservbr-global/npc/maritima.lua b/data-otservbr-global/npc/maritima.lua index 80de0a82e31..49bc72a5d0d 100644 --- a/data-otservbr-global/npc/maritima.lua +++ b/data-otservbr-global/npc/maritima.lua @@ -54,14 +54,15 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "quara") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 41 and player:getStorageValue(Storage.InServiceofYalahar.QuaraInky) < 1 and player:getStorageValue(Storage.InServiceofYalahar.QuaraSplasher) < 1 and player:getStorageValue(Storage.InServiceofYalahar.QuaraSharptooth) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 41 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraInky) < 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraSplasher) < 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraSharptooth) < 1 then npcHandler:say({ "The quara in this area are a strange race that seeks for inner perfection rather than physical one. ...", + "Considering that they are quara, they are rather peaceful as long no one enters their territory. ...", "However, recently the quara got mad because their area is flooded with toxic sewage from the city. If you could inform someone about it, they might stop the sewage and the quara could return to their own business.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 42) - player:setStorageValue(Storage.InServiceofYalahar.Mission07, 3) -- StorageValue for Questlog "Mission 07: A Fishy Mission" - player:setStorageValue(Storage.InServiceofYalahar.QuaraState, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 42) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission07, 3) -- StorageValue for Questlog "Mission 07: A Fishy Mission" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraState, 1) npcHandler:setTopic(playerId, 0) end end diff --git a/data-otservbr-global/npc/mr._west.lua b/data-otservbr-global/npc/mr._west.lua index 32e0f340d35..c5b96f5e11d 100644 --- a/data-otservbr-global/npc/mr._west.lua +++ b/data-otservbr-global/npc/mr._west.lua @@ -54,10 +54,10 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.InServiceofYalahar.MrWestDoor) == 1 then - npcHandler:setMessage(MESSAGE_GREET, "Wh .. What? How did you get here? Where are all the guards? You .. you could have killed me but yet you chose to talk? What a relief! ... So what brings you here my friend, if I might call you like that? ") - elseif player:getStorageValue(Storage.InServiceofYalahar.MrWestDoor) == 2 then - npcHandler:setMessage(MESSAGE_GREET, "Murderer! But .. I give in, you won! ... Dictate me your conditions but please, I beg you, spare my life. What do you want?") + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestDoor) == 1 then + npcHandler:setMessage(MESSAGE_GREET, {"Wh .. What? How did you get here? Where are all the guards? You .. you could have killed me but yet you chose to talk? What a relief! ...", "So what brings you here my friend, if I might call you like that?"}) + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestDoor) == 2 then + npcHandler:setMessage(MESSAGE_GREET, {"Murderer! But .. I give in, you won!", "Dictate me your conditions but please, I beg you, spare my life. What do you want?"}) end return true end @@ -71,18 +71,18 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 24 then - if player:getStorageValue(Storage.InServiceofYalahar.MrWestDoor) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 24 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestDoor) == 1 then npcHandler:say("Indeed, I can see the benefits of a mutual agreement. I will later read the details and send a letter to your superior. ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 25) - player:setStorageValue(Storage.InServiceofYalahar.Mission04, 3) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" - player:setStorageValue(Storage.InServiceofYalahar.MrWestStatus, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 25) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission04, 3) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestStatus, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.MrWestDoor) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestDoor) == 2 then npcHandler:say("Yes, for the sake of my life I'll accept those terms. I know when I have lost. Tell your master I will comply with his orders. ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 25) - player:setStorageValue(Storage.InServiceofYalahar.Mission04, 4) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" - player:setStorageValue(Storage.InServiceofYalahar.MrWestStatus, 2) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 25) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission04, 4) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestStatus, 2) npcHandler:setTopic(playerId, 0) end end diff --git a/data-otservbr-global/npc/oliver.lua b/data-otservbr-global/npc/oliver.lua index 5cda196805f..193514c20ac 100644 --- a/data-otservbr-global/npc/oliver.lua +++ b/data-otservbr-global/npc/oliver.lua @@ -59,10 +59,10 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "report") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 8 or player:getStorageValue(Storage.InServiceofYalahar.Questline) == 12 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 8 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 12 then npcHandler:say("Nobody knows the trouble I've seen .. . ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, player:getStorageValue(Storage.InServiceofYalahar.Questline) + 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission02, player:getStorageValue(Storage.InServiceofYalahar.Mission02) + 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02) + 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "pass") then diff --git a/data-otservbr-global/npc/palimuth.lua b/data-otservbr-global/npc/palimuth.lua index 10b77930451..80a292828ca 100644 --- a/data-otservbr-global/npc/palimuth.lua +++ b/data-otservbr-global/npc/palimuth.lua @@ -58,27 +58,27 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if player:getStorageValue(Storage.InServiceofYalahar.Questline) < 1 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 3) + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) < 1 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 3) end - if MsgContains(message, "job") and not player:getStorageValue(Storage.InServiceofYalahar.Questline) == 54 then + if MsgContains(message, "job") and not player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 54 then npcHandler:say("I'm an Augur of the city of Yalahar. My special duty consists of coordinating the efforts to keep the city and its services running.", npc, creature) elseif MsgContains(message, "job") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 54 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 54 then npcHandler:say("Did you bring me the vampiric crest?", npc, creature) npcHandler:setTopic(playerId, 6) end elseif MsgContains(message, "mission") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 3 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 3 then npcHandler:say({ "You probably heard that we have numerous problems in different quarters of our city. Our forces are limited, so we really could need some help from outsiders. ...", "Would you like to assist us in re-establishing order in our city?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 4 then - player:setStorageValue(Storage.InServiceofYalahar.Mission01, 1) -- StorageValue for Questlog "Mission 01: Something Rotten" - player:setStorageValue(Storage.InServiceofYalahar.Questline, 5) + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 4 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01, 1) -- StorageValue for Questlog "Mission 01: Something Rotten" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 5) npcHandler:say({ "I hope your first mission will not scare you off. Even though, we cut off our sewer system from other parts of the city to prevent the worst, it still has deteriorated in the last decades. ...", "Certain parts of the controls are rusty and the drains are stuffed with garbage. Get yourself a crowbar, loosen the controls and clean the pipes from the garbage. ...", @@ -89,153 +89,159 @@ local function creatureSayCallback(npc, creature, type, message) player:addMapMark(Position(32842, 31250, 8), 4, "Sewer Problem 3") player:addMapMark(Position(32796, 31192, 8), 4, "Sewer Problem 4") npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 5 then npcHandler:say("So are you done with your work?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 6 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 6 then npcHandler:say({ "We are still present at each quarter's city wall, even though we can do little to stop the chaos from spreading. Still, our garrisons are necessary to maintain some sort of order in the city. ...", "My superiors ask for a first hand report about the current situation in the single city quarters. I need someone to travel to our garrisons to get the reports from the guards. Are you willing to do that?", }, npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) >= 7 and player:getStorageValue(Storage.InServiceofYalahar.Questline) <= 14 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) >= 7 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) <= 14 then npcHandler:say("Did you get all the reports my superiors asked for? ", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 15 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 15 then npcHandler:say({ "I did my best to impress my superiors with your accomplishments and it seems that it worked quite well. They want you for their own missions now. ...", "Missions that are more important than the ones you've fulfilled for me. However, before you leave, there are still some things I need to tell you. ...", "Listen, I can't explain you everything in detail right now and here. You never know who might be eavesdropping. ...", "I left some notes in the small room there. Get them and read them. Talk to me again when you've read the notes.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Mission03, 1) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" - player:setStorageValue(Storage.InServiceofYalahar.Questline, 16) - player:setStorageValue(Storage.InServiceofYalahar.NotesPalimuth, 0) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission03, 1) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 16) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.NotesPalimuth, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.NotesPalimuth) == 1 and player:getStorageValue(Storage.InServiceofYalahar.Questline) == 16 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.NotesPalimuth) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 16 then npcHandler:say({ "Now you know as much as we do about the things happening in Yalahar. It's up to you what you do with this information. ...", "Now leave and talk to my superior Azerus in the city centre to get your next mission. I urge you, though, to talk to me whenever he sends you on a new mission. ...", "I think it is important that you hear my opinion about them. Now hurry. I suppose Azerus is already waiting.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Mission03, 2) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" - player:setStorageValue(Storage.InServiceofYalahar.Questline, 17) - player:setStorageValue(Storage.InServiceofYalahar.DoorToAzerus, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission03, 2) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 17) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DoorToAzerus, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 20 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 20 then npcHandler:say({ "This quarter has been sealed off years ago. To send someone there poses a high risk to spread the plague. I assume these research notes you've mentioned must be very important. ...", "After all those years it is more than strange that someone shows interest in these notes now. Considering what has happened to the alchemists, it is rather unlikely that they contain harmless information. ...", "I fear these notes will be used to turn the plague into some kind of weapon. Someone with this plague at his disposal could subdue the whole city by blackmailing. ...", "I beg you to destroy these notes. Just put them into some burning oven to get rid of them and report that you did not find the notes.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 21) - player:setStorageValue(Storage.InServiceofYalahar.DoorToBog, 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission03, 5) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 21) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DoorToBog, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission03, 5) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 23 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 23 then npcHandler:say({ "Mr. West is a little paranoid. That's the reason for his immense private army of bodyguards. He could surely be helpful, especially as he rules over the former trade quarter. ...", "If you were able to reach him without killing his henchmen, you could probably convince him that you mean no harm to him. ...", "That would certainly cement our relationship without any needless bloodshed. Perhaps you could use the way through the sewers to avoid his men. ...", "Mr. West is not a bad man. We should be able to work out some plans to reconstruct the city's safety as soon as he overcomes his paranoia towards us.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 24) - player:setStorageValue(Storage.InServiceofYalahar.Mission04, 2) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 24) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission04, 2) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 25 and player:getStorageValue(Storage.InServiceofYalahar.MrWestStatus) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 25 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestStatus) == 1 then npcHandler:say({ "You did quite well in gaining a new friend who will work together with us. ...", "I'm sure he'll still try to gain some profit but that's still better than his former one-man rule during which he dictated his own laws.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.GoodSide, player:getStorageValue(Storage.InServiceofYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.GoodSide) + 1 or 0) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 26) - player:setStorageValue(Storage.InServiceofYalahar.Mission04, 5) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) + 1 or 0) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 26) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission04, 5) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 28 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 28 then npcHandler:say({ "Warbeasts? Is this true? People are already starving. ...", "How can we afford to feed an army of hungry beasts? They will not only strengthen the power of the Yalahari over the citizens, they also mean starvation and deathfor the poor. ...", "Instead of breeding warbeasts, this druid should breed cattle to feed our people. Please I beg you, convince him to do that!", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 29) - player:setStorageValue(Storage.InServiceofYalahar.TamerinStatus, 0) - player:setStorageValue(Storage.InServiceofYalahar.Mission05, 2) -- StorageValue for Questlog "Mission 05: Food or Fight" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 29) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TamerinStatus, 0) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission05, 2) -- StorageValue for Questlog "Mission 05: Food or Fight" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 32 and player:getStorageValue(Storage.InServiceofYalahar.TamerinStatus) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 32 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TamerinStatus) == 1 then npcHandler:say("These are great news indeed. The people of Yalahar will be grateful. The Yalahari probably not, so take care of yourself. ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.GoodSide, player:getStorageValue(Storage.InServiceofYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.GoodSide) + 1 or 0) -- Side Storage - player:setStorageValue(Storage.InServiceofYalahar.Questline, 33) - player:setStorageValue(Storage.InServiceofYalahar.Mission05, 8) -- StorageValue for Questlog "Mission 05: Food or Fight" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) + 1 or 0) -- Side Storage + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 33) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission05, 8) -- StorageValue for Questlog "Mission 05: Food or Fight" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 35 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 32 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TamerinStatus) == 2 then + npcHandler:say("Rumours travel fast in Yalahar. So the Yalahari will soon have some new toys at their disposal. I strongly doubt this has any positive effect.", npc, creature) + npcHandler:setTopic(playerId, 0) + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 35 then npcHandler:say({ "What a sick idea to misuse tortured souls to power some device! Though, this charm might be useful to free these poor souls. ...", "Please capture the souls as you have been instructed and then bring the charm to me. I will see to it that the souls are freed to go to the afterlife in peace.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 36) - player:setStorageValue(Storage.InServiceofYalahar.Mission06, 2) -- StorageValue for Questlog "Mission 06: Frightening Fuel" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 36) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission06, 2) -- StorageValue for Questlog "Mission 06: Frightening Fuel" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 37 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 37 then if player:removeItem(8827, 1) then npcHandler:say({ "I thank you also in the name of these poor lost souls. I will send the charm to a priest who is able to release them. ...", "Tell the Yalahari that the charm was destroyed by the energy it contained.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 38) - player:setStorageValue(Storage.InServiceofYalahar.Mission06, 4) -- StorageValue for Questlog "Mission 06: Frightening Fuel" - player:setStorageValue(Storage.InServiceofYalahar.QuaraState, 1) - player:setStorageValue(Storage.InServiceofYalahar.GoodSide, player:getStorageValue(Storage.InServiceofYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.GoodSide) + 1 or 0) -- Side Storage + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 38) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission06, 4) -- StorageValue for Questlog "Mission 06: Frightening Fuel" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraState, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) + 1 or 0) -- Side Storage npcHandler:setTopic(playerId, 0) end - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 40 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 40 then npcHandler:say({ "The quara are indeed a threat. Yet, they are numerous and reproduce quickly. Slaying some of them will only enrage them even more. ...", "The quara have been there for many generations. They have never threatened anyone who stayed out of their watery realm. ...", "It would be much more useful to find out what the quara are so upset about. Better avoid slaying their leaders as this will only further the animosities.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 41) - player:setStorageValue(Storage.InServiceofYalahar.DoorToQuara, 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission07, 2) -- StorageValue for Questlog "Mission 07: A Fishy Mission" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 41) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DoorToQuara, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission07, 2) -- StorageValue for Questlog "Mission 07: A Fishy Mission" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 42 and player:getStorageValue(Storage.InServiceofYalahar.QuaraState) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 42 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraState) == 1 then npcHandler:say("Oh no! So that's the reason for the quara attacks! I will do my best to close these sewage pipes. We will have to use other drains. ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 43) - player:setStorageValue(Storage.InServiceofYalahar.Mission07, 5) -- StorageValue for Questlog "Mission 07: A Fishy Mission" - player:setStorageValue(Storage.InServiceofYalahar.GoodSide, player:getStorageValue(Storage.InServiceofYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.GoodSide) + 1 or 0) -- Side Storage + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 43) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission07, 5) -- StorageValue for Questlog "Mission 07: A Fishy Mission" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) + 1 or 0) -- Side Storage npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 44 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 44 then npcHandler:say({ "The constant unrest in the city is to a great extent caused by the lack of food. Weapons will only serve to suppress the poor. ...", "The factory you were sent to was once used for the production of food. Somewhere in the factory you might find an old pattern crystal for the production of food. ...", "If you use it on the controls instead of the weapon pattern, you will ensure that our people are supplied with the desperately needed food. ...", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 45) - player:setStorageValue(Storage.InServiceofYalahar.DoorToMatrix, 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission08, 2) -- StorageValue for Questlog "Mission 08: Dangerous Machinations" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 45) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DoorToMatrix, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission08, 2) -- StorageValue for Questlog "Mission 08: Dangerous Machinations" + npcHandler:setTopic(playerId, 0) + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 46 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MatrixState) == 1 then + npcHandler:say("You can be proud of your decision, my friend.", npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 48 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 48 then npcHandler:say({ "Listen, I know you have worked for Azerus and his friends, but it is not too late to change your mind! I beg you to rethink your loyalties. ...", "The fate of the whole city might depend on your decision! Think about your options carefully.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 49) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 49) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 49 or player:getStorageValue(Storage.InServiceofYalahar.Questline) == 48 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 49 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 48 then npcHandler:say("So do you want to side with me? ", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 50 and player:getStorageValue(Storage.InServiceofYalahar.SideDecision) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 50 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SideDecision) == 1 then npcHandler:say({ "I cannot tell you how we acquired this information, but we have heard that a circle of Yalahari is planning some kind of ritual. ...", "They plan to create a portal for some powerful demons and to unleash them in the city to 'purge' it once and for all. ...", "I doubt those poor fools will be able to control such entities. I can't figure out how they came up with such an insane idea, but they have to be stopped. ...", "The entrance to their inner sanctum has been opened for you. Please hurry and stop them before it's too late. Be prepared for a HARD battle! Better gather some friends to assist you.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 51) - player:setStorageValue(Storage.InServiceofYalahar.DoorToLastFight, 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission10, 2) -- StorageValue for Questlog "Mission 10: The Final Battle" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 51) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DoorToLastFight, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission10, 2) -- StorageValue for Questlog "Mission 10: The Final Battle" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 52 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 52 then npcHandler:say({ "So the Yalahari that opposed us are dead or fled from the city. This should bring us more stability and perhaps a true chance to rebuild the city. ...", "Still, I wonder from where they gained some of the Yalahari secrets. Did they find some source of knowledge? ...", @@ -245,9 +251,9 @@ local function creatureSayCallback(npc, creature, type, message) "I allow you to enter the Yalaharian treasure room. I'm sure that you can put what you find inside to better use than them. Choose one chest, but think before takingone! ...", "Also, take this Yalaharian outfit. Depending on which side you chose previously, you can also acquire one specific addon. Thank you again for your help.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 53) - player:setStorageValue(Storage.InServiceofYalahar.DoorToReward, 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission10, 4) -- StorageValue for Questlog "Mission 10: The Final Battle" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 53) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DoorToReward, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission10, 4) -- StorageValue for Questlog "Mission 10: The Final Battle" player:addOutfit(324, 0) player:addOutfit(325, 0) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) @@ -255,7 +261,7 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 4) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 4) npcHandler:say({ "I'm pleased to hear that. Rarely we meet outsiders that care about our problems. Most people come here looking for wealth and luxury. ...", "However, I have to tell you that our ranking system is quite rigid. So, I'm not allowed to entrust you with important missions as long as you haven't proven yourself as reliable. ...", @@ -263,24 +269,24 @@ local function creatureSayCallback(npc, creature, type, message) }, npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then - if player:getStorageValue(Storage.InServiceofYalahar.SewerPipe01) == 1 and player:getStorageValue(Storage.InServiceofYalahar.SewerPipe02) == 1 and player:getStorageValue(Storage.InServiceofYalahar.SewerPipe03) == 1 and player:getStorageValue(Storage.InServiceofYalahar.SewerPipe04) == 1 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 6) - player:setStorageValue(Storage.InServiceofYalahar.Mission01, 6) -- StorageValue for Questlog "Mission 01: Something Rotten" + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe01) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe02) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe03) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe04) == 1 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 6) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01, 6) -- StorageValue for Questlog "Mission 01: Something Rotten" npcHandler:say("Thank you very much. You have no idea how hard it was to find someone volunteering for that job. If you feel ready for further {missions}, just tell me.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 3 then - player:setStorageValue(Storage.InServiceofYalahar.Mission02, 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" - player:setStorageValue(Storage.InServiceofYalahar.Questline, 7) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02, 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 7) npcHandler:say({ "You'll find our seven guards at the gates of each quarter. Just ask them for their report and they will tell you all you need to know.", "I must warn you, the quarters are in a horrible state. I strongly advise you to stay on the main roads whenever possible while you get those reports. ...", }, npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 4 then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 14 then - player:setStorageValue(Storage.InServiceofYalahar.Mission02, 8) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" - player:setStorageValue(Storage.InServiceofYalahar.Questline, 15) + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 14 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02, 8) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 15) npcHandler:say("Excellent! My superiors will be pleased to get these reports. I will for sure emphasise your efforts in this mission. Please come back soon to see if there are any more {missions} available for you. ", npc, creature) npcHandler:setTopic(playerId, 0) else @@ -288,18 +294,18 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 5 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 50) - player:setStorageValue(Storage.InServiceofYalahar.Mission09, 2) -- StorageValue for Questlog "Mission 09: Decision" - player:setStorageValue(Storage.InServiceofYalahar.Mission10, 1) -- StorageValue for Questlog "Mission 10: The Final Battle" - player:setStorageValue(Storage.InServiceofYalahar.SideDecision, 1) - npcHandler:say("I knew that you were smart enough to make the right decision! Your next mission will be a special one! ", npc, creature) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 50) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission09, 2) -- StorageValue for Questlog "Mission 09: Decision" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission10, 1) -- StorageValue for Questlog "Mission 10: The Final Battle" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SideDecision, 1) + npcHandler:say("You have no idea how much I hoped to hear that, my friend! But I have an urgent mission for you!", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then - if player:getItemCount(9041) > 0 and player:getStorageValue(Storage.InServiceofYalahar.Questline) == 54 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 55) + if player:getItemCount(9041) > 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 54 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 55) npcHandler:say("Great! Here, take this yalaharian addon in a return.", npc, creature) - player:addOutfitAddon(325, player:getStorageValue(Storage.InServiceofYalahar.SideDecision) == 1 and 1 or 2) - player:addOutfitAddon(324, player:getStorageValue(Storage.InServiceofYalahar.SideDecision) == 1 and 1 or 2) + player:addOutfitAddon(325, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SideDecision) == 1 and 1 or 2) + player:addOutfitAddon(324, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SideDecision) == 1 and 1 or 2) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) npcHandler:setTopic(playerId, 0) else diff --git a/data-otservbr-global/npc/peter.lua b/data-otservbr-global/npc/peter.lua index 851d085b90b..b815b67d1a8 100644 --- a/data-otservbr-global/npc/peter.lua +++ b/data-otservbr-global/npc/peter.lua @@ -59,14 +59,14 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "report") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 7 or player:getStorageValue(Storage.InServiceofYalahar.Questline) == 13 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 7 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 13 then npcHandler:say("A report? What do they think is happening here? . ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, player:getStorageValue(Storage.InServiceofYalahar.Questline) + 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission02, player:getStorageValue(Storage.InServiceofYalahar.Mission02) + 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02) + 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" npcHandler:setTopic(playerId, 0) end elseif table.contains({ "pass", "gate" }, message:lower()) then - npcHandler:say("Pass the gate? If it must be. Are you headed for the {factory} or the former {trade} quarter?", npc, creature) + npcHandler:say("Pass the gate? If it must be. Are you headed for the {factory} or the former {trade quarter}?", npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "factory") then if npcHandler:getTopic(playerId) == 1 then diff --git a/data-otservbr-global/npc/petros.lua b/data-otservbr-global/npc/petros.lua index 228a3d7e4cb..50e6c9f26bc 100644 --- a/data-otservbr-global/npc/petros.lua +++ b/data-otservbr-global/npc/petros.lua @@ -66,7 +66,7 @@ addTravelKeyword("port hope", 50, Position(32527, 32784, 6)) addTravelKeyword("liberty bay", 140, Position(32285, 32892, 6)) addTravelKeyword("ankrahmun", 150, Position(33092, 32883, 6)) addTravelKeyword("yalahar", 210, Position(32816, 31272, 6), function(player) - return player:getStorageValue(Storage.SearoutesAroundYalahar.Darashia) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 + return player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Darashia) ~= 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter) < 5 end) addTravelKeyword("gray island", 160, Position(33196, 31984, 7)) addTravelKeyword("krailos", 200, Position(33493, 31712, 6)) diff --git a/data-otservbr-global/npc/reed.lua b/data-otservbr-global/npc/reed.lua index 08f70a744bf..7e1ca73c331 100644 --- a/data-otservbr-global/npc/reed.lua +++ b/data-otservbr-global/npc/reed.lua @@ -59,10 +59,10 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "report") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 10 or player:getStorageValue(Storage.InServiceofYalahar.Questline) == 11 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 10 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 11 then npcHandler:say("You have NO idea what we have to endure each day .. . ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, player:getStorageValue(Storage.InServiceofYalahar.Questline) + 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission02, player:getStorageValue(Storage.InServiceofYalahar.Mission02) + 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02) + 1) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "pass") then diff --git a/data-otservbr-global/npc/siflind.lua b/data-otservbr-global/npc/siflind.lua index 3f25ac11bfb..fc4fc111da8 100644 --- a/data-otservbr-global/npc/siflind.lua +++ b/data-otservbr-global/npc/siflind.lua @@ -192,7 +192,7 @@ local function creatureSayCallback(npc, creature, type, message) end end if MsgContains(message, "buy animal cure") or MsgContains(message, "animal cure") then -- animal cure for in service of yalahar - if player:getStorageValue(Storage.InServiceofYalahar.Questline) >= 30 and player:getStorageValue(Storage.InServiceofYalahar.Questline) <= 54 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) >= 30 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) <= 54 then npcHandler:say("You want to buy animal cure for 400 gold coins?", npc, creature) npcHandler:setTopic(playerId, 13) else diff --git a/data-otservbr-global/npc/tamerin.lua b/data-otservbr-global/npc/tamerin.lua index 83bef272577..3f64fce0eb3 100644 --- a/data-otservbr-global/npc/tamerin.lua +++ b/data-otservbr-global/npc/tamerin.lua @@ -54,9 +54,9 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 30 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 30 then npcHandler:setMessage(MESSAGE_GREET, "Have you the {animal cure}?") - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 31 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 31 then npcHandler:setMessage(MESSAGE_GREET, "Have you killed {morik}?") else npcHandler:setMessage(MESSAGE_GREET, "Hello, what brings you here?") @@ -73,21 +73,21 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 29 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 29 then npcHandler:say({ "Why should I do something for another human being? I have been on my own for all those years. Hmm, but actually there is something I could need some assistance with. ... ", "If you help me to solve my problems, I will help you with your mission. Do you accept?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 32 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 32 then npcHandler:say("You have kept your promise. Now, it's time to fulfil my part of the bargain. What kind of animals shall I raise? {Warbeasts} or {cattle}?", npc, creature) npcHandler:setTopic(playerId, 2) end elseif MsgContains(message, "animal cure") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 30 and player:removeItem(8819, 1) then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 31) - player:setStorageValue(Storage.InServiceofYalahar.MorikSummon, 0) - player:setStorageValue(Storage.InServiceofYalahar.Mission05, 4) -- StorageValue for Questlog "Mission 05: Food or Fight" + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 30 and player:removeItem(8819, 1) then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 31) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MorikSummon, 0) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission05, 4) -- StorageValue for Questlog "Mission 05: Food or Fight" npcHandler:say("Thank you very much. As I said, as soon as you have helped me to solve both of my problems, we will talk about your mission. Have you killed {morik}?", npc, creature) npcHandler:setTopic(playerId, 0) else @@ -95,22 +95,22 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, "cattle") then if npcHandler:getTopic(playerId) == 2 then - player:setStorageValue(Storage.InServiceofYalahar.TamerinStatus, 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission05, 6) -- StorageValue for Questlog "Mission 05: Food or Fight" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TamerinStatus, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission05, 6) -- StorageValue for Questlog "Mission 05: Food or Fight" npcHandler:say("So be it!", npc, creature) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "warbeast") then if npcHandler:getTopic(playerId) == 2 then - player:setStorageValue(Storage.InServiceofYalahar.TamerinStatus, 2) - player:setStorageValue(Storage.InServiceofYalahar.Mission05, 7) -- StorageValue for Questlog "Mission 05: Food or Fight" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TamerinStatus, 2) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission05, 7) -- StorageValue for Questlog "Mission 05: Food or Fight" npcHandler:say("So be it!", npc, creature) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "morik") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 31 and player:removeItem(8820, 1) then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 32) - player:setStorageValue(Storage.InServiceofYalahar.Mission05, 5) -- StorageValue for Questlog "Mission 05: Food or Fight" + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 31 and player:removeItem(8820, 1) then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 32) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission05, 5) -- StorageValue for Questlog "Mission 05: Food or Fight" npcHandler:say("So he finally got what he deserved. As I said, as soon as you have helped me to solve both of my problems, we will talk about your {mission}.", npc, creature) npcHandler:setTopic(playerId, 0) else @@ -118,8 +118,8 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 30) - player:setStorageValue(Storage.InServiceofYalahar.Mission05, 3) -- StorageValue for Questlog "Mission 05: Food or Fight" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 30) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission05, 3) -- StorageValue for Questlog "Mission 05: Food or Fight" npcHandler:say("I ask you for two things! For one thing, I need an animal cure and for another thing, I ask you to get rid of the gladiator Morik for me.", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/timothy.lua b/data-otservbr-global/npc/timothy.lua index 601043bebf3..6da55c31e57 100644 --- a/data-otservbr-global/npc/timothy.lua +++ b/data-otservbr-global/npc/timothy.lua @@ -59,7 +59,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "research notes") then - if player:getStorageValue(Storage.TheWayToYalahar.QuestLine) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TheWayToYalahar) == 1 then npcHandler:say({ "Oh, you are the contact person of the academy? Here are the notes that contain everything I have found out so far. ...", "This city is absolutely fascinating, I tell you! If there hadn't been all this trouble and chaos in the past, this city would certainly be the greatest centre of knowledge in the world. ...", @@ -70,7 +70,7 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.TheWayToYalahar.QuestLine, 2) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TheWayToYalahar, 2) npcHandler:say("Excellent! You will find Palimuth near the entrance of the city centre. Just ask him if you can assist him in a few missions.", npc, creature) player:addItem(9171, 1) npcHandler:setTopic(playerId, 0) @@ -79,6 +79,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "Oh, hello! It's a pleasure to see a visitor from the continent.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/tony.lua b/data-otservbr-global/npc/tony.lua index c35b9288494..991182d2b8e 100644 --- a/data-otservbr-global/npc/tony.lua +++ b/data-otservbr-global/npc/tony.lua @@ -59,10 +59,10 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "report") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 7 or player:getStorageValue(Storage.InServiceofYalahar.Questline) == 13 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 7 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 13 then npcHandler:say("Uhm, report, eh? . ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, math.max(1, player:getStorageValue(Storage.InServiceofYalahar.Questline) + 1)) - player:setStorageValue(Storage.InServiceofYalahar.Mission02, math.max(1, player:getStorageValue(Storage.InServiceofYalahar.Mission02) + 1)) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, math.max(1, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) + 1)) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02, math.max(1, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission02) + 1)) -- StorageValue for Questlog "Mission 02: Watching the Watchmen" npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "pass") then diff --git a/data-otservbr-global/npc/wyrdin.lua b/data-otservbr-global/npc/wyrdin.lua index 6e66b007db7..a79e90f7e38 100644 --- a/data-otservbr-global/npc/wyrdin.lua +++ b/data-otservbr-global/npc/wyrdin.lua @@ -77,7 +77,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.TheWayToYalahar.QuestLine) < 1 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.JoiningTheExplorers) >= 4 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) >= 4 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TheWayToYalahar) < 1 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) >= 5 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.JoiningTheExplorers) >= 5 then npcHandler:say({ "There is indeed something that needs our attention. In the far north, a new city named Yalahar was discovered. It seems to be incredibly huge. ...", "According to travelers, it's a city of glory and wonders. We need to learn as much as we can about this city and its inhabitants. ...", @@ -85,16 +85,18 @@ local function creatureSayCallback(npc, creature, type, message) "Please look for the explorer's society's captain Maximilian in Liberty Bay. Ask him for a passage to Yalahar. There visit Timothy of the explorer's society and get his research notes. ...", "It might be a good idea to explore the city a bit on your own before you deliver the notes here, but please make sure you don't lose them.", }, npc, creature) - player:setStorageValue(Storage.TheWayToYalahar.QuestLine, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TheWayToYalahar, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.TheWayToYalahar.QuestLine) == 2 then - npcHandler:say("Did you bring the papers I asked you for?", npc, creature) + end + elseif MsgContains(message, "research") or MsgContains(message, "notes") then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TheWayToYalahar) == 2 then + npcHandler:say("Do you have the papers I asked you for with you?", npc, creature) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then if player:removeItem(9171, 1) then - player:setStorageValue(Storage.TheWayToYalahar.QuestLine, 3) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TheWayToYalahar, 3) npcHandler:say("Oh marvellous, please excuse me. I need to read this text immediately. Here, take this small reward of 500 gold pieces for your efforts.", npc, creature) player:addMoney(500) npcHandler:setTopic(playerId, 0) @@ -150,6 +152,7 @@ local function creatureSayCallback(npc, creature, type, message) end npcHandler:setMessage(MESSAGE_GREET, "Hello, what brings you here?") +npcHandler:setMessage(MESSAGE_FAREWELL, "Good luck for your travels, |PLAYERNAME|.") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/yalahari.lua b/data-otservbr-global/npc/yalahari.lua index b679064fb77..d3efc38572b 100644 --- a/data-otservbr-global/npc/yalahari.lua +++ b/data-otservbr-global/npc/yalahari.lua @@ -59,24 +59,24 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 17 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 17 then npcHandler:say({ "With all the coming and going of strangers here, it would be quite tedious to explain everything again and again. So we have written a manifesto. ...", "Grab a copy from the room behind me. Let's talk about your further career in our ranks once you've read it.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 18) - player:setStorageValue(Storage.InServiceofYalahar.Mission03, 3) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" - player:setStorageValue(Storage.InServiceofYalahar.NotesAzerus, 0) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 18) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission03, 3) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.NotesAzerus, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.NotesAzerus) == 1 and player:getStorageValue(Storage.InServiceofYalahar.Questline) == 18 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.NotesAzerus) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 18 then npcHandler:say({ "I'm mildly impressed by your previous deeds in our service. So I'm willing to grant you some more important {missions}. ...", "If you please us, a life of luxury as an important person in our city is ensured. If you fail, you will be replaced by someone more capable than you. ...", "So if you are up for a challenge, ask me for a {mission}.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 19) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 19) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 19 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 19 then npcHandler:say({ "The former alchemist quarter was struck by even more disasters than the rest of the city. Fires, explosions, poisonous fumes - all sorts of catastrophes. ...", "The worst plague, however, are unknown diseases that have spread in this quarter and eradicated any human population. We must stop it before other quarters areafflicted. We already identified certain carriers responsible for spreading the plague. ...", @@ -85,41 +85,41 @@ local function creatureSayCallback(npc, creature, type, message) "At least we have to make sure that these scientists did not die in vain, and honour their researches. So please bring us these research notes. ...", "Also, I will inform the guards that you are allowed to pass the centre gate to the alchemist quarter. Just use the gate mechanism to pass.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 20) - player:setStorageValue(Storage.InServiceofYalahar.Mission03, 4) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 20) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission03, 4) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 21 and player:getStorageValue(Storage.InServiceofYalahar.AlchemistFormula) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 21 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.AlchemistFormula) == 1 then npcHandler:say("So you have killed the plague carriers. Have you also retrieved the research papers? ", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 22 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 22 then npcHandler:say({ "We surely cannot allow some underworld kingpin to rule a significant part of the city. Although, I have to admit that his firm grip on the former trade quarter might be useful....", "I expect you to fight your way through his minions and to show him that we are determined and powerful enough to retake the quarter, if necessary by force. Talk to himafter killing some of his henchmen. ...", "I'm sure he'll understand that he will succumb to a greater power. That's how his little empire has worked after all. ...", "Also, I will inform the guards that you are allowed to pass the centre gate to the trade quarter now. Just use the gate mechanism to pass.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 23) - player:setStorageValue(Storage.InServiceofYalahar.Mission04, 1) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 23) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission04, 1) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 26 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 26 then npcHandler:say({ "So he has been too uncooperative for you? Well, you weren't the first we have sent and you won't be the last. ...", "However, if you cannot even serve us as a bully, we might have to rethink if you are the right person for us. That was a bad job and we don't tolerate many of them.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 27) - player:setStorageValue(Storage.InServiceofYalahar.Mission04, 6) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 27) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission04, 6) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 25 and player:getStorageValue(Storage.InServiceofYalahar.MrWestStatus) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 25 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestStatus) == 2 then npcHandler:say({ "I hope you gave this criminal a real scare! I'm sure he'll remember what he has to expect if he arouses our anger again. ...", "You have proven yourself as quite valuable with this mission! That was just the first step on your rise through the ranks of our helpers. ...", "Just ask me for more missions and we will see what you are capable of!", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.BadSide, player:getStorageValue(Storage.InServiceofYalahar.BadSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.BadSide) + 1 or 0) -- Side Storage - player:setStorageValue(Storage.InServiceofYalahar.Questline, 27) - player:setStorageValue(Storage.InServiceofYalahar.Mission04, 6) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) + 1 or 0) -- Side Storage + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 27) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission04, 6) -- StorageValue for Questlog "Mission 04: Good to be Kingpin" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 27 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 27 then npcHandler:say({ "As you probably noticed, once our city had a park and a zoo around a grand arena. It was a favourite pastime of our citizens to visit this quarter in their spare time. ...", "Nowadays, the quarter is lost. The animals are on the loose, and an attempt to revitalise the city with new arena games resulted in a revolt of the foreign gladiators. ...", @@ -128,26 +128,26 @@ local function creatureSayCallback(npc, creature, type, message) "We lack the manpower to retake all quarters, or just to defend ourselves adequately. If he bred us some guards and warbeasts, we could strengthen our positionconsiderably. ...", "Travel to the arena quarter and gain his assistance for us. I will inform the guards that you are allowed to pass the centre gate to the arena quarter now. Just use thegate mechanism to pass.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 28) - player:setStorageValue(Storage.InServiceofYalahar.Mission05, 1) -- StorageValue for Questlog "Mission 05: Food or Fight" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 28) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission05, 1) -- StorageValue for Questlog "Mission 05: Food or Fight" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 33 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 33 then npcHandler:say({ "This druid dares to affront us? We will look into this when we have enough time. But there are other things that needs to be settled. ...", "Although, we probably should not do so after your last failure, we are willing to grant you another mission.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 34) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 34) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 32 and player:getStorageValue(Storage.InServiceofYalahar.TamerinStatus) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 32 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.TamerinStatus) == 2 then npcHandler:say({ "So have you won us a new ally? Excellent. I knew you would not dare to ruin this mission. Soon we might be able to strengthen our defences and even relocate some of our guards. ...", "Perhaps some day soon, you lead your own unit of men. However, there are more missions that need to be accomplished. Let's talk about them.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.BadSide, player:getStorageValue(Storage.InServiceofYalahar.BadSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.BadSide) + 1 or 0) -- Side Storage - player:setStorageValue(Storage.InServiceofYalahar.Questline, 34) - player:setStorageValue(Storage.InServiceofYalahar.Mission05, 8) -- StorageValue for Questlog "Mission 05: Food or Fight" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) + 1 or 0) -- Side Storage + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 34) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission05, 8) -- StorageValue for Questlog "Mission 05: Food or Fight" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 34 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 34 then npcHandler:say({ "The old cemetery of the city has been abandoned decades ago when the activity of the various undead there became unbearable. The reason for their appearance was never found out or researched. ...", "However, those undead could be useful, at least some of them. Particular ghosts consist of a substance that is very similar to the energy source that powered some of our devices. ...", @@ -155,93 +155,93 @@ local function creatureSayCallback(npc, creature, type, message) "Use it to attract ghosts and slay them. Then use the residues of the ghosts on the charm to capture the essence. ...", "Once it is filled, ghosts will not be attracted any longer. Then return the charm to me. I will inform the guards that you are allowed to pass the centre gate to the cemetery quarter now. Just use the gate mechanism to pass.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 35) - player:setStorageValue(Storage.InServiceofYalahar.Mission06, 1) -- StorageValue for Questlog "Mission 06: Frightening Fuel" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 35) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission06, 1) -- StorageValue for Questlog "Mission 06: Frightening Fuel" player:addItem(8822, 1) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 38 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 38 then npcHandler:say({ "Destroyed you say? That's impossible! I'm not sure if I can trust you in this matter? One might assume, you fled from the ghosts in terror and left the charm there. ...", "You will have to work twice as hard on your next missions to restore the trust you have lost.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 39) - player:setStorageValue(Storage.InServiceofYalahar.Mission06, 5) -- StorageValue for Questlog "Mission 06: Frightening Fuel" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 39) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission06, 5) -- StorageValue for Questlog "Mission 06: Frightening Fuel" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 37 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 37 then if player:removeItem(8827, 1) then npcHandler:say({ "Ah, what an unexpected sight. I can almost feel the energy of the charm. It will help to recover some of the past wealth. ...", "You did quite an impressive job. I'm considering to introduce you to my ma.. to my direct superior one day. But there are still other missions to fulfil.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 39) - player:setStorageValue(Storage.InServiceofYalahar.Mission06, 5) -- StorageValue for Questlog "Mission 06: Frightening Fuel" - player:setStorageValue(Storage.InServiceofYalahar.QuaraState, 2) - player:setStorageValue(Storage.InServiceofYalahar.BadSide, player:getStorageValue(Storage.InServiceofYalahar.BadSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.BadSide) + 1 or 0) -- Side Storage + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 39) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission06, 5) -- StorageValue for Questlog "Mission 06: Frightening Fuel" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraState, 2) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) + 1 or 0) -- Side Storage npcHandler:setTopic(playerId, 0) end - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 39 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 39 then npcHandler:say({ "Recently, our fishermen have been attacked by a maritime race called the quara. They live in the sunken quarter and are a significant threat to our people. I ask you to enter the sunken quarter and slay all their leaders. ...", "We believe that there are three leaders in this area. Your task is simple enough, so you better don't fail! ...", "I will inform the guards that you are allowed to pass the centre gate to the sunken quarter now. Just use the gate mechanism to pass.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 40) - player:setStorageValue(Storage.InServiceofYalahar.Mission07, 1) -- StorageValue for Questlog "Mission 07: A Fishy Mission" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 40) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission07, 1) -- StorageValue for Questlog "Mission 07: A Fishy Mission" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 41 and player:getStorageValue(Storage.InServiceofYalahar.QuaraInky) == 1 and player:getStorageValue(Storage.InServiceofYalahar.QuaraSharptooth) == 1 and player:getStorageValue(Storage.InServiceofYalahar.QuaraSplasher) == 1 and player:getStorageValue(Storage.InServiceofYalahar.QuaraState) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 41 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraInky) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraSharptooth) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraSplasher) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraState) == 2 then npcHandler:say("This will teach these fishmen who is the ruler of that area. You have earned yourself a special privilege. But we will talk about that when we speak about your next mission. ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 43) - player:setStorageValue(Storage.InServiceofYalahar.Mission07, 5) -- StorageValue for Questlog "Mission 07: A Fishy Mission" - player:setStorageValue(Storage.InServiceofYalahar.BadSide, player:getStorageValue(Storage.InServiceofYalahar.BadSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.BadSide) + 1 or 0) -- Side Storage + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 43) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission07, 5) -- StorageValue for Questlog "Mission 07: A Fishy Mission" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) + 1 or 0) -- Side Storage npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 43 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 43 then npcHandler:say({ "In the past, we had many magical factories providing the citizens with everything they needed. Now that most of these factories are shut down, we have trouble getting enough supplies. ...", "We need you to enter one of the lesser damaged factories. Go to the factory district and look for a pattern crystal used for weapon production. Use it on the factory controller. ...", "It will ensure that the factory will provide us with a suitable amount of weapons which we dearly need to reclaim and secure the most dangerous parts of the city. ...", "I will inform the guards that you are allowed to pass the centre gate to the factory quarter now. Just use the gate mechanism to pass.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 44) - player:setStorageValue(Storage.InServiceofYalahar.Mission08, 1) -- StorageValue for Questlog "Mission 08: Dangerous Machinations" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 44) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission08, 1) -- StorageValue for Questlog "Mission 08: Dangerous Machinations" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 46 then - if player:getStorageValue(Storage.InServiceofYalahar.MatrixState) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 46 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MatrixState) == 1 then npcHandler:say("Your failure is an outrage! I think we have to talk about the missions you have accomplished so far. ", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.GoodSide, player:getStorageValue(Storage.InServiceofYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.GoodSide) + 1 or 0) -- Side Storage - elseif player:getStorageValue(Storage.InServiceofYalahar.MatrixState) == 2 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) + 1 or 0) -- Side Storage + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MatrixState) == 2 then npcHandler:say("Now we will have power we truly deserve!...", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.BadSide, player:getStorageValue(Storage.InServiceofYalahar.BadSide) >= 0 and player:getStorageValue(Storage.InServiceofYalahar.BadSide) + 1 or 0) -- Side Storage + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) >= 0 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide) + 1 or 0) -- Side Storage end - player:setStorageValue(Storage.InServiceofYalahar.Questline, 47) - player:setStorageValue(Storage.InServiceofYalahar.Mission08, 4) -- StorageValue for Questlog "Mission 08: Dangerous Machinations" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 47) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission08, 4) -- StorageValue for Questlog "Mission 08: Dangerous Machinations" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 47 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 47 then npcHandler:say({ "I'm impressed by your support for our cause. Still, I'm aware that this scheming Palimuth tried to influence you. Think about who are your real friends and who can assist you in your career. ...", "Come back if you have decided to which side you want to belong.", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 48) - player:setStorageValue(Storage.InServiceofYalahar.Mission09, 1) -- StorageValue for Questlog "Mission 09: Decision" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 48) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission09, 1) -- StorageValue for Questlog "Mission 09: Decision" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 49 or player:getStorageValue(Storage.InServiceofYalahar.Questline) == 48 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 49 or player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 48 then npcHandler:say("So do you want to side with me |PLAYERNAME|? ", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 50 and player:getStorageValue(Storage.InServiceofYalahar.SideDecision) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 50 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SideDecision) == 2 then npcHandler:say({ "For your noble deeds, we would like to invite you to a special celebration ceremony. ...", "Only the most prominent Yalahari are allowed to join the festivities. I assume you can imagine what honour it is that you'vebeen invited to join us. Meet us in the inner city's centre. ...", "As our most trusted ally, you may pass all doors to reach the festivity hall. There you will receive your reward for the achievements you have gained so far. ...", "I'm convinced your reward will be beyond your wildest dreams. And that is just the beginning!", }, npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 51) - player:setStorageValue(Storage.InServiceofYalahar.DoorToLastFight, 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission10, 2) -- StorageValue for Questlog "Mission 10: The Final Battle" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 51) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DoorToLastFight, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission10, 2) -- StorageValue for Questlog "Mission 10: The Final Battle" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.InServiceofYalahar.Questline) == 52 and player:getStorageValue(Storage.InServiceofYalahar.SideDecision) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 52 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SideDecision) == 2 then npcHandler:say("Great work, take this outfit and you are able to open the door to the reward room.", npc, creature) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 53) - player:setStorageValue(Storage.InServiceofYalahar.DoorToReward, 1) - player:setStorageValue(Storage.InServiceofYalahar.Mission10, 4) -- StorageValue for Questlog "Mission 10: The Final Battle" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 53) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DoorToReward, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission10, 4) -- StorageValue for Questlog "Mission 10: The Final Battle" player:addOutfit(324, 0) player:addOutfit(325, 0) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) @@ -250,24 +250,24 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then if player:removeItem(8818, 1) then - player:setStorageValue(Storage.InServiceofYalahar.BadSide, 1) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 22) - player:setStorageValue(Storage.InServiceofYalahar.Mission03, 6) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.BadSide, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 22) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission03, 6) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" npcHandler:say("Impressive indeed! Someone with your skills will quickly raise in our ranks of helpers. You have great potential, and if you are upfor further missions, just ask for them. ", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 2 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 50) - player:setStorageValue(Storage.InServiceofYalahar.SideDecision, 2) - player:setStorageValue(Storage.InServiceofYalahar.Mission09, 2) -- StorageValue for Questlog "Mission 09: Decision" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 50) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SideDecision, 2) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission09, 2) -- StorageValue for Questlog "Mission 09: Decision" npcHandler:say("I knew that you were smart enough to make the right decision! Your next mission will be a special one! ", npc, creature) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "no") then - if npcHandler:getTopic(playerId) == 1 and player:getStorageValue(Storage.InServiceofYalahar.GoodSide) == 0 then - player:setStorageValue(Storage.InServiceofYalahar.GoodSide, 1) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 22) - player:setStorageValue(Storage.InServiceofYalahar.Mission03, 6) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" + if npcHandler:getTopic(playerId) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide) == 0 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 22) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission03, 6) -- StorageValue for Questlog "Mission 03: Death to the Deathbringer" npcHandler:say({ "Hm, no sign of any notes you say? That's odd - odd and a bit suspicious. I doubt you have tried hard enough. ...", "There are only a few chances to impress us. For those who please us great rewards are in store. If you fail though, you might lose more than you can imagine.", diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua index 2ae9b800d2c..9c537136afd 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua @@ -45,13 +45,13 @@ local config = { items = { { itemId = 8829 }, }, - storage = Storage.InServiceofYalahar.MatrixReward, + storage = Storage.Quest.U8_4.InServiceOfYalahar.MatrixReward, }, [3085] = { items = { { itemId = 8828 }, }, - storage = Storage.InServiceofYalahar.MatrixReward, + storage = Storage.Quest.U8_4.InServiceOfYalahar.MatrixReward, }, [3112] = { items = { @@ -209,7 +209,7 @@ So they decided to recruit Augur on their own. This way most of our forefathers name = "History of the Augur, Part I", }, }, - storage = Storage.InServiceofYalahar.NotesPalimuth, + storage = Storage.Quest.U8_4.InServiceOfYalahar.NotesPalimuth, formerValue = 0, newValue = 1, }, @@ -240,7 +240,7 @@ To some extent, we have to work like a gardener. The rotten parts have to be cut name = "Manifest of the Yalahari, Part I", }, }, - storage = Storage.InServiceofYalahar.NotesAzerus, + storage = Storage.Quest.U8_4.InServiceOfYalahar.NotesAzerus, formerValue = 0, newValue = 1, }, @@ -248,7 +248,7 @@ To some extent, we have to work like a gardener. The rotten parts have to be cut items = { { itemId = 8818 }, }, - storage = Storage.InServiceofYalahar.AlchemistFormula, + storage = Storage.Quest.U8_4.InServiceOfYalahar.AlchemistFormula, formerValue = 0, newValue = 1, }, diff --git a/data-otservbr-global/scripts/actions/tools/crowbar.lua b/data-otservbr-global/scripts/actions/tools/crowbar.lua deleted file mode 100644 index 0981bd61d24..00000000000 --- a/data-otservbr-global/scripts/actions/tools/crowbar.lua +++ /dev/null @@ -1,39 +0,0 @@ -local function the_ape_city(player, item, target, toPosition) - if target:getActionId() == 40041 and target:getId() == 4848 then - local storageValue = player:getStorageValue(Storage.Quest.U7_6.TheApeCity.Casks) - if storageValue < 0 then - storageValue = 0 - end - - if storageValue >= 3 then - return true - end - - player:setStorageValue(Storage.Quest.U7_6.TheApeCity.Casks, storageValue + 1) - - return true - end - return false -end - -local crowbarActions = { - the_ape_city = the_ape_city, -} - -local function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) - for actionName, actionFunction in pairs(crowbarActions) do - if actionFunction(player, item, target, toPosition) then - return true - end - end - return true -end - -local crowbar = Action() - -function crowbar.onUse(player, item, fromPosition, target, toPosition, isHotkey) - return onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) -end - -crowbar:id(3304) -crowbar:register() diff --git a/data-otservbr-global/scripts/actions/tools/pick.lua b/data-otservbr-global/scripts/actions/tools/pick.lua deleted file mode 100644 index 2cb5a9a1ec8..00000000000 --- a/data-otservbr-global/scripts/actions/tools/pick.lua +++ /dev/null @@ -1,40 +0,0 @@ -local pick = Action() - -local function revertItem(position, itemId, transformId) - local item = Tile(position):getItemById(itemId) - if item then - item:transform(transformId) - end -end - -function pick.onUse(player, item, fromPosition, target, toPosition, isHotkey) - -- Ice Islands Quest, Nibelor 1: Breaking the Ice - if target:getActionId() == 60000 then - local missionProgress, pickAmount = player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline), player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02) - if missionProgress < 1 or pickAmount >= 4 then - return false - end - - player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02, math.max(0, pickAmount) + 1) - - if player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02) == 4 then - player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 4) - end - - local crackItem = Tile(toPosition):getItemById(7185) - if crackItem then - crackItem:transform(7186) - addEvent(revertItem, 60 * 1000, toPosition, 7186, 7185) - end - - local chakoyas = { "Chakoya Toolshaper", "Chakoya Tribewarden", "Chakoya Windcaller" } - Game.createMonster(chakoyas[math.random(#chakoyas)], toPosition) - toPosition:sendMagicEffect(CONST_ME_TELEPORT) - return true - end - - return onUsePick(player, item, fromPosition, target, toPosition, isHotkey) -end - -pick:id(3456) -pick:register() diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 9fafccdadf2..3330ac04785 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -22,43 +22,43 @@ local questTable = { { storage = Storage.DangerousDepths.Dwarves.Status, storageValue = 10 }, { storage = Storage.DangerousDepths.Scouts.Status, storageValue = 10 }, { storage = Storage.DangerousDepths.Gnomes.Status, storageValue = 10 }, - { storage = Storage.InServiceofYalahar.Questline, storageValue = 51 }, - { storage = Storage.InServiceofYalahar.Mission01, storageValue = 6 }, - { storage = Storage.InServiceofYalahar.Mission02, storageValue = 8 }, - { storage = Storage.InServiceofYalahar.Mission03, storageValue = 6 }, - { storage = Storage.InServiceofYalahar.Mission04, storageValue = 6 }, - { storage = Storage.InServiceofYalahar.Mission05, storageValue = 8 }, - { storage = Storage.InServiceofYalahar.Mission06, storageValue = 5 }, - { storage = Storage.InServiceofYalahar.Mission07, storageValue = 5 }, - { storage = Storage.InServiceofYalahar.Mission08, storageValue = 4 }, - { storage = Storage.InServiceofYalahar.Mission09, storageValue = 2 }, - { storage = Storage.InServiceofYalahar.Mission10, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.SewerPipe01, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.SewerPipe02, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.SewerPipe03, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.SewerPipe04, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.DiseasedDan, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.DiseasedBill, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.DiseasedFred, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.AlchemistFormula, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.BadSide, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.GoodSide, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.MrWestDoor, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.MrWestStatus, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.TamerinStatus, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.MorikSummon, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.QuaraState, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.QuaraSplasher, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.QuaraSharptooth, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.QuaraInky, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.MatrixState, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.NotesPalimuth, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.NotesAzerus, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.DoorToAzerus, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.DoorToBog, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.DoorToLastFight, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.DoorToMatrix, storageValue = 1 }, - { storage = Storage.InServiceofYalahar.DoorToQuara, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Questline, storageValue = 51 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission01, storageValue = 6 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission02, storageValue = 8 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission03, storageValue = 6 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission04, storageValue = 6 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission05, storageValue = 8 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission06, storageValue = 5 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission07, storageValue = 5 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission08, storageValue = 4 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission09, storageValue = 2 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.Mission10, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe01, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe02, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe03, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe04, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.DiseasedDan, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.DiseasedBill, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.DiseasedFred, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.AlchemistFormula, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.BadSide, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.GoodSide, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.MrWestDoor, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.MrWestStatus, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.TamerinStatus, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.MorikSummon, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.QuaraState, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.QuaraSplasher, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.QuaraSharptooth, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.QuaraInky, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.MatrixState, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.NotesPalimuth, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.NotesAzerus, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.DoorToAzerus, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.DoorToBog, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.DoorToLastFight, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.DoorToMatrix, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.DoorToQuara, storageValue = 1 }, { storage = Storage.CultsOfTibia.Questline, storageValue = 7 }, { storage = Storage.CultsOfTibia.Minotaurs.JamesfrancisTask, storageValue = 1 }, { storage = Storage.CultsOfTibia.Minotaurs.Mission, storageValue = 1 }, @@ -147,16 +147,16 @@ local questTable = { { storage = Storage.Quest.U7_4.DjinnWar.MaridFaction.Mission02, storageValue = 2 }, { storage = Storage.Quest.U7_4.DjinnWar.MaridFaction.RataMari, storageValue = 2 }, { storage = Storage.Quest.U7_4.DjinnWar.MaridFaction.Mission03, storageValue = 3 }, - { storage = Storage.TheWayToYalahar.QuestLine, storageValue = 1 }, - { storage = Storage.SearoutesAroundYalahar.TownsCounter, storageValue = 5 }, - { storage = Storage.SearoutesAroundYalahar.AbDendriel, storageValue = 1 }, - { storage = Storage.SearoutesAroundYalahar.Darashia, storageValue = 1 }, - { storage = Storage.SearoutesAroundYalahar.Venore, storageValue = 1 }, - { storage = Storage.SearoutesAroundYalahar.Ankrahmun, storageValue = 1 }, - { storage = Storage.SearoutesAroundYalahar.PortHope, storageValue = 1 }, - { storage = Storage.SearoutesAroundYalahar.Thais, storageValue = 1 }, - { storage = Storage.SearoutesAroundYalahar.LibertyBay, storageValue = 1 }, - { storage = Storage.SearoutesAroundYalahar.Carlin, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.TheWayToYalahar, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.TownsCounter, storageValue = 5 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.AbDendriel, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Darashia, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Venore, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Ankrahmun, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.PortHope, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Thais, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.LibertyBay, storageValue = 1 }, + { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Carlin, storageValue = 1 }, { storage = Storage.HiddenCityOfBeregar.DefaultStart, storageValue = 1 }, { storage = Storage.HiddenCityOfBeregar.GoingDown, storageValue = 1 }, { storage = Storage.HiddenCityOfBeregar.WayToBeregar, storageValue = 1 }, diff --git a/data-otservbr-global/scripts/creaturescripts/quests/in_service_of_yalahar/diseased_trio_kill.lua b/data-otservbr-global/scripts/creaturescripts/quests/in_service_of_yalahar/diseased_trio_kill.lua deleted file mode 100644 index b9a0aea39b3..00000000000 --- a/data-otservbr-global/scripts/creaturescripts/quests/in_service_of_yalahar/diseased_trio_kill.lua +++ /dev/null @@ -1,27 +0,0 @@ -local diseasedTrio = { - ["diseased bill"] = Storage.InServiceofYalahar.DiseasedBill, - ["diseased dan"] = Storage.InServiceofYalahar.DiseasedDan, - ["diseased fred"] = Storage.InServiceofYalahar.DiseasedFred, -} - -local diseasedTrioKill = CreatureEvent("DiseasedTrioDeath") -function diseasedTrioKill.onDeath(creature) - local bossStorage = diseasedTrio[creature:getName():lower()] - if not bossStorage then - return true - end - - onDeathForDamagingPlayers(creature, function(creature, player) - if player:getStorageValue(bossStorage) < 1 then - player:setStorageValue(bossStorage, 1) - player:say("You slayed " .. creature:getName() .. ".", TALKTYPE_MONSTER_SAY) - end - - if player:getStorageValue(Storage.InServiceofYalahar.DiseasedDan) == 1 and player:getStorageValue(Storage.InServiceofYalahar.DiseasedBill) == 1 and player:getStorageValue(Storage.InServiceofYalahar.DiseasedFred) == 1 and player:getStorageValue(Storage.InServiceofYalahar.AlchemistFormula) ~= 1 then - player:setStorageValue(Storage.InServiceofYalahar.AlchemistFormula, 0) - end - end) - return true -end - -diseasedTrioKill:register() diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/charm.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_charm.lua similarity index 87% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/charm.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_charm.lua index 3b79b84639a..d7085e9f10b 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/charm.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_charm.lua @@ -1,7 +1,7 @@ local inServiceYalaharCharm = Action() function inServiceYalaharCharm.onUse(player, item, fromPosition, target, toPosition, isHotkey) if target.actionid == 100 and target.itemid == 596 then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 36 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 36 then player:removeItem(8822, 1) Game.createItem(8823, 1, toPosition) toPosition:sendMagicEffect(CONST_ME_CARNIPHILA) diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/formula.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_formula.lua similarity index 86% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/formula.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_formula.lua index 49827363a9a..41501b5de74 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/formula.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_formula.lua @@ -3,7 +3,7 @@ function inServiceYalaharFormula.onUse(player, item, fromPosition, target, toPos if not table.contains({ 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 8997 }, target.itemid) then return false end - player:setStorageValue(Storage.InServiceofYalahar.GoodSide, 0) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.GoodSide, 0) item:remove(1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) player:say("You burned the alchemist formula.", TALKTYPE_MONSTER_SAY) diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/ghost.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_ghost.lua similarity index 78% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/ghost.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_ghost.lua index f9c873247d2..cca54ef4bed 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/ghost.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_ghost.lua @@ -26,8 +26,8 @@ function inServiceYalaharGhost.onUse(player, item, fromPosition, target, toPosit player:say("The ghost charm is charging.", TALKTYPE_MONSTER_SAY) if target.itemid == 8859 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 37) - player:setStorageValue(Storage.InServiceofYalahar.Mission06, 3) -- StorageValue for Questlog "Mission 06: Frightening Fuel" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 37) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission06, 3) -- StorageValue for Questlog "Mission 06: Frightening Fuel" player:removeItem(8822, 1) end return true diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/last_fight.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_last_fight.lua similarity index 89% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/last_fight.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_last_fight.lua index 7423821b69a..ca5f655ec56 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/last_fight.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_last_fight.lua @@ -20,7 +20,7 @@ local effectPositions = { } local function doClearAreaAzerus() - if Game.getStorageValue(GlobalStorage.InServiceOfYalahar.LastFight) == 1 then + if Game.getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.LastFight) == 1 then local spectators, spectator = Game.getSpectators(Position(32783, 31166, 10), false, false, 10, 10, 10, 10) for i = 1, #spectators do spectator = spectators[i] @@ -29,7 +29,7 @@ local function doClearAreaAzerus() spectator:remove() end end - Game.setStorageValue(GlobalStorage.InServiceOfYalahar.LastFight, 0) + Game.setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.LastFight, 0) end return true end @@ -56,7 +56,7 @@ end local inServiceYalaharLastFight = Action() function inServiceYalaharLastFight.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if Game.getStorageValue(GlobalStorage.InServiceOfYalahar.LastFight) == 1 then + if Game.getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.LastFight) == 1 then player:say("You have to wait some time before this globe charges.", TALKTYPE_MONSTER_SAY) return true end @@ -70,7 +70,7 @@ function inServiceYalaharLastFight.onUse(player, item, fromPosition, target, toP return true end - Game.setStorageValue(GlobalStorage.InServiceOfYalahar.LastFight, 1) + Game.setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.LastFight, 1) addEvent(Game.createMonster, 18 * 1000, "Azerus2", Position(32783, 31167, 10), false, true) --addEvent(Game.createMonster, 18 * 1000, "Azerus2", Position(32783, 31167, 10)) diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/matrix.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_matrix.lua similarity index 57% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/matrix.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_matrix.lua index 968db120a9a..5b9f9a2f894 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/matrix.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_matrix.lua @@ -1,13 +1,13 @@ local inServiceYalaharMatrix = Action() function inServiceYalaharMatrix.onUse(player, item, fromPosition, target, toPosition, isHotkey) if table.contains({ 842, 843 }, target.itemid) and target.actionid == 100 then - if table.contains({ 8828, 8829 }, item.itemid) and player:getStorageValue(Storage.InServiceofYalahar.MatrixState) < 1 then - player:setStorageValue(Storage.InServiceofYalahar.MatrixState, 1) + if table.contains({ 8828, 8829 }, item.itemid) and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MatrixState) < 1 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MatrixState, 1) item:remove(1) toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) player:say("The machine was activated.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 46) - player:setStorageValue(Storage.InServiceofYalahar.Mission08, 3) -- StorageValue for Questlog "Mission 08: Dangerous Machinations" + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 46) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission08, 3) -- StorageValue for Questlog "Mission 08: Dangerous Machinations" end end return true diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/mechanism.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_mechanism.lua similarity index 94% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/mechanism.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_mechanism.lua index f04a0bf1d4b..692c5db16f8 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/mechanism.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_mechanism.lua @@ -21,7 +21,7 @@ local mechanisms2 = { local inServiceYalaharMechanism = Action() function inServiceYalaharMechanism.onUse(player, item, fromPosition, target, toPosition, isHotkey) if mechanisms[item.uid] then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) >= mechanisms[item.uid].value then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) >= mechanisms[item.uid].value then player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(mechanisms[item.uid].pos) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/morik_summon.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_morik_summon.lua similarity index 60% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/morik_summon.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_morik_summon.lua index a0af87959d1..3170e659457 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/morik_summon.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_morik_summon.lua @@ -1,10 +1,10 @@ local inServiceYalaharMorik = Action() function inServiceYalaharMorik.onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.uid == 1015 then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 31 and player:getStorageValue(Storage.InServiceofYalahar.MorikSummon) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 31 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MorikSummon) < 1 then local ret = Game.createMonster("Morik the Gladiator", fromPosition) ret:getPosition():sendMagicEffect(CONST_ME_TELEPORT) - player:setStorageValue(Storage.InServiceofYalahar.MorikSummon, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MorikSummon, 1) end end return true diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/mr_west_door.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_mr_west_door.lua similarity index 59% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/mr_west_door.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_mr_west_door.lua index 29e3b7196de..0ee3e5e3078 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/mr_west_door.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_mr_west_door.lua @@ -1,19 +1,19 @@ local inServiceYalaharWest = Action() function inServiceYalaharWest.onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.uid == 3081 then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) >= 24 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) >= 24 then if item.itemid == 5287 then player:teleportTo(toPosition, true) item:transform(5288) - player:setStorageValue(Storage.InServiceofYalahar.MrWestDoor, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestDoor, 1) end end elseif item.uid == 3082 then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) >= 24 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) >= 24 then if item.itemid == 6260 then player:teleportTo(toPosition, true) item:transform(6261) - player:setStorageValue(Storage.InServiceofYalahar.MrWestDoor, 2) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestDoor, 2) end end end diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/reward.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_reward.lua similarity index 50% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/reward.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_reward.lua index bad7fcdf1cb..f40c5f1aedd 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/reward.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_reward.lua @@ -1,27 +1,27 @@ local inServiceYalaharReward = Action() function inServiceYalaharReward.onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.uid == 3088 then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 53 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 54) - player:setStorageValue(Storage.InServiceofYalahar.Mission10, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 53 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 54) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission10, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" player:addItem(8862, 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found a yalahari armor.") else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The chest is empty.") end elseif item.uid == 3089 then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 53 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 54) - player:setStorageValue(Storage.InServiceofYalahar.Mission10, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 53 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 54) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission10, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" player:addItem(8864, 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found a yalahari mask.") else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The chest is empty.") end elseif item.uid == 3090 then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 53 then - player:setStorageValue(Storage.InServiceofYalahar.Questline, 54) - player:setStorageValue(Storage.InServiceofYalahar.Mission10, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 53 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 54) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission10, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" player:addItem(8863, 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found a yalahari leg piece.") else diff --git a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/yalahar_machine_war_golems.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_yalahar_machine_war_golems.lua similarity index 91% rename from data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/yalahar_machine_war_golems.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_yalahar_machine_war_golems.lua index b735a7e4e54..427fa09e07c 100644 --- a/data-otservbr-global/scripts/actions/quests/in_service_of_yalahar/yalahar_machine_war_golems.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/actions_yalahar_machine_war_golems.lua @@ -1,6 +1,6 @@ local config = { [23700] = { - storage = GlobalStorage.InServiceOfYalahar.WarGolemsMachine1, + storage = Storage.Quest.U8_4.InServiceOfYalahar.WarGolemsMachine1, machines = { { x = 32882, y = 31323, z = 10 }, { x = 32882, y = 31320, z = 10 }, @@ -9,7 +9,7 @@ local config = { }, }, [23701] = { - storage = GlobalStorage.InServiceOfYalahar.WarGolemsMachine2, + storage = Storage.Quest.U8_4.InServiceOfYalahar.WarGolemsMachine2, machines = { { x = 32869, y = 31322, z = 10 }, { x = 32869, y = 31320, z = 10 }, diff --git a/data-otservbr-global/scripts/creaturescripts/quests/in_service_of_yalahar/azerus_kill.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/creaturescritps_azerus_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/in_service_of_yalahar/azerus_kill.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/creaturescritps_azerus_kill.lua diff --git a/data-otservbr-global/scripts/quests/in_service_of_yalahar/creaturescritps_diseased_trio_kill.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/creaturescritps_diseased_trio_kill.lua new file mode 100644 index 00000000000..e12c79d32d0 --- /dev/null +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/creaturescritps_diseased_trio_kill.lua @@ -0,0 +1,27 @@ +local diseasedTrio = { + ["diseased bill"] = Storage.Quest.U8_4.InServiceOfYalahar.DiseasedBill, + ["diseased dan"] = Storage.Quest.U8_4.InServiceOfYalahar.DiseasedDan, + ["diseased fred"] = Storage.Quest.U8_4.InServiceOfYalahar.DiseasedFred, +} + +local diseasedTrioKill = CreatureEvent("DiseasedTrioDeath") +function diseasedTrioKill.onDeath(creature) + local bossStorage = diseasedTrio[creature:getName():lower()] + if not bossStorage then + return true + end + + onDeathForDamagingPlayers(creature, function(creature, player) + if player:getStorageValue(bossStorage) < 1 then + player:setStorageValue(bossStorage, 1) + player:say("You slayed " .. creature:getName() .. ".", TALKTYPE_MONSTER_SAY) + end + + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DiseasedDan) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DiseasedBill) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.DiseasedFred) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.AlchemistFormula) ~= 1 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.AlchemistFormula, 0) + end + end) + return true +end + +diseasedTrioKill:register() diff --git a/data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/demon_teleport.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_demon_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/demon_teleport.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_demon_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/last_fight_teleport.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_last_fight_teleport.lua similarity index 77% rename from data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/last_fight_teleport.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_last_fight_teleport.lua index 775cd7968a6..0955593531b 100644 --- a/data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/last_fight_teleport.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_last_fight_teleport.lua @@ -7,8 +7,8 @@ function lastFightTeleport.onStepIn(creature, item, position, fromPosition) end if item.uid == 7809 then - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 51 then - if Game.getStorageValue(GlobalStorage.InServiceOfYalahar.LastFight) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 51 then + if Game.getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.LastFight) ~= 1 then player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(Position(32783, 31174, 10)) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) @@ -18,7 +18,7 @@ function lastFightTeleport.onStepIn(creature, item, position, fromPosition) player:teleportTo(fromPosition) end elseif item.uid == 7810 then - if Game.getStorageValue(GlobalStorage.InServiceOfYalahar.LastFight) ~= 1 then + if Game.getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.LastFight) ~= 1 then player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(Position(32784, 31178, 9)) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) diff --git a/data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/morik.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_morik.lua similarity index 69% rename from data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/morik.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_morik.lua index bc810c3b126..8e0a3d13edc 100644 --- a/data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/morik.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_morik.lua @@ -6,10 +6,10 @@ function morik.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.InServiceofYalahar.Questline) == 51 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 51 then -- StorageValue for Questlog 'Mission 10: The Final Battle' - player:setStorageValue(Storage.InServiceofYalahar.Mission10, 3) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 52) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission10, 3) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 52) player:say( "It seems by defeating Azerus you have stopped this army from entering your world! \z Better leave this ghastly place forever.", diff --git a/data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/quara_vortex.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_quara_vortex.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/quara_vortex.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_quara_vortex.lua diff --git a/data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/yalahar_machine_war_golems.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_yalahar_machine_war_golems.lua similarity index 89% rename from data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/yalahar_machine_war_golems.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_yalahar_machine_war_golems.lua index 13223bf913b..2cb8d26b139 100644 --- a/data-otservbr-global/scripts/movements/quests/in_service_of_yalahar/yalahar_machine_war_golems.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/movements_yalahar_machine_war_golems.lua @@ -1,10 +1,10 @@ local setting = { [23698] = { - storage = GlobalStorage.InServiceOfYalahar.WarGolemsMachine2, + storage = Storage.Quest.U8_4.InServiceOfYalahar.WarGolemsMachine2, destination = Position(32869, 31312, 11), }, [23699] = { - storage = GlobalStorage.InServiceOfYalahar.WarGolemsMachine1, + storage = Storage.Quest.U8_4.InServiceOfYalahar.WarGolemsMachine1, destination = Position(32881, 31312, 11), }, [23702] = { diff --git a/data-otservbr-global/scripts/creaturescripts/quests/in_service_of_yalahar/quara_leader_kill.lua b/data-otservbr-global/scripts/quests/in_service_of_yalahar/quara_leader_kill.lua similarity index 57% rename from data-otservbr-global/scripts/creaturescripts/quests/in_service_of_yalahar/quara_leader_kill.lua rename to data-otservbr-global/scripts/quests/in_service_of_yalahar/quara_leader_kill.lua index 91f2faeb951..b10b61227e6 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/in_service_of_yalahar/quara_leader_kill.lua +++ b/data-otservbr-global/scripts/quests/in_service_of_yalahar/quara_leader_kill.lua @@ -1,7 +1,7 @@ local quaraLeaders = { - ["inky"] = Storage.InServiceofYalahar.QuaraInky, - ["sharptooth"] = Storage.InServiceofYalahar.QuaraSharptooth, - ["splasher"] = Storage.InServiceofYalahar.QuaraSplasher, + ["inky"] = Storage.Quest.U8_4.InServiceOfYalahar.QuaraInky, + ["sharptooth"] = Storage.Quest.U8_4.InServiceOfYalahar.QuaraSharptooth, + ["splasher"] = Storage.Quest.U8_4.InServiceOfYalahar.QuaraSplasher, } local quaraLeadersKill = CreatureEvent("QuaraLeadersDeath") @@ -15,10 +15,10 @@ function quaraLeadersKill.onDeath(creature) if player:getStorageValue(bossStorage) < 1 then player:setStorageValue(bossStorage, 1) player:say("You slayed " .. creature:getName() .. ".", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.InServiceofYalahar.QuaraState, 2) - player:setStorageValue(Storage.InServiceofYalahar.Questline, 41) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraState, 2) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 41) -- StorageValue for Questlog 'Mission 07: A Fishy Mission' - player:setStorageValue(Storage.InServiceofYalahar.Mission07, 4) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission07, 4) end end) return true diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 975a32ef13c..7d23cecbed2 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -404,38 +404,38 @@ QuestDoorAction = { itemPos = { { x = 32320, y = 32258, z = 9 } }, }, -- In service of yalahar door - [Storage.InServiceofYalahar.Mission03] = { + [Storage.Quest.U8_4.InServiceOfYalahar.Mission03] = { itemId = false, itemPos = { { x = 32801, y = 31220, z = 7 }, { x = 32803, y = 31220, z = 7 }, }, }, - [Storage.InServiceofYalahar.AlchemistFormula] = { + [Storage.Quest.U8_4.InServiceOfYalahar.AlchemistFormula] = { itemId = false, itemPos = { { x = 32693, y = 31085, z = 7 } }, }, - [Storage.InServiceofYalahar.TamerinStatus] = { + [Storage.Quest.U8_4.InServiceOfYalahar.TamerinStatus] = { itemId = false, itemPos = { { x = 32660, y = 31222, z = 8 } }, }, - [Storage.InServiceofYalahar.MorikSummon] = { + [Storage.Quest.U8_4.InServiceOfYalahar.MorikSummon] = { itemId = false, itemPos = { { x = 32690, y = 31241, z = 6 } }, }, - [Storage.InServiceofYalahar.MatrixReward] = { + [Storage.Quest.U8_4.InServiceOfYalahar.MatrixReward] = { itemId = false, itemPos = { { x = 32879, y = 31260, z = 8 } }, }, - [Storage.InServiceofYalahar.NotesPalimuth] = { + [Storage.Quest.U8_4.InServiceOfYalahar.NotesPalimuth] = { itemId = false, itemPos = { { x = 32797, y = 31226, z = 7 } }, }, - [Storage.InServiceofYalahar.DoorToAzerus] = { + [Storage.Quest.U8_4.InServiceOfYalahar.DoorToAzerus] = { itemId = false, itemPos = { { x = 32796, y = 31185, z = 7 } }, }, - [Storage.InServiceofYalahar.DoorToBog] = { + [Storage.Quest.U8_4.InServiceOfYalahar.DoorToBog] = { itemId = false, itemPos = { { x = 32673, y = 31121, z = 7 }, @@ -444,18 +444,18 @@ QuestDoorAction = { { x = 32709, y = 31186, z = 8 }, }, }, - [Storage.InServiceofYalahar.DoorToLastFight] = { + [Storage.Quest.U8_4.InServiceOfYalahar.DoorToLastFight] = { itemId = false, itemPos = { { x = 32783, y = 31193, z = 8 } }, }, - [Storage.InServiceofYalahar.DoorToMatrix] = { + [Storage.Quest.U8_4.InServiceOfYalahar.DoorToMatrix] = { itemId = false, itemPos = { { x = 32867, y = 31265, z = 10 }, { x = 32940, y = 31248, z = 9 }, }, }, - [Storage.InServiceofYalahar.DoorToQuara] = { + [Storage.Quest.U8_4.InServiceOfYalahar.DoorToQuara] = { itemId = false, itemPos = { { x = 32906, y = 31209, z = 14 }, @@ -463,7 +463,7 @@ QuestDoorAction = { { x = 32975, y = 31148, z = 14 }, }, }, - [Storage.InServiceofYalahar.DoorToReward] = { + [Storage.Quest.U8_4.InServiceOfYalahar.DoorToReward] = { itemId = false, itemPos = { { x = 32780, y = 31205, z = 7 }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 4035aa2e7dc..ec2809812af 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -1,6 +1,15 @@ -- Look README.md for see the reserved action/unique numbers ItemAction = { + [100] = { + itemId = false, + itemPos = { + -- In Service of Yalahar Quest + { x = 32776, y = 31062, z = 7 }, + { x = 32884, y = 31248, z = 8 }, + { x = 32884, y = 31248, z = 8 }, + }, + }, --Parchment room quest -- data\scripts\quests\parchment_room\movement-parchment.lua [102] = { -- downFloor @@ -197,6 +206,16 @@ ItemAction = { itemId = 1979, itemPos = { { x = 33217, y = 31661, z = 7 } }, }, + -- In Service of Yalahar Quest + [7812] = { + itemId = 7804, + itemPos = { + { x = 32950, y = 31182, z = 6 }, + { x = 32951, y = 31182, z = 6 }, + { x = 32950, y = 31183, z = 6 }, + { x = 32951, y = 31183, z = 6 }, + }, + }, -- The Pits of Inferno Quest [8815] = { itemId = false, @@ -884,6 +903,11 @@ ItemUnique = { itemId = 1979, itemPos = { x = 32710, y = 32398, z = 7 }, }, + -- In Service of Yalahar Quest + [1015] = { + itemId = 8821, + itemPos = { x = 32682, y = 31242, z = 6 }, + }, -- The Ice Islands Quest [1061] = { itemId = 2576, @@ -1176,6 +1200,79 @@ ItemUnique = { itemId = 7534, itemPos = { x = 33281, y = 32447, z = 8 }, }, + -- In Service of Yalahar Quest + [3071] = { + itemId = 8435, + itemPos = { x = 32823, y = 31161, z = 8 }, + }, + [3072] = { + itemId = 8615, + itemPos = { x = 32842, y = 31250, z = 8 }, + }, + [3073] = { + itemId = 5025, + itemPos = { x = 32795, y = 31152, z = 8 }, + }, + [3074] = { + itemId = 8431, + itemPos = { x = 32796, y = 31191, z = 8 }, + }, + [3081] = { + itemId = 5287, + itemPos = { x = 32786, y = 31286, z = 8 }, + }, + [3082] = { + itemId = 6260, + itemPos = { x = 32771, y = 31355, z = 5 }, + }, + [3086] = { + itemId = 8852, + itemPos = { x = 32783, y = 31166, z = 10 }, + }, + [3087] = { + itemId = 7739, + itemPos = { x = 32781, y = 31162, z = 14 }, + }, + [3091] = { + itemId = 8618, + itemPos = { x = 32743, y = 31164, z = 5 }, + }, + [3092] = { + itemId = 8618, + itemPos = { x = 32743, y = 31161, z = 5 }, + }, + [3095] = { + itemId = 8615, + itemPos = { x = 32734, y = 31199, z = 5 }, + }, + [3096] = { + itemId = 8615, + itemPos = { x = 32729, y = 31199, z = 5 }, + }, + [3097] = { + itemId = 8615, + itemPos = { x = 32775, y = 31145, z = 5 }, + }, + [3098] = { + itemId = 8615, + itemPos = { x = 32775, y = 31141, z = 5 }, + }, + [3099] = { + itemId = 8615, + itemPos = { x = 32869, y = 31203, z = 5 }, + }, + [3100] = { + itemId = 8615, + itemPos = { x = 32874, y = 31203, z = 5 }, + }, + [3101] = { + itemId = 8618, + itemPos = { x = 32857, y = 31248, z = 5 }, + }, + [3102] = { + itemId = 8618, + itemPos = { x = 32853, y = 31251, z = 5 }, + }, -- Barbarian Arena Quest [3264] = { itemId = 10145, @@ -1228,6 +1325,15 @@ ItemUnique = { itemId = 2753, itemPos = { x = 32933, y = 32495, z = 7 }, }, + -- In Service of Yalahar Quest + [7809] = { + itemId = 1949, + itemPos = { x = 32784, y = 31177, z = 9 }, + }, + [7810] = { + itemId = 1949, + itemPos = { x = 32783, y = 31175, z = 10 }, + }, -- The Demon Oak Quest [9000] = { itemId = 918, diff --git a/data/scripts/actions/tools/crowbar.lua b/data/scripts/actions/tools/crowbar.lua new file mode 100644 index 00000000000..c3352cdb976 --- /dev/null +++ b/data/scripts/actions/tools/crowbar.lua @@ -0,0 +1,8 @@ +local crowbar = Action() + +function crowbar.onUse(player, item, fromPosition, target, toPosition, isHotkey) + return onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) +end + +crowbar:id(3304) +crowbar:register() diff --git a/data/scripts/actions/tools/pick.lua b/data/scripts/actions/tools/pick.lua new file mode 100644 index 00000000000..61347aae87e --- /dev/null +++ b/data/scripts/actions/tools/pick.lua @@ -0,0 +1,8 @@ +local pick = Action() + +function pick.onUse(player, item, fromPosition, target, toPosition, isHotkey) + return onUsePick(player, item, fromPosition, target, toPosition, isHotkey) +end + +pick:id(3456) +pick:register() diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index 685e32ae1c0..6698e63559f 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -701,22 +701,22 @@ function onUsePick(player, item, fromPosition, target, toPosition, isHotkey) Getting liquid silver out of the mountain needs concentration and a steady hand." ) end - elseif target.itemid == 7185 then + elseif target:getActionId() == 60000 then --The Ice Islands Quest, Nibelor 1: Breaking the Ice - local missionProgress = player:getStorageValue(Storage.TheIceIslands.Mission02) - local pickAmount = player:getStorageValue(Storage.TheIceIslands.PickAmount) - if missionProgress < 1 or pickAmount >= 3 or player:getStorageValue(Storage.TheIceIslands.Questline) ~= 3 then + local missionProgress = player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02) + local pickAmount = player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.PickAmount) + if missionProgress < 1 or pickAmount >= 3 or player:getStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline) ~= 3 then return false end - player:setStorageValue(Storage.TheIceIslands.PickAmount, math.max(0, pickAmount) + 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.PickAmount, math.max(0, pickAmount) + 1) -- Questlog The Ice Islands Quest, Nibelor 1: Breaking the Ice - player:setStorageValue(Storage.TheIceIslands.Mission02, missionProgress + 1) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02, missionProgress + 1) if pickAmount >= 2 then - player:setStorageValue(Storage.TheIceIslands.Questline, 4) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Questline, 4) -- Questlog The Ice Islands Quest, Nibelor 1: Breaking the Ice - player:setStorageValue(Storage.TheIceIslands.Mission02, 4) + player:setStorageValue(Storage.Quest.U8_0.TheIceIslands.Mission02, 4) end local crackItem = Tile(toPosition):getItemById(7185) @@ -886,6 +886,24 @@ function onUseMachete(player, item, fromPosition, target, toPosition, isHotkey) return onDestroyItem(player, item, fromPosition, target, toPosition, isHotkey) end +local function the_ape_city(player, item, target, toPosition) + if target:getActionId() == 40041 and target:getId() == 4848 then + local storageValue = player:getStorageValue(Storage.Quest.U7_6.TheApeCity.Casks) + if storageValue < 0 then + storageValue = 0 + end + + if storageValue >= 3 then + return true + end + + player:setStorageValue(Storage.Quest.U7_6.TheApeCity.Casks, storageValue + 1) + + return true + end + return false +end + function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) if not table.contains({ 3304, 9598 }, item.itemid) then return false @@ -893,12 +911,12 @@ function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) if target.uid == 3071 then -- In service of yalahar quest - if player:getStorageValue(Storage.InServiceofYalahar.SewerPipe01) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe01) < 0 then doSetMonsterOutfit(player, "skeleton", 3 * 1000) fromPosition:sendMagicEffect(CONST_ME_ENERGYHIT) - player:setStorageValue(Storage.InServiceofYalahar.SewerPipe01, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe01, 1) -- StorageValue for Questlog "Mission 01: Something Rotten" - player:setStorageValue(Storage.InServiceofYalahar.Mission01, player:getStorageValue(Storage.InServiceofYalahar.Mission01) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01) + 1) local position = player:getPosition() for x = -1, 1 do for y = -1, 1 do @@ -908,10 +926,10 @@ function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) end end elseif target.uid == 3072 then - if player:getStorageValue(Storage.InServiceofYalahar.SewerPipe02) < 1 then - player:setStorageValue(Storage.InServiceofYalahar.SewerPipe02, 1) + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe02) < 1 then + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe02, 1) -- StorageValue for Questlog "Mission 01: Something Rotten" - player:setStorageValue(Storage.InServiceofYalahar.Mission01, player:getStorageValue(Storage.InServiceofYalahar.Mission01) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01) + 1) local position = player:getPosition() for x = -1, 1 do for y = -1, 1 do @@ -924,19 +942,19 @@ function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) end end elseif target.uid == 3073 then - if player:getStorageValue(Storage.InServiceofYalahar.SewerPipe03) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe03) < 1 then player:say("You have used the crowbar on a grate.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.InServiceofYalahar.SewerPipe03, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe03, 1) -- StorageValue for Questlog "Mission 01: Something Rotten" - player:setStorageValue(Storage.InServiceofYalahar.Mission01, player:getStorageValue(Storage.InServiceofYalahar.Mission01) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01) + 1) end elseif target.uid == 3074 then - if player:getStorageValue(Storage.InServiceofYalahar.SewerPipe04) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe04) < 1 then doSetMonsterOutfit(player, "bog raider", 5 * 1000) player:say("You have used the crowbar on a knot.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.InServiceofYalahar.SewerPipe04, 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.SewerPipe04, 1) -- StorageValue for Questlog "Mission 01: Something Rotten" - player:setStorageValue(Storage.InServiceofYalahar.Mission01, player:getStorageValue(Storage.InServiceofYalahar.Mission01) + 1) + player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01, player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission01) + 1) end elseif target.actionid == 100 then if target.itemid == 3501 then @@ -945,11 +963,11 @@ function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) player:setStorageValue(Storage.Postman.Mission02, 2) toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) end - elseif target.itemid == 4848 then + elseif target:getActionId() == 40041 and target.itemid == 4848 then -- The ape city - mission 7 - local apeCityStorage = player:getStorageValue(Storage.TheApeCity.Casks) + local apeCityStorage = player:getStorageValue(Storage.Quest.U7_6.TheApeCity.Casks) if apeCityStorage < 3 then - player:setStorageValue(Storage.TheApeCity.Casks, math.max(0, apeCityStorage) + 1) + player:setStorageValue(Storage.Quest.U7_6.TheApeCity.Casks, apeCityStorage + 1) target:transform(3134) toPosition:sendMagicEffect(CONST_ME_EXPLOSIONAREA) addEvent(revertCask, 3 * 60 * 1000, toPosition) From 8cc22e545af5b928eee2426f246eef6827d166c8 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 3 Aug 2024 20:15:11 +0000 Subject: [PATCH 066/112] Lua code format - (Stylua) --- data-otservbr-global/npc/mr._west.lua | 4 ++-- data-otservbr-global/npc/yalahari.lua | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/data-otservbr-global/npc/mr._west.lua b/data-otservbr-global/npc/mr._west.lua index c5b96f5e11d..d3fc4a402bc 100644 --- a/data-otservbr-global/npc/mr._west.lua +++ b/data-otservbr-global/npc/mr._west.lua @@ -55,9 +55,9 @@ local function greetCallback(npc, creature) local playerId = player:getId() if player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestDoor) == 1 then - npcHandler:setMessage(MESSAGE_GREET, {"Wh .. What? How did you get here? Where are all the guards? You .. you could have killed me but yet you chose to talk? What a relief! ...", "So what brings you here my friend, if I might call you like that?"}) + npcHandler:setMessage(MESSAGE_GREET, { "Wh .. What? How did you get here? Where are all the guards? You .. you could have killed me but yet you chose to talk? What a relief! ...", "So what brings you here my friend, if I might call you like that?" }) elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.MrWestDoor) == 2 then - npcHandler:setMessage(MESSAGE_GREET, {"Murderer! But .. I give in, you won!", "Dictate me your conditions but please, I beg you, spare my life. What do you want?"}) + npcHandler:setMessage(MESSAGE_GREET, { "Murderer! But .. I give in, you won!", "Dictate me your conditions but please, I beg you, spare my life. What do you want?" }) end return true end diff --git a/data-otservbr-global/npc/yalahari.lua b/data-otservbr-global/npc/yalahari.lua index d3efc38572b..ce9348a2343 100644 --- a/data-otservbr-global/npc/yalahari.lua +++ b/data-otservbr-global/npc/yalahari.lua @@ -188,7 +188,13 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 40) player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission07, 1) -- StorageValue for Questlog "Mission 07: A Fishy Mission" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 41 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraInky) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraSharptooth) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraSplasher) == 1 and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraState) == 2 then + elseif + player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline) == 41 + and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraInky) == 1 + and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraSharptooth) == 1 + and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraSplasher) == 1 + and player:getStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.QuaraState) == 2 + then npcHandler:say("This will teach these fishmen who is the ruler of that area. You have earned yourself a special privilege. But we will talk about that when we speak about your next mission. ", npc, creature) player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Questline, 43) player:setStorageValue(Storage.Quest.U8_4.InServiceOfYalahar.Mission07, 5) -- StorageValue for Questlog "Mission 07: A Fishy Mission" From 3fdfa2b655fbf61aeb424228da87607b87108a7d Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 3 Aug 2024 17:21:32 -0300 Subject: [PATCH 067/112] Cleaning --- data/scripts/lib/register_actions.lua | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index 6698e63559f..c6996462606 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -886,24 +886,6 @@ function onUseMachete(player, item, fromPosition, target, toPosition, isHotkey) return onDestroyItem(player, item, fromPosition, target, toPosition, isHotkey) end -local function the_ape_city(player, item, target, toPosition) - if target:getActionId() == 40041 and target:getId() == 4848 then - local storageValue = player:getStorageValue(Storage.Quest.U7_6.TheApeCity.Casks) - if storageValue < 0 then - storageValue = 0 - end - - if storageValue >= 3 then - return true - end - - player:setStorageValue(Storage.Quest.U7_6.TheApeCity.Casks, storageValue + 1) - - return true - end - return false -end - function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) if not table.contains({ 3304, 9598 }, item.itemid) then return false From 764237b6ec3a9ca8dedce8474531ca32077cde3f Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 3 Aug 2024 17:22:43 -0300 Subject: [PATCH 068/112] Update register_actions.lua --- data/scripts/lib/register_actions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index c6996462606..68d66223651 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -949,7 +949,7 @@ function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) -- The ape city - mission 7 local apeCityStorage = player:getStorageValue(Storage.Quest.U7_6.TheApeCity.Casks) if apeCityStorage < 3 then - player:setStorageValue(Storage.Quest.U7_6.TheApeCity.Casks, apeCityStorage + 1) + player:setStorageValue(Storage.Quest.U7_6.TheApeCity.Casks, math.max(0, apeCityStorage + 1) target:transform(3134) toPosition:sendMagicEffect(CONST_ME_EXPLOSIONAREA) addEvent(revertCask, 3 * 60 * 1000, toPosition) From 6ef8aa33880bd17a36dd56959c533939fed321f4 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 3 Aug 2024 17:23:24 -0300 Subject: [PATCH 069/112] Update register_actions.lua --- data/scripts/lib/register_actions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index 68d66223651..e961060de20 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -949,7 +949,7 @@ function onUseCrowbar(player, item, fromPosition, target, toPosition, isHotkey) -- The ape city - mission 7 local apeCityStorage = player:getStorageValue(Storage.Quest.U7_6.TheApeCity.Casks) if apeCityStorage < 3 then - player:setStorageValue(Storage.Quest.U7_6.TheApeCity.Casks, math.max(0, apeCityStorage + 1) + player:setStorageValue(Storage.Quest.U7_6.TheApeCity.Casks, math.max(0, apeCityStorage) + 1) target:transform(3134) toPosition:sendMagicEffect(CONST_ME_EXPLOSIONAREA) addEvent(revertCask, 3 * 60 * 1000, toPosition) From 5dc195fae3b405928558f97833519cce2b354826 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Mon, 5 Aug 2024 19:00:36 -0300 Subject: [PATCH 070/112] The Hidden City of Beregar Quest --- data-otservbr-global/lib/core/quests.lua | 10 ++-- data-otservbr-global/lib/core/storages.lua | 42 +++++++++------- data-otservbr-global/npc/bolfona.lua | 6 +-- data-otservbr-global/npc/boozer.lua | 2 + data-otservbr-global/npc/emperor_rehal.lua | 50 +++++++++++++------ data-otservbr-global/npc/frafnar.lua | 22 +++++--- data-otservbr-global/npc/grombur.lua | 16 +++--- data-otservbr-global/npc/harog.lua | 2 +- data-otservbr-global/npc/maris_mistrock.lua | 4 +- data-otservbr-global/npc/nokmir.lua | 12 ++--- .../npc/pythius_the_rotten.lua | 2 +- data-otservbr-global/npc/rehon.lua | 4 +- data-otservbr-global/npc/tehlim.lua | 4 +- data-otservbr-global/npc/xorlosh.lua | 20 +++++--- .../actions/other/others/quest_system1.lua | 2 +- .../actions/other/others/quest_system2.lua | 6 +-- .../creaturescripts/customs/freequests.lua | 6 +-- .../actions_bargate_lever.lua} | 0 .../actions_ladder.lua} | 0 .../actions_levers.lua} | 1 + .../actions_ore_wagon.lua} | 10 ++-- .../moviments_bellow.lua} | 0 .../moviments_elevator.lua} | 2 +- .../moviments_gap.lua} | 0 .../moviments_ore_wagon.lua} | 4 +- .../moviments_pythius_boss_teleport.lua} | 0 .../moviments_pythius_teleport.lua} | 2 +- .../moviments_tunnel.lua} | 0 data-otservbr-global/startup/tables/chest.lua | 44 ++++++++++++++++ .../startup/tables/door_quest.lua | 6 +-- data-otservbr-global/startup/tables/item.lua | 36 +++++++++++++ data/scripts/lib/register_actions.lua | 2 +- 32 files changed, 217 insertions(+), 100 deletions(-) rename data-otservbr-global/scripts/{actions/quests/the_hidden_city_of_beregar/bargate_lever.lua => quests/the_hidden_city_of_beregar/actions_bargate_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_hidden_city_of_beregar/ladder.lua => quests/the_hidden_city_of_beregar/actions_ladder.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_hidden_city_of_beregar/levers.lua => quests/the_hidden_city_of_beregar/actions_levers.lua} (99%) rename data-otservbr-global/scripts/{actions/quests/the_hidden_city_of_beregar/ore wagon.lua => quests/the_hidden_city_of_beregar/actions_ore_wagon.lua} (95%) rename data-otservbr-global/scripts/{movements/quests/the_hidden_city_of_beregar/bellow.lua => quests/the_hidden_city_of_beregar/moviments_bellow.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_hidden_city_of_beregar/elevator.lua => quests/the_hidden_city_of_beregar/moviments_elevator.lua} (88%) rename data-otservbr-global/scripts/{movements/quests/the_hidden_city_of_beregar/gap.lua => quests/the_hidden_city_of_beregar/moviments_gap.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_hidden_city_of_beregar/ore_wagon.lua => quests/the_hidden_city_of_beregar/moviments_ore_wagon.lua} (70%) rename data-otservbr-global/scripts/{movements/quests/the_hidden_city_of_beregar/pythius_boss_teleport.lua => quests/the_hidden_city_of_beregar/moviments_pythius_boss_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_hidden_city_of_beregar/pythius_teleport.lua => quests/the_hidden_city_of_beregar/moviments_pythius_teleport.lua} (87%) rename data-otservbr-global/scripts/{movements/quests/the_hidden_city_of_beregar/tunnel.lua => quests/the_hidden_city_of_beregar/moviments_tunnel.lua} (100%) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 6de78a13dd9..e1ca3d07f5e 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -3077,12 +3077,12 @@ if not Quests then }, [21] = { name = "The Hidden City of Beregar", - startStorageId = Storage.HiddenCityOfBeregar.DefaultStart, + startStorageId = Storage.Quest.U8_4.TheHiddenCityOfBeregar.DefaultStart, startStorageValue = 1, missions = { [1] = { name = "Going Down", - storageId = Storage.HiddenCityOfBeregar.GoingDown, + storageId = Storage.Quest.U8_4.TheHiddenCityOfBeregar.GoingDown, missionId = 10228, startValue = 1, endValue = 2, @@ -3094,7 +3094,7 @@ if not Quests then }, [2] = { name = "Justice for All", - storageId = Storage.HiddenCityOfBeregar.JusticeForAll, + storageId = Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll, missionId = 10229, startValue = 1, endValue = 6, @@ -3122,7 +3122,7 @@ if not Quests then }, [4] = { name = "Sweet as Chocolate Cake", - storageId = Storage.HiddenCityOfBeregar.SweetAsChocolateCake, + storageId = Storage.Quest.U8_4.TheHiddenCityOfBeregar.SweetAsChocolateCake, missionId = 10231, startValue = 1, endValue = 3, @@ -3135,7 +3135,7 @@ if not Quests then }, [5] = { name = "The Good Guard", - storageId = Storage.HiddenCityOfBeregar.TheGoodGuard, + storageId = Storage.Quest.U8_4.TheHiddenCityOfBeregar.TheGoodGuard, missionId = 10232, startValue = 1, endValue = 2, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 54f16358b0f..e2b13e297b1 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -812,24 +812,6 @@ Storage = { TheHuntForTheSeaSerpent = { -- Reserved storage from 51410 - 51419 }, - HiddenCityOfBeregar = { - -- Reserved storage from 51450 - 51479 - DefaultStart = 51450, - WayToBeregar = 51451, - OreWagon = 51452, - GoingDown = 51453, - JusticeForAll = 51454, - GearWheel = 51455, - SweetAsChocolateCake = 51456, - RoyalRescue = 51457, - TheGoodGuard = 51458, - PythiusTheRotten = 51459, - DoorNorthMine = 51460, - DoorWestMine = 51461, - DoorSouthMine = 51462, - BrownMushrooms = 51463, - TunnellingGuide = 51464, - }, TibiaTales = { -- Reserved storage from 51480 - 51539 DefaultStart = 51480, @@ -2029,7 +2011,29 @@ Storage = { Carlin = 42002, }, }, - TheHiddenCityOfBeregar = {}, + TheHiddenCityOfBeregar = { + DefaultStart = 42003, + WayToBeregar = 42004, + OreWagon = 42005, + GoingDown = 42006, + JusticeForAll = 42007, + GearWheel = 42008, + SweetAsChocolateCake = 42009, + RoyalRescue = 42010, + TheGoodGuard = 42011, + PythiusTheRotten = 42012, + DoorNorthMine = 42013, + DoorWestMine = 42014, + DoorSouthMine = 42015, + BrownMushrooms = 42016, + TunnellingGuide = 42017, + CorpseGoldIngot = 42018, + CorpseSmallTopazes = 42019, + CorpseRustedArmor = 42020, + PrisonCellKey = 42021, + BPTheUndeathStare = 42022, + FirewalkerBoots = 42023, + }, TopOfTheCity = {}, YalaharianOutfits = {}, }, diff --git a/data-otservbr-global/npc/bolfona.lua b/data-otservbr-global/npc/bolfona.lua index 84028bfd03b..adf900568ff 100644 --- a/data-otservbr-global/npc/bolfona.lua +++ b/data-otservbr-global/npc/bolfona.lua @@ -58,10 +58,10 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "chocolate cake") then - if player:getStorageValue(Storage.HiddenCityOfBeregar.SweetAsChocolateCake) == 1 and player:getItemCount(8019) >= 1 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.SweetAsChocolateCake) == 1 and player:getItemCount(8019) >= 1 then npcHandler:say("Is that for me?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.HiddenCityOfBeregar.SweetAsChocolateCake) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.SweetAsChocolateCake) == 2 then npcHandler:say("So did you tell her that the cake came from me?", npc, creature) npcHandler:setTopic(playerId, 2) end @@ -70,7 +70,7 @@ local function creatureSayCallback(npc, creature, type, message) if player:removeItem(8019, 1) then npcHandler:say("Err, thanks. I doubt it's from you. Who sent it?", npc, creature) npcHandler:setTopic(playerId, 2) - player:setStorageValue(Storage.HiddenCityOfBeregar.SweetAsChocolateCake, 2) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.SweetAsChocolateCake, 2) else npcHandler:say("Oh, I thought you have one.", npc, creature) npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/boozer.lua b/data-otservbr-global/npc/boozer.lua index ad959f07722..b63fa7620fb 100644 --- a/data-otservbr-global/npc/boozer.lua +++ b/data-otservbr-global/npc/boozer.lua @@ -81,6 +81,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "Welcome to the Hard Rock Racing Track, |PLAYERNAME|.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/emperor_rehal.lua b/data-otservbr-global/npc/emperor_rehal.lua index 2f5411e7b84..c811a04d74a 100644 --- a/data-otservbr-global/npc/emperor_rehal.lua +++ b/data-otservbr-global/npc/emperor_rehal.lua @@ -50,46 +50,66 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end -keywordHandler:addKeyword({ "hi" }, StdModule.say, { npcHandler = npcHandler, onlyUnfocus = true }) -keywordHandler:addKeyword({ "hello" }, StdModule.say, { npcHandler = npcHandler, onlyUnfocus = true }) +local function endConversationWithDelay(npcHandler, npc, creature) + addEvent(function() + npcHandler:unGreet(npc, creature) + end, 1000) +end + +local function greetCallback(npc, creature, message) + local player = Player(creature) + local playerId = player:getId() + + if not MsgContains(message, "hail emperor") then + endConversationWithDelay(npcHandler, npc, creature) + return false + end + + npcHandler:say("May Fire and Earth bless you, stranger. What leads you to Beregar, the dwarven city?", npc, creature) + npcHandler:setInteraction(npc, creature) + + return true +end local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() if MsgContains(message, "nokmir") then - if player:getStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll) == 1 then npcHandler:say("I always liked him and I still can't believe that he really stole that ring.", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll) == 4 and player:removeItem(8777, 1) then + elseif player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll) == 4 and player:removeItem(8777, 1) then npcHandler:say("Interesting. The fact that you have the ring means that Nokmir can't have stolen it. Combined with the information Grombur gave you, the case appears in a completely different light. ...", npc, creature) npcHandler:say("Let there be justice for all. Nokmir is innocent and acquitted from all charges! And Rerun... I want him in prison for this malicious act!", npc, creature) - player:setStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll, 5) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll, 5) end elseif MsgContains(message, "grombur") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("He's very ambitious and always volunteers for the long shifts.", npc, creature) - player:setStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll, 2) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll, 2) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "mission") then - if player:getStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue) < 1 and player:getStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll) > 4 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue) < 1 and player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll) > 4 then npcHandler:say("As you have proven yourself trustworthy I'm going to assign you a special mission. Are you interested?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue) == 7 then + elseif player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue) == 7 then npcHandler:say("My son was captured by trolls? Doesn't sound like him, but if you say so. Now you want a reward, huh? ...", npc, creature) npcHandler:setTopic(playerId, 3) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 2 then - npcHandler:say("Splendid! My son Rehon set off on an expedition to the deeper mines. He and a group of dwarfs were to search for new veins of crystal. Unfortunately they have been missing for 2 weeks now. ...", npc, creature) - npcHandler:say("Find my son and if he's alive bring him back. You will find a reactivated ore wagon tunnel at the entrance of the great citadel which leades to the deeper mines. If you encounter problems within the tunnel go ask Xorlosh, he can help you.", npc, creature) - player:setStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue, 1) + npcHandler:say({ + "Splendid! My son Rehon set off on an expedition to the deeper mines. He and a group of dwarfs were to search for new veins of crystal. Unfortunately they have been missing for 2 weeks now. ...", + "Find my son and if he's alive bring him back. You will find a reactivated ore wagon tunnel at the entrance of the great citadel which leades to the deeper mines. If you encounter problems within the tunnel go ask Xorlosh, he can help you." + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then npcHandler:say("Look at these dwarven legs. They were forged years ago by a dwarf who was rather tall for our kind. I want you to have them. Thank you for rescuing my son |PLAYERNAME|.", npc, creature) player:addItem(3398, 1) - player:setStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue, 8) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue, 8) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "no") then @@ -101,14 +121,12 @@ local function creatureSayCallback(npc, creature, type, message) return true end +keywordHandler:addCustomGreetKeyword({ "hail emperor" }, greetCallback, { npcHandler = npcHandler }) + local node1 = keywordHandler:addKeyword({ "promot" }, StdModule.say, { npcHandler = npcHandler, onlyFocus = true, text = "I can promote you for 20000 gold coins. Do you want me to promote you?" }) node1:addChildKeyword({ "yes" }, StdModule.promotePlayer, { npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = "Congratulations! You are now promoted." }) node1:addChildKeyword({ "no" }, StdModule.say, { npcHandler = npcHandler, onlyFocus = true, text = "Alright then, come back when you are ready.", reset = true }) --- Greeting message -keywordHandler:addGreetKeyword({ "hail emperor" }, { npcHandler = npcHandler, text = "May fire and earth bless you, stranger. What leads you to Beregar, the dwarven city?" }) -keywordHandler:addGreetKeyword({ "salutations emperor" }, { npcHandler = npcHandler, text = "May fire and earth bless you, stranger. What leads you to Beregar, the dwarven city?" }) - npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setCallback(CALLBACK_GREET, greetCallback) diff --git a/data-otservbr-global/npc/frafnar.lua b/data-otservbr-global/npc/frafnar.lua index 21824471796..288d8d22732 100644 --- a/data-otservbr-global/npc/frafnar.lua +++ b/data-otservbr-global/npc/frafnar.lua @@ -58,25 +58,31 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.HiddenCityOfBeregar.SweetAsChocolateCake) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.SweetAsChocolateCake) < 1 then npcHandler:say("There is indeed something you could do for me. You must know, I'm in love with Bolfana. I'm sure she'd have a beer with me if I got her a chocolate cake. Problem is that I can't leave this door as I'm on duty. Would you be so kind and help me?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.HiddenCityOfBeregar.SweetAsChocolateCake) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.SweetAsChocolateCake) == 2 then npcHandler:say("So did you tell her that the cake came from me?", npc, creature) npcHandler:setTopic(playerId, 2) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.HiddenCityOfBeregar.SweetAsChocolateCake, 1) - player:setStorageValue(Storage.HiddenCityOfBeregar.DefaultStart, 1) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.SweetAsChocolateCake, 1) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.DefaultStart, 1) npcHandler:say("Great! She works in the tavern of Beregar. It's situated in the western part of the city. Bring her a chocolate cake and tell her that it was me who sent it.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then - player:setStorageValue(Storage.HiddenCityOfBeregar.SweetAsChocolateCake, 3) - player:setStorageValue(Storage.HiddenCityOfBeregar.DoorWestMine, 1) - npcHandler:say("Great! That's my breakthrough. Now she can't refuse to go out with me. I grant you access to the western part of the mine.", npc, creature) - npcHandler:setTopic(playerId, 0) + npcHandler:say({ + "Great! That's my breakthrough. Now she can't refuse to go out with me. I grant you access to the western part of the mine.", + "So did you tell her that the cake came from me?", + }, npc, creature) + npcHandler:setTopic(playerId, 3) end + elseif MsgContains(message, "no") and npcHandler:getTopic(playerId) == 3 then + npcHandler:say("I hope your kidding 'cause I'll find out WHAT you've told her and I can get reeeeaaaalllly angry. I grant you access to the western part of the mine.....for NOW.", npc, creature) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.SweetAsChocolateCake, 3) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.DoorWestMine, 1) + npcHandler:setTopic(playerId, 0) end return true end diff --git a/data-otservbr-global/npc/grombur.lua b/data-otservbr-global/npc/grombur.lua index 1501463f1d8..850d0db28e4 100644 --- a/data-otservbr-global/npc/grombur.lua +++ b/data-otservbr-global/npc/grombur.lua @@ -58,29 +58,29 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "nokmir") then - if player:getStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll) == 2 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll) == 2 then npcHandler:say("Oh well, I liked Nokmir. He used to be a good dwarf until that day on which he stole the ring from {Rerun}.", npc, creature) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, "rerun") then if npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll, 3) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll, 3) npcHandler:say("Yeah, he's the lucky guy in this whole story. I heard rumours that emperor Rehal had plans to promote Nokmir, but after this whole thievery story, he might pick Rerun instead.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "mission") then - if player:getStorageValue(Storage.HiddenCityOfBeregar.TheGoodGuard) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.TheGoodGuard) < 1 then npcHandler:say("Got any dwarven brown ale?? I DON'T THINK SO....and Bolfana, the tavern keeper, won't sell you anything. I'm sure about that...she doesn't like humans... I tell you what, if you get me a cask of dwarven brown ale, I allow you to enter the mine. Alright?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.HiddenCityOfBeregar.TheGoodGuard) == 1 and player:removeItem(8774, 1) then - player:setStorageValue(Storage.HiddenCityOfBeregar.TheGoodGuard, 2) - player:setStorageValue(Storage.HiddenCityOfBeregar.DoorSouthMine, 1) + elseif player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.TheGoodGuard) == 1 and player:removeItem(8774, 1) then + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.TheGoodGuard, 2) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.DoorSouthMine, 1) npcHandler:say("HOW?....WHERE?....AHHHH, I don't mind....SLUUUUUURP....tastes a little flat but I had worse. Thank you. Just don't tell anyone that I let you in.", npc, creature) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 2 then - player:setStorageValue(Storage.HiddenCityOfBeregar.TheGoodGuard, 1) - player:setStorageValue(Storage.HiddenCityOfBeregar.DefaultStart, 1) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.TheGoodGuard, 1) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.DefaultStart, 1) npcHandler:say("Haha, fine! Don't waste time and get me the ale. See you.", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/harog.lua b/data-otservbr-global/npc/harog.lua index 421356ec62e..c29ecec296e 100644 --- a/data-otservbr-global/npc/harog.lua +++ b/data-otservbr-global/npc/harog.lua @@ -25,7 +25,7 @@ npcConfig.flags = { npcConfig.shop = { { name = "metal fitting", clientId = 9115, buy = 500 }, { name = "nail", clientId = 953, sell = 10 }, - { name = "flask of rust remover", clientId = 9016, buy = 50, storageKey = Storage.HiddenCityOfBeregar.JusticeForAll, storageValue = 6 }, + { name = "flask of rust remover", clientId = 9016, buy = 50, storageKey = Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll, storageValue = 6 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/maris_mistrock.lua b/data-otservbr-global/npc/maris_mistrock.lua index f34e82b85b0..c5ee2657cd4 100644 --- a/data-otservbr-global/npc/maris_mistrock.lua +++ b/data-otservbr-global/npc/maris_mistrock.lua @@ -76,8 +76,8 @@ keywordHandler:addKeyword( }, nil, function(player) - if player:getStorageValue(Storage.HiddenCityOfBeregar.WayToBeregar) ~= 1 then - player:setStorageValue(Storage.HiddenCityOfBeregar.WayToBeregar, 1) + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.WayToBeregar) ~= 1 then + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.WayToBeregar, 1) end end ) diff --git a/data-otservbr-global/npc/nokmir.lua b/data-otservbr-global/npc/nokmir.lua index 672875fa9c1..8507783df47 100644 --- a/data-otservbr-global/npc/nokmir.lua +++ b/data-otservbr-global/npc/nokmir.lua @@ -58,12 +58,12 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll) < 1 then npcHandler:say("I don't see how you could help me. I'm in deep, deep trouble. I'm accused of having stolen a {ring} from Rerun, but I haven't.", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll) == 5 then - player:setStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll, 6) - player:setStorageValue(Storage.HiddenCityOfBeregar.DoorNorthMine, 1) + elseif player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll) == 5 then + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll, 6) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.DoorNorthMine, 1) npcHandler:say("WHAT?! I can't believe it. You saved my life... well, at least one week of it 'cause that would have been the time I had to spend in jail. If you want to, you can pass the door now and take a look at the northern mines. Have fun!", npc, creature) end elseif MsgContains(message, "ring") then @@ -86,8 +86,8 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, "rehal") then if npcHandler:getTopic(playerId) == 4 then - player:setStorageValue(Storage.HiddenCityOfBeregar.DefaultStart, 1) - player:setStorageValue(Storage.HiddenCityOfBeregar.JusticeForAll, 1) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.DefaultStart, 1) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll, 1) npcHandler:say("He's a good emperor but I doubt he is wise enough to see the truth behind that false accusation against me. If just someone would find out the truth about that whole mess.", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/pythius_the_rotten.lua b/data-otservbr-global/npc/pythius_the_rotten.lua index f6c86c8b240..3165a91e786 100644 --- a/data-otservbr-global/npc/pythius_the_rotten.lua +++ b/data-otservbr-global/npc/pythius_the_rotten.lua @@ -57,7 +57,7 @@ mugKeyword:addChildKeyword({ "golden mug" }, StdModule.say, { npcHandler = npcHa return player:getItemCount(2903) > 0 end, function(player) player:removeItem(2903, 1) - player:setStorageValue(Storage.HiddenCityOfBeregar.PythiusTheRotten, os.time() + 180) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.PythiusTheRotten, os.time() + 180) end) mugKeyword:addChildKeyword({ "golden mug" }, StdModule.say, { npcHandler = npcHandler, text = "THIS IS NOT WORTH BEING PART OF MY TREASURE! BRING ME SOMETHING ELSE.", reset = true }) mugKeyword:addChildKeyword({ "" }, StdModule.say, { npcHandler = npcHandler, text = "THIS IS NOT WORTH BEING PART OF MY TREASURE! BRING ME SOMETHING ELSE", reset = true }) diff --git a/data-otservbr-global/npc/rehon.lua b/data-otservbr-global/npc/rehon.lua index 4744851df00..87794faf7ff 100644 --- a/data-otservbr-global/npc/rehon.lua +++ b/data-otservbr-global/npc/rehon.lua @@ -55,8 +55,8 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "mission") then local player = Player(creature) - if player:getStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue) == 6 and player:removeItem(9172, 1) then - player:setStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue, 7) + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue) == 6 and player:removeItem(9172, 1) then + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue, 7) npcHandler:say("By the Gods! You have the key to the cell! Thank you sooo much, mate. And now leave. I'll wait here until the air is clean and then I'm out of here.", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/tehlim.lua b/data-otservbr-global/npc/tehlim.lua index f91c17adf39..4cec6b072bc 100644 --- a/data-otservbr-global/npc/tehlim.lua +++ b/data-otservbr-global/npc/tehlim.lua @@ -59,13 +59,13 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if Player(creature):getStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue) == 5 then + if Player(creature):getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue) == 5 then npcHandler:say("I warn you, those trolls are WAY more dangerous than the usual kind. Alone, I can't do anything for my brothers. Find a way to the trolls' hideout and rescue my brothers. Are you willing to help me?", npc, creature) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - Player(creature):setStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue, 6) + Player(creature):setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue, 6) npcHandler:say(" Great! I hope you find my brothers. Good luck!", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/xorlosh.lua b/data-otservbr-global/npc/xorlosh.lua index db2b49d85aa..1ebcf535e0d 100644 --- a/data-otservbr-global/npc/xorlosh.lua +++ b/data-otservbr-global/npc/xorlosh.lua @@ -58,34 +58,40 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.HiddenCityOfBeregar.GoingDown) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.GoingDown) < 1 then npcHandler:say("Hmmmm, you could indeed help me. See this mechanism? Some son of a rotworm put WAY too much stuff on this elevator and now it's broken. I need 3 gear wheels to fix it. You think you could get them for me?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.HiddenCityOfBeregar.GoingDown) == 1 and player:removeItem(8775, 3) then - player:setStorageValue(Storage.HiddenCityOfBeregar.GoingDown, 2) + elseif player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.GoingDown) == 1 and player:removeItem(8775, 3) then + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.GoingDown, 2) npcHandler:say("HOLY MOTHER OF ALL ROTWORMS! You did it and they are of even better quality than the old ones. You should be the first one to try the elevator, just jump on it. See you my friend.", npc, creature) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then - player:setStorageValue(Storage.HiddenCityOfBeregar.GoingDown, 1) - player:setStorageValue(Storage.HiddenCityOfBeregar.DefaultStart, 1) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.GoingDown, 1) + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.DefaultStart, 1) npcHandler:say("That would be great! Maybe a blacksmith can forge you some. Come back when you got them and ask me about your mission.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "tunnel") then - if player:getStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue) == 1 then npcHandler:say({ "There should be a book in our library about tunnelling. I don't have that much time to talk to you about that. ...", - "The book about tunnelling is in the library which is located in the north eastern wing of Beregar city.", + "If you want to have some information, you'll just have to find that book. If you need some equipment, go ask Harog. You'll find the library in the north eastern wing of Beregar city.", }, npc, creature) end + elseif MsgContains(message, "book") then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue) == 1 then + npcHandler:say("The book about tunnelling is in the library which is located in the north eastern wing of Beregar city.", npc, creature) + end end + return true end npcHandler:setMessage(MESSAGE_WALKAWAY, "See you my friend.") npcHandler:setMessage(MESSAGE_FAREWELL, "See you my friend.") npcHandler:setMessage(MESSAGE_GREET, "Who are you? Are you a genius in mechanics? You don't look like one.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua index bd5d25afe6b..1c2808523a6 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua @@ -15,7 +15,7 @@ local questsExperience = { } local questLog = { - [8213] = Storage.HiddenCityOfBeregar.DefaultStart, + [8213] = Storage.Quest.U8_4.TheHiddenCityOfBeregar.DefaultStart, } local tutorialIds = { diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua index 9c537136afd..51472a9cea8 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua @@ -150,13 +150,13 @@ local config = { items = { { itemId = 3725, count = 10 }, }, - storage = Storage.HiddenCityOfBeregar.BrownMushrooms, + storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.BrownMushrooms, }, [50125] = { items = { { itemId = 8777 }, }, - storage = Storage.HiddenCityOfBeregar.JusticeForAll, + storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.JusticeForAll, formerValue = 3, newValue = 4, }, @@ -286,7 +286,7 @@ Gromward Hammerfist]], name = "Tunnelling Guide", }, }, - storage = Storage.HiddenCityOfBeregar.TunnellingGuide, + storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.TunnellingGuide, }, [20003] = { items = { diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 3330ac04785..c1295a01ee9 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -157,9 +157,9 @@ local questTable = { { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Thais, storageValue = 1 }, { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.LibertyBay, storageValue = 1 }, { storage = Storage.Quest.U8_4.InServiceOfYalahar.SearoutesAroundYalahar.Carlin, storageValue = 1 }, - { storage = Storage.HiddenCityOfBeregar.DefaultStart, storageValue = 1 }, - { storage = Storage.HiddenCityOfBeregar.GoingDown, storageValue = 1 }, - { storage = Storage.HiddenCityOfBeregar.WayToBeregar, storageValue = 1 }, + { storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.DefaultStart, storageValue = 1 }, + { storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.GoingDown, storageValue = 1 }, + { storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.WayToBeregar, storageValue = 1 }, { storage = Storage.Quest.U8_0.TheIceIslands.Questline, storageValue = 40 }, { storage = Storage.Quest.U8_0.TheIceIslands.Mission01, storageValue = 3 }, { storage = Storage.Quest.U8_0.TheIceIslands.Mission02, storageValue = 5 }, diff --git a/data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/bargate_lever.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_bargate_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/bargate_lever.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_bargate_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/ladder.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_ladder.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/ladder.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_ladder.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/levers.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_levers.lua similarity index 99% rename from data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/levers.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_levers.lua index 23fa33de66e..d13c7f55585 100644 --- a/data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/levers.lua +++ b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_levers.lua @@ -17,6 +17,7 @@ local config = { } local theHiddenWagonLevers = Action() + function theHiddenWagonLevers.onUse(player, item, fromPosition, target, toPosition, isHotkey) for i = 1, #config do local table = config[i] diff --git a/data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/ore wagon.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_ore_wagon.lua similarity index 95% rename from data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/ore wagon.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_ore_wagon.lua index ad4bb8227f4..6b1d2c0fd01 100644 --- a/data-otservbr-global/scripts/actions/quests/the_hidden_city_of_beregar/ore wagon.lua +++ b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/actions_ore_wagon.lua @@ -70,7 +70,7 @@ function wagons.onUse(player, item, fromPosition, target, toPosition, isHotkey) }, --Beregar { - teleportPos = Position(32579, 31487, 9), + teleportPos = Position(32579, 31487, 9), -- The correct place would be 32638, 31960, 10, however this area does not yet exist on the Kazordoon map. railCheck = Tile(Position(32688, 31469, 13)):getItemById(7124) and Tile(Position(32690, 31465, 13)):getItemById(7125) and Tile(Position(32684, 31464, 13)):getItemById(7122) and Tile(Position(32682, 31455, 13)):getItemById(7124), }, --NPC Tehlim @@ -89,14 +89,14 @@ function wagons.onUse(player, item, fromPosition, target, toPosition, isHotkey) railCheck = Tile(Position(32688, 31469, 13)):getItemById(7123) and Tile(Position(32695, 31464, 13)):getItemById(7123), }, } - local getstory = player:getStorageValue(Storage.HiddenCityOfBeregar.RoyalRescue) - local story = Storage.HiddenCityOfBeregar.RoyalRescue + local getstory = player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue) + local story = Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue local position = (Position(32571, 31508, 9)) local tile = Tile(position) local tile2 = Tile(Position(32619, 31514, 9)) for i = 1, #travel do local table = travel[i] - if fromPosition == table.wagon and player:getStorageValue(Storage.HiddenCityOfBeregar.OreWagon) == 1 then + if fromPosition == table.wagon and player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.OreWagon) == 1 then if travel[i] == travel[1] then local targetPosition = checkpoint[player:getStorageValue(story)] if not targetPosition then @@ -172,7 +172,7 @@ function wagons.onUse(player, item, fromPosition, target, toPosition, isHotkey) player:teleportTo(table.destination) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) end - if player:getStorageValue(Storage.HiddenCityOfBeregar.OreWagon) < 1 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.OreWagon) < 1 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You don't know how to use this yet.") return true end diff --git a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/bellow.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_bellow.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/bellow.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_bellow.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/elevator.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_elevator.lua similarity index 88% rename from data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/elevator.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_elevator.lua index 9820a242d8d..4430651a261 100644 --- a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/elevator.lua +++ b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_elevator.lua @@ -16,7 +16,7 @@ function elevator.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.HiddenCityOfBeregar.GoingDown) == 2 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.GoingDown) == 2 then player:teleportTo(teleport) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) else diff --git a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/gap.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_gap.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/gap.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_gap.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/ore_wagon.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_ore_wagon.lua similarity index 70% rename from data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/ore_wagon.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_ore_wagon.lua index eeda87e2de4..cc605d59039 100644 --- a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/ore_wagon.lua +++ b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_ore_wagon.lua @@ -6,8 +6,8 @@ function oreWagon.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.HiddenCityOfBeregar.OreWagon) ~= 1 then - player:setStorageValue(Storage.HiddenCityOfBeregar.OreWagon, 1) + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.OreWagon) ~= 1 then + player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.OreWagon, 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found the entrance to the hidden city of Beregar and may now use the ore wagon.") end return true diff --git a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/pythius_boss_teleport.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_pythius_boss_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/pythius_boss_teleport.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_pythius_boss_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/pythius_teleport.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_pythius_teleport.lua similarity index 87% rename from data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/pythius_teleport.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_pythius_teleport.lua index e6525ae25b7..e2a4b18012f 100644 --- a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/pythius_teleport.lua +++ b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_pythius_teleport.lua @@ -6,7 +6,7 @@ function pythiusTeleport.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.HiddenCityOfBeregar.PythiusTheRotten) < os.time() then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.PythiusTheRotten) < os.time() then position.y = position.y + 4 player:teleportTo(position) player:say("OFFER ME SOMETHING IF YOU WANT TO PASS!", TALKTYPE_MONSTER_YELL, false, player, Position(32589, 31407, 15)) diff --git a/data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/tunnel.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_tunnel.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_hidden_city_of_beregar/tunnel.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/moviments_tunnel.lua diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 9dd796f461b..9d03546267e 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2391,6 +2391,50 @@ ChestUnique = { weight = 5.00, storage = Storage.Quest.U8_2.VampireHunterQuest.BloodSkull, }, + -- The Hidden City of Beregar Quest + [6279] = { + itemId = 4024, + itemPos = { x = 32601, y = 31386, z = 14 }, + reward = { { 9058, 1 } }, + weight = 18.00, + storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.CorpseGoldIngot, + }, + [6280] = { + itemId = 4240, + itemPos = { x = 32588, y = 31406, z = 14 }, + reward = { { 9057, 3 } }, + weight = 0.30, + storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.CorpseSmallTopazes, + }, + [6281] = { + itemId = 4024, + itemPos = { x = 32650, y = 31467, z = 15 }, + reward = { { 8895, 1 } }, + weight = 120.00, + storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.CorpseRustedArmor, + }, + [6282] = { + itemId = 2472, + itemPos = { x = 32754, y = 31462, z = 15 }, + reward = { { 9172, 1 } }, + weight = 1.00, + storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.PrisonCellKey, + }, + [6283] = { + itemId = 1983, + itemPos = { x = 32546, y = 31522, z = 11 }, + container = 2867, + reward = { { 3035, 13 }, { 3003, 1 }, { 3457, 1 }, { 268, 1 }, { 239, 2 } }, + weight = 82.00, + storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.BPTheUndeathStare, + }, + [6284] = { + itemId = 2472, + itemPos = { x = 32582, y = 31405, z = 15 }, + reward = { { 9019, 1 } }, + weight = 10.00, + storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.FirewalkerBoots, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 7d23cecbed2..e2e955efc09 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -580,15 +580,15 @@ QuestDoorAction = { itemPos = { { x = 32537, y = 31897, z = 13 } }, }, -- Hidden city of beregar door - [Storage.HiddenCityOfBeregar.DoorNorthMine] = { + [Storage.Quest.U8_4.TheHiddenCityOfBeregar.DoorNorthMine] = { itemId = false, itemPos = { { x = 32606, y = 31489, z = 14 } }, }, - [Storage.HiddenCityOfBeregar.DoorWestMine] = { + [Storage.Quest.U8_4.TheHiddenCityOfBeregar.DoorWestMine] = { itemId = false, itemPos = { { x = 32584, y = 31499, z = 14 } }, }, - [Storage.HiddenCityOfBeregar.DoorSouthMine] = { + [Storage.Quest.U8_4.TheHiddenCityOfBeregar.DoorSouthMine] = { itemId = false, itemPos = { { x = 32608, y = 31516, z = 14 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index ec2809812af..08242edf2a6 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -873,6 +873,37 @@ ItemAction = { { x = 32732, y = 32264, z = 15 }, }, }, + -- The Hidden City of Beregar Quest + [50090] = { + itemId = 6298, + itemPos = { + { x = 32566, y = 31338, z = 9 }, + }, + }, + [50091] = { + itemId = 7739, + itemPos = { + { x = 32607, y = 31501, z = 13 }, + }, + }, + [50092] = { + itemId = 1949, + itemPos = { + { x = 32611, y = 31497, z = 14 }, + }, + }, + [50093] = { + itemId = 1949, + itemPos = { + { x = 32611, y = 31497, z = 15 }, + }, + }, + [50127] = { + itemId = 8425, + itemPos = { + { x = 32551, y = 31379, z = 15 }, + }, + }, -- Dreamers Challenge Quest [50149] = { itemId = 1949, @@ -1821,6 +1852,11 @@ ItemUnique = { itemId = 5662, itemPos = { x = 33024, y = 32672, z = 6 }, }, + -- The Hidden City of Beregar Quest + [50127] = { + itemId = 1949, + itemPos = { x = 32598, y = 31402, z = 15 }, + }, -- The Ancient Tombs Quest [50135] = { itemId = 1949, diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index e961060de20..e8fec0e5b4b 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -781,7 +781,7 @@ function onUsePick(player, item, fromPosition, target, toPosition, isHotkey) toPosition:sendMagicEffect(CONST_ME_POFF) elseif target.actionid == 50090 then -- The Hidden City of Beregar Quest - if player:getStorageValue(Storage.hiddenCityOfBeregar.WayToBeregar) == 1 then + if player:getStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.WayToBeregar) == 1 then player:teleportTo(Position(32566, 31338, 10)) end elseif target.actionid == 40028 then From 748b462298fa7b2a571f78a47f9bd45543106e90 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 5 Aug 2024 22:01:28 +0000 Subject: [PATCH 071/112] Lua code format - (Stylua) --- data-otservbr-global/npc/emperor_rehal.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-otservbr-global/npc/emperor_rehal.lua b/data-otservbr-global/npc/emperor_rehal.lua index c811a04d74a..253156c4aa8 100644 --- a/data-otservbr-global/npc/emperor_rehal.lua +++ b/data-otservbr-global/npc/emperor_rehal.lua @@ -102,7 +102,7 @@ local function creatureSayCallback(npc, creature, type, message) if npcHandler:getTopic(playerId) == 2 then npcHandler:say({ "Splendid! My son Rehon set off on an expedition to the deeper mines. He and a group of dwarfs were to search for new veins of crystal. Unfortunately they have been missing for 2 weeks now. ...", - "Find my son and if he's alive bring him back. You will find a reactivated ore wagon tunnel at the entrance of the great citadel which leades to the deeper mines. If you encounter problems within the tunnel go ask Xorlosh, he can help you." + "Find my son and if he's alive bring him back. You will find a reactivated ore wagon tunnel at the entrance of the great citadel which leades to the deeper mines. If you encounter problems within the tunnel go ask Xorlosh, he can help you.", }, npc, creature) player:setStorageValue(Storage.Quest.U8_4.TheHiddenCityOfBeregar.RoyalRescue, 1) npcHandler:setTopic(playerId, 0) From 7f1c4dc845e3e0220e4cc320b9e5df44da7bf523 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Mon, 5 Aug 2024 19:14:56 -0300 Subject: [PATCH 072/112] Yalaharian Outfits Quest You are already within the main quest. --- data-otservbr-global/lib/core/storages.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index e2b13e297b1..9261cfe7d13 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2035,7 +2035,6 @@ Storage = { FirewalkerBoots = 42023, }, TopOfTheCity = {}, - YalaharianOutfits = {}, }, U8_5 = { -- update 8.5 - Reserved Storages 42146 - 42550 Braindeath = {}, From 92363cf54bc00bbcd58747d5da59ed820c7a640c Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Mon, 5 Aug 2024 19:15:55 -0300 Subject: [PATCH 073/112] Braindeath Quest This quest was for The Hidden City of Beregar Quest --- data-otservbr-global/lib/core/storages.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 9261cfe7d13..4c10a47ccfd 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2037,7 +2037,6 @@ Storage = { TopOfTheCity = {}, }, U8_5 = { -- update 8.5 - Reserved Storages 42146 - 42550 - Braindeath = {}, DarashiaDragon = {}, HotCuisine = {}, KillingInTheNameOf = { From 566b28996e4a3249525e0c8d705cdc6f60563e62 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Mon, 5 Aug 2024 19:22:43 -0300 Subject: [PATCH 074/112] Darashia Dragon Quest --- data-otservbr-global/lib/core/storages.lua | 2 +- data-otservbr-global/startup/tables/chest.lua | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 4c10a47ccfd..8a5fb2e868b 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2037,7 +2037,7 @@ Storage = { TopOfTheCity = {}, }, U8_5 = { -- update 8.5 - Reserved Storages 42146 - 42550 - DarashiaDragon = {}, + DarashiaDragon = 42146, HotCuisine = {}, KillingInTheNameOf = { MonsterKillCount = { diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 9d03546267e..5f5f9d8169e 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2435,6 +2435,14 @@ ChestUnique = { weight = 10.00, storage = Storage.Quest.U8_4.TheHiddenCityOfBeregar.FirewalkerBoots, }, + -- Darashia Dragon Quest + [6285] = { + itemId = 5984, + itemPos = { x = 33236, y = 32275, z = 12 }, + reward = { { 3052, 1 } }, + weight = 1.00, + storage = Storage.Quest.U8_5.DarashiaDragon, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) From db2ed13d5fde990f4a3e46c27f45672a7a602194 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Mon, 5 Aug 2024 20:10:21 -0300 Subject: [PATCH 075/112] Darashia Dragon Quest - Fix --- data-otservbr-global/startup/tables/chest.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 5f5f9d8169e..08010bd8dfc 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2437,8 +2437,8 @@ ChestUnique = { }, -- Darashia Dragon Quest [6285] = { - itemId = 5984, - itemPos = { x = 33236, y = 32275, z = 12 }, + itemId = 4286, + itemPos = { x = 33233, y = 32280, z = 12 }, reward = { { 3052, 1 } }, weight = 1.00, storage = Storage.Quest.U8_5.DarashiaDragon, From 89fd9909e3f5c2eed956f06c93fa63d51eff0cd0 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 6 Aug 2024 21:00:27 -0300 Subject: [PATCH 076/112] Hot Cuisine Quest --- data-otservbr-global/lib/core/quests.lua | 4 +- data-otservbr-global/lib/core/storages.lua | 28 +- data-otservbr-global/npc/ahmet.lua | 1 + data-otservbr-global/npc/arito.lua | 3 + data-otservbr-global/npc/armenius.lua | 2 + data-otservbr-global/npc/bashira.lua | 1 + data-otservbr-global/npc/bezil.lua | 1 + data-otservbr-global/npc/bolfona.lua | 1 + data-otservbr-global/npc/boozer.lua | 2 + data-otservbr-global/npc/brasith.lua | 1 + data-otservbr-global/npc/clyde.lua | 3 + data-otservbr-global/npc/dane.lua | 2 + data-otservbr-global/npc/dankwart.lua | 1 + data-otservbr-global/npc/gree_dee.lua | 1 + data-otservbr-global/npc/halif.lua | 1 + data-otservbr-global/npc/jean_pierre.lua | 596 ++++++++++-------- data-otservbr-global/npc/karl.lua | 1 + data-otservbr-global/npc/maria.lua | 2 + data-otservbr-global/npc/mirabell.lua | 3 + data-otservbr-global/npc/miraia.lua | 2 + data-otservbr-global/npc/nezil.lua | 1 + data-otservbr-global/npc/norma.lua | 3 + data-otservbr-global/npc/pugwah.lua | 3 + data-otservbr-global/npc/ramina.lua | 3 +- data-otservbr-global/npc/red_lilly.lua | 1 + data-otservbr-global/npc/satsu.lua | 5 + data-otservbr-global/npc/snake_eye.lua | 2 + data-otservbr-global/npc/swolt.lua | 2 + data-otservbr-global/npc/tanaro.lua | 2 + data-otservbr-global/npc/urkalio.lua | 3 + .../startup/tables/door_quest.lua | 2 +- 31 files changed, 424 insertions(+), 259 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index e1ca3d07f5e..fce31612048 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -705,12 +705,12 @@ if not Quests then }, [9] = { name = "Hot Cuisine", - startStorageId = Storage.HotCuisineQuest.QuestStart, + startStorageId = Storage.Quest.U8_5.HotCuisineQuest.QuestStart, startStorageValue = 1, missions = { [1] = { name = "Hot Cuisine", - storageId = Storage.HotCuisineQuest.QuestLog, + storageId = Storage.Quest.U8_5.HotCuisineQuest.QuestLog, missionId = 1070, startValue = 1, endValue = 16, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 8a5fb2e868b..6704929f8b6 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -893,13 +893,6 @@ Storage = { RotwormTask = 51622, CyclopsTask = 51623, }, - HotCuisineQuest = { - -- Reserved storage from 51650 - 51659 - QuestStart = 51650, - CurrentDish = 51651, - QuestLog = 51652, - CookbookDoor = 51653, - }, TheRookieGuard = { --Reserved storage 52360 - 52395 Questline = 52360, @@ -2038,7 +2031,26 @@ Storage = { }, U8_5 = { -- update 8.5 - Reserved Storages 42146 - 42550 DarashiaDragon = 42146, - HotCuisine = {}, + HotCuisineQuest = { + QuestStart = 42147, + CurrentDish = 42148, + QuestLog = 42149, + CookbookDoor = 42150, + LastInteractionDate2 = 42151, + LastInteractionDate3 = 42152, + LastInteractionDate4 = 42153, + LastInteractionDate5 = 42154, + LastInteractionDate6 = 42155, + LastInteractionDate7 = 42156, + LastInteractionDate8 = 42157, + LastInteractionDate9 = 42158, + LastInteractionDate10 = 42159, + LastInteractionDate11 = 42160, + LastInteractionDate12 = 42161, + LastInteractionDate13 = 42162, + LastInteractionDate14 = 42163, + LastInteractionDate15 = 42164, + }, KillingInTheNameOf = { MonsterKillCount = { KillCount = 42150, diff --git a/data-otservbr-global/npc/ahmet.lua b/data-otservbr-global/npc/ahmet.lua index dfe57f466cd..b9d8ecc914b 100644 --- a/data-otservbr-global/npc/ahmet.lua +++ b/data-otservbr-global/npc/ahmet.lua @@ -49,6 +49,7 @@ npcConfig.shop = { -- Sellable items { itemName = "shovel", clientId = 3457, buy = 10, sell = 8 }, { itemName = "torch", clientId = 2920, buy = 2 }, { itemName = "vial of oil", clientId = 2874, buy = 20, count = 7 }, + { itemName = "vial of water", clientId = 2874, buy = 40, count = 1 }, { itemName = "watch", clientId = 2906, buy = 20, sell = 6 }, { itemName = "waterskin of water", clientId = 2901, buy = 40, count = 1 }, { itemName = "wooden hammer", clientId = 3459, sell = 15 }, diff --git a/data-otservbr-global/npc/arito.lua b/data-otservbr-global/npc/arito.lua index 1eab9a186c3..caa33f8348f 100644 --- a/data-otservbr-global/npc/arito.lua +++ b/data-otservbr-global/npc/arito.lua @@ -134,6 +134,9 @@ npcConfig.shop = { { itemName = "mug of lemonade", clientId = 2880, buy = 2, count = 12 }, { itemName = "mug of water", clientId = 2880, buy = 1, count = 1 }, { itemName = "mug of wine", clientId = 2880, buy = 3, count = 2 }, + { itemName = "vial of beer", clientId = 2874, buy = 2, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 3, count = 1, subType = 2 }, + { itemName = "vial of water", clientId = 2874, buy = 1, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/armenius.lua b/data-otservbr-global/npc/armenius.lua index 9164a78240e..8b24dc1d419 100644 --- a/data-otservbr-global/npc/armenius.lua +++ b/data-otservbr-global/npc/armenius.lua @@ -97,6 +97,8 @@ npcConfig.shop = { { itemName = "mug of rum", clientId = 2880, buy = 10, count = 13 }, { itemName = "mug of wine", clientId = 2880, buy = 4, count = 2 }, { itemName = "tomato", clientId = 3596, buy = 3 }, + { itemName = "vial of beer", clientId = 2874, buy = 3, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 4, count = 1, subType = 2 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/bashira.lua b/data-otservbr-global/npc/bashira.lua index cad33258c39..6a1f987cc2a 100644 --- a/data-otservbr-global/npc/bashira.lua +++ b/data-otservbr-global/npc/bashira.lua @@ -97,6 +97,7 @@ npcConfig.shop = { { itemName = "waterskin of water", clientId = 2901, buy = 10, count = 1 }, { itemName = "wooden hammer", clientId = 3459, sell = 15 }, { itemName = "worm", clientId = 3492, buy = 1 }, + { itemName = "vial of water", clientId = 2874, buy = 10, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/bezil.lua b/data-otservbr-global/npc/bezil.lua index 8a28bd473e5..39f366ef309 100644 --- a/data-otservbr-global/npc/bezil.lua +++ b/data-otservbr-global/npc/bezil.lua @@ -80,6 +80,7 @@ npcConfig.shop = { { itemName = "waterskin of water", clientId = 2901, buy = 40, count = 1 }, { itemName = "wooden hammer", clientId = 3459, sell = 15 }, { itemName = "worm", clientId = 3492, buy = 1 }, + { itemName = "vial of water", clientId = 2874, buy = 10, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/bolfona.lua b/data-otservbr-global/npc/bolfona.lua index adf900568ff..83ee91f7ac9 100644 --- a/data-otservbr-global/npc/bolfona.lua +++ b/data-otservbr-global/npc/bolfona.lua @@ -103,6 +103,7 @@ npcConfig.shop = { { itemName = "ham", clientId = 3582, buy = 8 }, { itemName = "meat", clientId = 3577, buy = 5 }, { itemName = "mug of beer", clientId = 2880, buy = 2, count = 3 }, + { itemName = "vial of beer", clientId = 2874, buy = 2, count = 1, subType = 3 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/boozer.lua b/data-otservbr-global/npc/boozer.lua index b63fa7620fb..a2eaa22d179 100644 --- a/data-otservbr-global/npc/boozer.lua +++ b/data-otservbr-global/npc/boozer.lua @@ -98,6 +98,8 @@ npcConfig.shop = { { itemName = "mug of lemonade", clientId = 2880, buy = 2, count = 12 }, { itemName = "mug of water", clientId = 2880, buy = 2, count = 1 }, { itemName = "mug of wine", clientId = 2880, buy = 3, count = 2 }, + { itemName = "vial of beer", clientId = 2874, buy = 2, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 3, count = 1, subType = 2 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/brasith.lua b/data-otservbr-global/npc/brasith.lua index b2939eb081b..7160ee8c03b 100644 --- a/data-otservbr-global/npc/brasith.lua +++ b/data-otservbr-global/npc/brasith.lua @@ -77,6 +77,7 @@ npcConfig.shop = { { itemName = "potato", clientId = 8010, buy = 4 }, { itemName = "pumpkin", clientId = 3594, buy = 10 }, { itemName = "strawberry", clientId = 3591, buy = 1 }, + { itemName = "vial of milk", clientId = 2874, buy = 15, count = 1, subType = 9 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/clyde.lua b/data-otservbr-global/npc/clyde.lua index fcaf9ea011a..4142cee2cbc 100644 --- a/data-otservbr-global/npc/clyde.lua +++ b/data-otservbr-global/npc/clyde.lua @@ -64,6 +64,9 @@ npcConfig.shop = { { itemName = "mug of water", clientId = 2880, buy = 2, count = 1 }, { itemName = "mug of wine", clientId = 2880, buy = 3, count = 2 }, { itemName = "tomato", clientId = 3596, buy = 3 }, + { itemName = "vial of beer", clientId = 2874, buy = 2, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 3, count = 1, subType = 2 }, + { itemName = "vial of water", clientId = 2874, buy = 1, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/dane.lua b/data-otservbr-global/npc/dane.lua index c2e3c612414..f2dd71762c0 100644 --- a/data-otservbr-global/npc/dane.lua +++ b/data-otservbr-global/npc/dane.lua @@ -67,6 +67,8 @@ npcConfig.shop = { { itemName = "bottle of lemonade", clientId = 2875, buy = 12, count = 12 }, { itemName = "bottle of milk", clientId = 2875, buy = 4, count = 9 }, { itemName = "bottle of water", clientId = 2875, buy = 2, count = 1 }, + { itemName = "vial of milk", clientId = 2874, buy = 4, count = 1, subType = 9 }, + { itemName = "vial of water", clientId = 2874, buy = 2, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/dankwart.lua b/data-otservbr-global/npc/dankwart.lua index dfc7bc2802d..ce7bea847c7 100644 --- a/data-otservbr-global/npc/dankwart.lua +++ b/data-otservbr-global/npc/dankwart.lua @@ -59,6 +59,7 @@ npcConfig.shop = { { itemName = "meat", clientId = 3577, buy = 5 }, { itemName = "mug of mead", clientId = 2880, buy = 5, count = 16 }, { itemName = "mug of tea", clientId = 2880, buy = 3, count = 17 }, + { itemName = "vial of mead", clientId = 2874, buy = 5, count = 1, subType = 16 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/gree_dee.lua b/data-otservbr-global/npc/gree_dee.lua index 9415ef79105..287edb79a1b 100644 --- a/data-otservbr-global/npc/gree_dee.lua +++ b/data-otservbr-global/npc/gree_dee.lua @@ -84,6 +84,7 @@ npcConfig.shop = { { itemName = "waterskin of water", clientId = 2901, buy = 40, count = 1 }, { itemName = "wooden hammer", clientId = 3459, sell = 15 }, { itemName = "worm", clientId = 3492, buy = 1 }, + { itemName = "vial of water", clientId = 2874, buy = 10, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/halif.lua b/data-otservbr-global/npc/halif.lua index e2e55484d37..27317ec6692 100644 --- a/data-otservbr-global/npc/halif.lua +++ b/data-otservbr-global/npc/halif.lua @@ -76,6 +76,7 @@ npcConfig.shop = { { itemName = "shovel", clientId = 3457, buy = 10, sell = 8 }, { itemName = "torch", clientId = 2920, buy = 2 }, { itemName = "vial of oil", clientId = 2874, buy = 20, count = 7 }, + { itemName = "vial of water", clientId = 2874, buy = 40, count = 1 }, { itemName = "watch", clientId = 2906, buy = 20, sell = 6 }, { itemName = "waterskin of water", clientId = 2901, buy = 40, count = 1 }, { itemName = "wooden hammer", clientId = 3459, sell = 15 }, diff --git a/data-otservbr-global/npc/jean_pierre.lua b/data-otservbr-global/npc/jean_pierre.lua index df20c85c72d..2df3503ebcd 100644 --- a/data-otservbr-global/npc/jean_pierre.lua +++ b/data-otservbr-global/npc/jean_pierre.lua @@ -47,16 +47,16 @@ end local ingredients = { [1] = { { 3577, 2 }, { 8010, 20 }, { 8015, 1 }, { 8197, 1 }, { 3603, 5 }, { 2874, 2, 3 } }, - [2] = { { 7250, 2 }, { 3596, 2 }, { 8014, 1 }, { 3606, 2 }, { 3741, 1 }, { 2874, 1, 15 } }, + [2] = { { 7250, 2 }, { 3596, 2 }, { 8014, 1 }, { 3606, 2 }, { 3741, 1 }, { 2874, 1, 2 } }, [3] = { { 4363, 1 }, { 8016, 3 }, { 3602, 5 }, { 3606, 2 }, { 3739, 1 }, { 3724, 5 } }, - [4] = { { 4330, 1 }, { 8013, 2 }, { 3586, 2 }, { 5096, 2 }, { 2874, 2, 14 }, { 3735, 1 } }, - [5] = { { 6574, 1 }, { 904, 1 }, { 3587, 2 }, { 2874, 2, 6 }, { 3738, 1 }, { 3736, 1 } }, + [4] = { { 4330, 1 }, { 8013, 2 }, { 3586, 2 }, { 5096, 2 }, { 2874, 2, 15 }, { 3735, 1 } }, + [5] = { { 6574, 1 }, { 6393, 1 }, { 3587, 2 }, { 2874, 2, 9 }, { 3738, 1 }, { 3736, 1 } }, [6] = { { 3595, 2 }, { 3596, 2 }, { 3597, 2 }, { 8014, 2 }, { 8015, 1 }, { 8197, 1 }, { 3607, 1 }, { 3723, 20 }, { 3725, 5 } }, - [7] = { { 8016, 10 }, { 3607, 2 }, { 3741, 1 }, { 3740, 1 }, { 2874, 1, 43 }, { 3606, 2 } }, + [7] = { { 8016, 10 }, { 3607, 2 }, { 3741, 1 }, { 3740, 1 }, { 2874, 1, 16 }, { 3606, 2 } }, [8] = { { 3582, 1 }, { 8011, 5 }, { 8015, 1 }, { 8017, 2 }, { 3594, 1 }, { 8016, 2 } }, [9] = { { 3580, 1 }, { 7158, 1 }, { 7159, 1 }, { 3581, 5 }, { 3601, 2 }, { 3737, 1 } }, - [10] = { { 3595, 5 }, { 2874, 1, 6 }, { 8013, 1 }, { 3603, 10 }, { 3606, 2 }, { 3598, 10 }, { 841, 2 } }, - [11] = { { 2874, 5, 14 }, { 3725, 5 }, { 3724, 5 }, { 10329, 10 }, { 3581, 10 } }, + [10] = { { 3595, 5 }, { 2874, 1, 9 }, { 8013, 1 }, { 3603, 10 }, { 3606, 2 }, { 3598, 10 }, { 841, 2 } }, + [11] = { { 2874, 5, 15 }, { 3725, 5 }, { 3724, 5 }, { 10329, 10 }, { 3581, 10 } }, [12] = { { 10456, 5 }, { 2874, 2, 1 }, { 3595, 20 }, { 8010, 10 }, { 8016, 3 } }, [13] = { { 6569, 3 }, { 3599, 3 }, { 6574, 2 }, { 6500, 15 }, { 6558, 1 } }, [14] = { { 3606, 40 }, { 5096, 20 }, { 5902, 10 }, { 8758, 1 }, { 5942, 1 } }, @@ -64,7 +64,7 @@ local ingredients = { local function playerHasIngredients(creature) local player = Player(creature) - local table = ingredients[player:getStorageValue(Storage.HotCuisineQuest.CurrentDish)] + local table = ingredients[player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish)] if table then for i = 1, #table do local itemCount = player:getItemCount(table[i][1], table[i][3] or -1) @@ -80,16 +80,45 @@ local function playerHasIngredients(creature) end return true end + +local function endConversationWithDelay(npcHandler, npc, creature) + addEvent(function() + npcHandler:unGreet(npc, creature) + end, 1000) +end + +local function canCookToday(player, lastInteractionKey) + local currentDate = os.time() + local lastInteractionDate = player:getStorageValue(lastInteractionKey) + + if lastInteractionDate == -1 then + return true + end + + local lastDateTable = os.date("*t", lastInteractionDate) + local currentDateTable = os.date("*t", currentDate) + + if currentDateTable.month == 8 and (currentDateTable.year > lastDateTable.year or lastDateTable.month ~= 8) then + return true + end + + return false +end + local function greetCallback(npc, creature) - local player = Player(creature) - local playerId = player:getId() + local player = Player(creature) + local playerId = player:getId() - if player:getStorageValue(Storage.HotCuisineQuest.QuestStart) < 1 then - npcHandler:setMessage(MESSAGE_GREET, "Greetings, |PLAYERNAME|. What are you doing out here?") - else - npcHandler:setMessage(MESSAGE_GREET, "Hello there again, |PLAYERNAME|! I guess you're back for some cooking - let's get going then!") - end - return true + local currentDate = os.time() + local currentDateTable = os.date("*t", currentDate) + + if currentDateTable.month == 8 then + npcHandler:setMessage(MESSAGE_GREET, "Greetings, |PLAYERNAME|. What are you doing out here?") + else + endConversationWithDelay(npcHandler, npc, creature) + end + + return true end local function creatureSayCallback(npc, creature, type, message) @@ -100,8 +129,10 @@ local function creatureSayCallback(npc, creature, type, message) return false end + local currentDate = os.time() + if MsgContains(message, "cook") then - if player:getStorageValue(Storage.HotCuisineQuest.QuestStart) < 1 then + if player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) < 1 then npcHandler:say("Well, I'm not a simple cook. I travel the whole Tibian continent for the most artfully seasoned {recipes} and constantly develop new ones.", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -110,72 +141,72 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("You're interested in my recipes? Well. They are not for sale, but if you want to become my {apprentice}, I'll share my knowledge with you.", npc, creature) npcHandler:setTopic(playerId, 2) end - if player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 1 then - if player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 1 then + if player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then + if player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 1 then npcHandler:say({ "The first dish we are going to prepare together is called {Rotworm Stew}. Now, don't be scared off. Of course we won't eat those nasty and dirty earth-crawlers! ...", "The name is just for the effect it has on people. Bring me the following ingredients and I'll show you how it's done. ...", "Two pieces of meat, two vials of beer, twenty potatoes, one onion, one bulb of garlic and five ounces of flour. Make sure that the ingredients are fresh and smell good.", }, npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 2 then npcHandler:say({ "The next dish we are going to prepare together is called {Hydra Tongue Salad}. The common hydra tongue is a pest plant with an surprisingly aromatic taste. ...", "We'll add some other vegetables and spices for the delicate and distinctive taste. Bring me the following ingredients and I'll show you how it's done. ...", "Two hydra tongue plants, two tomatoes, one cucumber, two eggs, one troll green and one vial of wine.", }, npc, creature) npcHandler:setTopic(playerId, 6) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 3 then npcHandler:say({ "The next dish we are going to prepare together is called {Roasted Dragon Wings}. Oh, don't give me that look! Of course you don't have to bring a whole dragon up here. ...", "The 'dragon' part derives from the fiery afterburn of this meal, but the wings we use are much smaller, though similar in shape. Bring me the following ingredients and I'll show you how it's done. ...", "One fresh dead bat, three jalapeño peppers, five brown breads, two eggs, one powder herb and five red mushrooms.", }, npc, creature) npcHandler:setTopic(playerId, 8) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 4 then npcHandler:say({ "The next dish we are going to prepare together is called {Tropical Fried Terrorbird}. You might have guessed it, we're not going to use a terrorbird. But! ...", "The dish is quite fried and tropical. Bring me the following ingredients and we're going to prepare it: One fresh dead chicken, two lemons, two oranges, two mangos, one stone herb and two vials of coconut milk.", }, npc, creature) npcHandler:setTopic(playerId, 10) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 5 then npcHandler:say({ "The next dish we are going to prepare together is called {Banana Chocolate Shake}. After all those spicy dishes you should treat your guests with a sweet surprise. ...", "Bring me the following ingredients and we'll make one hell of a drink: one bar of chocolate, one cream cake, two bananas, two vials of milk, one sling herb and one star herb.", }, npc, creature) npcHandler:setTopic(playerId, 12) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 6 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 6 then npcHandler:say({ "The next dish we are going to prepare together is called {Veggie Casserole}. This one is going to be your masterpiece so far, I'm telling you. ...", "It's also quite healthy! - Well, that's what I keep telling me when I eat the third serving, hehehe. Bring me the following ingredients and I'll show you how it's done. ...", "Two carrots, two tomatoes, two corncobs, two cucumbers, one onion, one bulb of garlic, one piece of cheese, twenty white mushrooms and five brown mushrooms.", }, npc, creature) npcHandler:setTopic(playerId, 14) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 7 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 7 then npcHandler:say({ "The next dish we are going to prepare together is called {Filled Jalapeño Peppers}. It's a great snack and quite spicy, for those who like it hot. ...", "Bring me the following ingredients and I'll show you how it's done: Ten jalapeño peppers, two pieces of cheese, one troll green, one shadow herb, one vial of mead and two eggs.", }, npc, creature) npcHandler:setTopic(playerId, 16) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 8 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 8 then npcHandler:say({ "The next dish we are going to prepare together is called {Blessed Steak}. I'm sorry, I couldn't resist the pun with this one. ...", "Don't worry, there's no temple trip awaiting you. Just bring me the following: one piece of ham, five plums, one onion, two beetroots, one pumpkin and two jalapeño peppers.", }, npc, creature) npcHandler:setTopic(playerId, 18) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 9 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 9 then npcHandler:say({ "The next dish we are going to prepare together is called {Northern Fishburger}. I hope you like fish, not everyone does. This one is a specialty I picked up in Svargrond. ...", "Bring me the following ingredients and I'll show you how it's done: one northern pike, one rainbow trout, one green perch, five shrimps, two rolls and one fern.", }, npc, creature) npcHandler:setTopic(playerId, 20) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 10 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 10 then npcHandler:say({ "The last dish we are going to prepare together is called {Carrot Cake}. Yes, it's a real cake, we need a tasty desert to complete our cooking course. ...", "Bring me the following ingredients and I'll lead you through it: five carrots, one vial of milk, one lemon, ten ounces of flour, two eggs, ten cookies and two peanuts.", }, npc, creature) npcHandler:setTopic(playerId, 22) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 11 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 11 then npcHandler:say({ "Yes, you heard that right! Even though I was laying sick on my divan for weeks, I have some new dishes for you. Ehem. Of course I couldn't have done it without my little helpers travelling around the world and discovering recipes. ...", "So... ... each good menu needs an amazing starter to awaken and stimulate all the little taste buds on your tongue. We're going to cook a nice portion of {Coconut Shrimp Bake}! ...", @@ -183,7 +214,7 @@ local function creatureSayCallback(npc, creature, type, message) "... because of the dish, I mean, of course. Ehem. Bring me the following ingredients and we'll get started: Five vials of coconut milk, five brown mushrooms, five red mushrooms, ten rice balls and ten shrimps.", }, npc, creature) npcHandler:setTopic(playerId, 24) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 12 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 12 then npcHandler:say({ "After this wonderful and tasty starter we're all set for a special dish I learnt from a brave adventurer who almost starved when he got lost in the mountains between Ankrahmun and Port Hope, or so he told me. ...", "Luckily, he was saved by nomads - can you imagine? - and they fed him a special local dish that's very cheap and easy to prepare, yet rich in vitamins and spending energy for hours. ...", @@ -192,7 +223,7 @@ local function creatureSayCallback(npc, creature, type, message) "Bring me the following ingredients - if you dare - and I'll show you the secret of {Blackjack}: Five sandcrawler shells, two vials of water, twenty carrots, ten potatoes and three jalapeño peppers.", }, npc, creature) npcHandler:setTopic(playerId, 26) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 13 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 13 then npcHandler:say({ "Weren't you surprised by the great taste of our main dish? In case you still have some space left in your tummy, we're in for a sweet and fun dessert - but beware unwanted side effects! ...", "It was introduced to me by a fearless knight who invented this recipe rather by accident when a bottle of demonic blood broke in his backpack and spilled its contents over his bag of candy balls. ...", @@ -201,7 +232,7 @@ local function creatureSayCallback(npc, creature, type, message) "In any case, bring me the following ingredients and we'll make some {Demonic Candy Balls}, if you like: Three candies, three candy canes, two bars of chocolate, fifteen gingerbread men and one concentrated demonic blood.", }, npc, creature) npcHandler:setTopic(playerId, 28) - elseif player:getStorageValue(Storage.HotCuisineQuest.CurrentDish) == 14 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish) == 14 then npcHandler:say({ "Did you dare eat all of your Demonic Candy Balls...? Hehehe! Well, I almost forgot one of the most essential parts for a perfect dinner. A drink! I have one for you, almost a designer drink you could say. ...", "Its inventor seems to have done some scientific research in order to achieve his desired effect, which is - charging magical rings. You have to drink it while you're wearing one for a miraculous effect! ...", @@ -210,7 +241,7 @@ local function creatureSayCallback(npc, creature, type, message) }, npc, creature) npcHandler:setTopic(playerId, 30) end - elseif player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) == 2 then npcHandler:say("You can now cook any dish you want from this list: {Rotworm Stew, Hydra Tongue Salad, Roasted Dragon Wings, Tropical Fried Terrorbird, Banana Chocolate Shake, Veggie Casserole, Filled Jalapeno Peppers, Blessed Steak, Northern Fishburger, Carrot Cake, Coconut Shrimp Bake, Blackjack, Demonic Candy Balls, Sweet Mangonaise Elixir}.", npc, creature) end elseif MsgContains(message, "apprentice") then @@ -221,330 +252,401 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 3 then npcHandler:say("Fine, young human. Ask me for a {recipe} anytime and I'll teach you what I know.", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.QuestStart, 1) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 1) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 1) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart, 1) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 1) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 1) elseif npcHandler:getTopic(playerId) == 5 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Aah, so let's see! We cook the meat in a large pot together with the chopped onion until it's separated from the bones. Now we also have a fine meat broth! ...", - "Cut the potatoes into small pieces and add them to the pot. Add some flour to thicken the stew. Finally, spice it up with some garlic and add beer for the typical dwarvish taste! ...", - "And voilà, we're done. I developed this recipe while talking to Maryza in the Jolly Axeman. She said to eat it when one's health is low. Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 2) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 2) - player:addItem(9079, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate2) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Aah, so let's see! We cook the meat in a large pot together with the chopped onion until it's separated from the bones. Now we also have a fine meat broth! ...", + "Cut the potatoes into small pieces and add them to the pot. Add some flour to thicken the stew. Finally, spice it up with some garlic and add beer for the typical dwarvish taste! ...", + "And voilà, we're done. I developed this recipe while talking to Maryza in the Jolly Axeman. She said to eat it when one's health is low. Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 2) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 2) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate2, currentDate) + player:addItem(9079, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 7 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Okay, here we go! This one is easy, just chop the hydra tongues, tomatoes and cucumber into tiny pieces. ...", - "Now for the sauce - our base is wine, in which we mix the raw eggs until it got a nice smooth consistency. Add grinded troll green, whose flavour is quite similar to basil and shake the sauce in a mug. ...", - "Pour it over the salad, and voilà, we're done! This is a Venorean recipe and very tasty. I recommend eating it when you're suffering from some kind of dangerous condition. Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 3) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 3) - player:addItem(9080, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate3) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Okay, here we go! This one is easy, just chop the hydra tongues, tomatoes and cucumber into tiny pieces. ...", + "Now for the sauce - our base is wine, in which we mix the raw eggs until it got a nice smooth consistency. Add grinded troll green, whose flavour is quite similar to basil and shake the sauce in a mug. ...", + "Pour it over the salad, and voilà, we're done! This is a Venorean recipe and very tasty. I recommend eating it when you're suffering from some kind of dangerous condition. Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 3) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 3) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate3, currentDate) + player:addItem(9080, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 9 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Let's get started! The trick with this one is the crunchy crust around the wings. ...", - "First, we grate the dry brown bread into very small crumbs and mix that with the two eggs. Add grinded peppers for the spicy taste and the powder herb for a hint of curry flavour. ...", - "Carefully separate the bat wings, clean them of any possible hairs and coat them in our mixture. Roast them in a pan together with sliced mushrooms and serve. ...", - "Voilà, we're done! This recipe is from the area around Thais and should help you protect yourself in your battles. Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 4) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 4) - player:addItem(9081, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate4) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Let's get started! The trick with this one is the crunchy crust around the wings. ...", + "First, we grate the dry brown bread into very small crumbs and mix that with the two eggs. Add grinded peppers for the spicy taste and the powder herb for a hint of curry flavour. ...", + "Carefully separate the bat wings, clean them of any possible hairs and coat them in our mixture. Roast them in a pan together with sliced mushrooms and serve. ...", + "Voilà, we're done! This recipe is from the area around Thais and should help you protect yourself in your battles. Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate4, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 4) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 4) + player:addItem(9081, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 11 then - if playerHasIngredients(creature) then - npcHandler:say({ - "This is a recipe right from the jungles of Tiquanda! Grind the stone herb and mix it with the coconut milk, then bathe the chicken in it for a while. ...", - "In the meantime, peel the oranges and mangos, chop them into pieces and add them to the mix. Take the chicken out of its bath and fry it, preferably over open fire. ...", - "Take the fruits out of the spicy coconut milk and heat them on an oven. Once the chicken is fried, add the fruits and spray some squeezed lemon over it. ...", - "Voilà, we're done! They say that this dish has magical abilities and can awaken secret powers in you during your battles. Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 5) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 5) - player:addItem(9082, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate5) then + if playerHasIngredients(creature) then + npcHandler:say({ + "This is a recipe right from the jungles of Tiquanda! Grind the stone herb and mix it with the coconut milk, then bathe the chicken in it for a while. ...", + "In the meantime, peel the oranges and mangos, chop them into pieces and add them to the mix. Take the chicken out of its bath and fry it, preferably over open fire. ...", + "Take the fruits out of the spicy coconut milk and heat them on an oven. Once the chicken is fried, add the fruits and spray some squeezed lemon over it. ...", + "Voilà, we're done! They say that this dish has magical abilities and can awaken secret powers in you during your battles. Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate5, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 5) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 5) + player:addItem(9082, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 13 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Great! Let's get it done! An easy one again, but you'll get right into holiday mood, like the Meriana beach dwellers I got that recipe from. ...", - "Melt the chocolate in a hot-water bath and add the grinded herbs - did you know, those herbs have a flavour like cinnamon and vanilla, yummy! Keep at gentle heat and add the milk. ...", - "Mash the banana and stir it really well into the chocolate-milk mixture. Gosh, do you smell that? Pure goodness! Now finally, we take just a bit of the creamcake and fold it in. ...", - "Voilà, we're done! To be honest, I don't know what this drink does, but at least it makes me really happy. Drink together with a loved one and enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 6) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 6) - player:addItem(9083, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate6) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Great! Let's get it done! An easy one again, but you'll get right into holiday mood, like the Meriana beach dwellers I got that recipe from. ...", + "Melt the chocolate in a hot-water bath and add the grinded herbs - did you know, those herbs have a flavour like cinnamon and vanilla, yummy! Keep at gentle heat and add the milk. ...", + "Mash the banana and stir it really well into the chocolate-milk mixture. Gosh, do you smell that? Pure goodness! Now finally, we take just a bit of the creamcake and fold it in. ...", + "Voilà, we're done! To be honest, I don't know what this drink does, but at least it makes me really happy. Drink together with a loved one and enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate6, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 6) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 6) + player:addItem(9083, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 15 then - if playerHasIngredients(creature) then - npcHandler:say({ - "So let's start! This is a dish especially famous in the area around Ab'Dendriel! Chop the onions into little cubes and sweat them in a pan until they are glassy. ...", - "Add garlic and mushrooms and fry gently until the mushrooms have shrunk up. Now, we add the peeled tomatoes and corn and have it all nicely cook together. ...", - "Put in carrot pieces and cucumber at the very end, so they will stay crisp! Finally put the cheese over it like a little blanket have it melt on the oven until it's slightly brownish. ...", - "And voilà, we're done! This dish will help you in your battles and supply you with enough power to hit really hard! Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 7) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 7) - player:addItem(9084, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate7) then + if playerHasIngredients(creature) then + npcHandler:say({ + "So let's start! This is a dish especially famous in the area around Ab'Dendriel! Chop the onions into little cubes and sweat them in a pan until they are glassy. ...", + "Add garlic and mushrooms and fry gently until the mushrooms have shrunk up. Now, we add the peeled tomatoes and corn and have it all nicely cook together. ...", + "Put in carrot pieces and cucumber at the very end, so they will stay crisp! Finally put the cheese over it like a little blanket have it melt on the oven until it's slightly brownish. ...", + "And voilà, we're done! This dish will help you in your battles and supply you with enough power to hit really hard! Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate7, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 7) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 7) + player:addItem(9084, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 17 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Okay! So after all of these heavy dishes, we're going to create a fast little snack. ...", - "First of all, remove the top of the jalapeño peppers and clean their inside, so that you have space for the filling. Now for the filling, we grate the cheese and mix it with the mead and the eggs, until it has a nice consistency. ...", - "We add the grinded herbs and blend it well. Push a spoonful in each jalapeño pepper until they are nicely stuffed. Now, we shortly fry the jalapeño peppers in a pan to heat them up. ...", - "The filling will melt nicely, just be careful that it doesn't drip out! And voilà, we're done! ...", - "This famous dish from Ankrahmun is quite hot and spicy, so only eat one at a time. It's also possible that you get the urge to run really fast afterwards. Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 8) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 8) - player:addItem(9085, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate8) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Okay! So after all of these heavy dishes, we're going to create a fast little snack. ...", + "First of all, remove the top of the jalapeño peppers and clean their inside, so that you have space for the filling. Now for the filling, we grate the cheese and mix it with the mead and the eggs, until it has a nice consistency. ...", + "We add the grinded herbs and blend it well. Push a spoonful in each jalapeño pepper until they are nicely stuffed. Now, we shortly fry the jalapeño peppers in a pan to heat them up. ...", + "The filling will melt nicely, just be careful that it doesn't drip out! And voilà, we're done! ...", + "This famous dish from Ankrahmun is quite hot and spicy, so only eat one at a time. It's also possible that you get the urge to run really fast afterwards. Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate8, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 8) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 8) + player:addItem(9085, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 19 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Here we go! This will break through the meat fibres, making our steak more tender for this fine Daramanian dish. ...", - "It's easy to prepare, just chop and sweat the onions and add small pieces of pumpkin, beetroot, plums and peppers. Put the steak into the pan too to let it absorb some of the sweet and fruity flavour. ...", - "Finally, remove the fruits and onions from the pan and fry the steak from both sides until it's crisp and crusty. Put on a plate and decorate with the fruit mix. ...", - "The people of Darashia say that it has magical abilities and will help you if you feel totally drained. Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 9) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 9) - player:addItem(9086, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate9) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Here we go! This will break through the meat fibres, making our steak more tender for this fine Daramanian dish. ...", + "It's easy to prepare, just chop and sweat the onions and add small pieces of pumpkin, beetroot, plums and peppers. Put the steak into the pan too to let it absorb some of the sweet and fruity flavour. ...", + "Finally, remove the fruits and onions from the pan and fry the steak from both sides until it's crisp and crusty. Put on a plate and decorate with the fruit mix. ...", + "The people of Darashia say that it has magical abilities and will help you if you feel totally drained. Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate9, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 9) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 9) + player:addItem(9086, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 21 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Great! After all this meat, we shouldn't neglect to prepare some fish. ...", - "This easy dish from Svargrond is what you'd call fast food, but its outstanding taste justifies to put it in my book about {Hot Cuisine}. ...", - "Simply cut the rolls in half, shortly fry one slice of each fish type, put in the shrimps and spice up with grinded fern, which, by the way, tastes slightly like dill. ...", - "Nicely decorate it on a plate, and voilr, we're done already! Can't tell you much about the effects, but fishermen in Svargrond seem to love it. Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 10) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 10) - player:addItem(9088, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate10) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Great! After all this meat, we shouldn't neglect to prepare some fish. ...", + "This easy dish from Svargrond is what you'd call fast food, but its outstanding taste justifies to put it in my book about {Hot Cuisine}. ...", + "Simply cut the rolls in half, shortly fry one slice of each fish type, put in the shrimps and spice up with grinded fern, which, by the way, tastes slightly like dill. ...", + "Nicely decorate it on a plate, and voilà, we're done already! Can't tell you much about the effects, but fishermen in Svargrond seem to love it. Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate10, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 10) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 10) + player:addItem(9088, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 23 then - if playerHasIngredients(creature) then - npcHandler:say({ - "So, now for our final dish - a grand dessert from the amazon girls at Carlin! ...", - "It's easy as it can be - mix a normal cake dough with milk, flour and eggs, then add some cookie crumbs for the crunchy effect later on. ...", - "Stir in the grated carrots and tiny peanut pieces and bake it for about thirty minutes! Now we'll make a great topping with sugar and lemon juice, pour it over the cake and decorate it. ...", - "And voilà, we're done! The girls of Carlin swear that it sharpens their eyesight, at least for a while. I'm sure it will somehow aid you in your battles. Enjoy! ...", - "Oh, which reminds me - my little apprentice, we are finished with our cooking course. I think you did great and if it was my decision, you could open your own tavern. ...", - "But anyway, it's up to you what you make of your newly discovered skills! In case you forget my recipes, please feel free to take a copy of the cookbook upstairs. ...", - "You can drop by and practice cooking those dishes, at least during the time that I'm at home. I promise that I will cook each dish once with you, but then I have to take care of my other apprentices. Cheers to you!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 11) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 11) - player:setStorageValue(Storage.HotCuisineQuest.CookbookDoor, 1) - player:addItem(10000, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate11) then + if playerHasIngredients(creature) then + npcHandler:say({ + "So, now for our final dish - a grand dessert from the amazon girls at Carlin! ...", + "It's easy as it can be - mix a normal cake dough with milk, flour and eggs, then add some cookie crumbs for the crunchy effect later on. ...", + "Stir in the grated carrots and tiny peanut pieces and bake it for about thirty minutes! Now we'll make a great topping with sugar and lemon juice, pour it over the cake and decorate it. ...", + "And voilà, we're done! The girls of Carlin swear that it sharpens their eyesight, at least for a while. I'm sure it will somehow aid you in your battles. Enjoy! ...", + "Oh, which reminds me - my little apprentice, we are finished with our cooking course. I think you did great and if it was my decision, you could open your own tavern. ...", + "But anyway, it's up to you what you make of your newly discovered skills! In case you forget my recipes, please feel free to take a copy of the cookbook upstairs. ...", + "You can drop by and practice cooking those dishes, at least during the time that I'm at home. I promise that I will cook each dish once with you, but then I have to take care of my other apprentices. Cheers to you!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate11, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 11) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 11) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CookbookDoor, 1) + player:addItem(10000, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 25 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Yum! Just the thought of it makes me drool. ...", - "I see you brought real Zaoan rice balls! That saves us a lot of time as we don't have to cook the rice anymore. Now we just flatten them out nice and medium thick on this baking tray. ...", - "In the meantime, our shrimps have absorbed some of the coconut milk and we can now add them on top of the rice. ...", - "Now we just need to add the mushrooms , pour the rest of the coconut milk over it and put it into the oven! ...", - "... dum di dum ... ...", - "Aaaaaaand there you go! Sweet coconut goodness! And psst - the shrimps add some submarine flavour to this dish. You should definitely eat it while walking underwater and wearing a helmet of the deep. Just in case. Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 12) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 13) - player:addItem(11584, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate12) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Yum! Just the thought of it makes me drool. ...", + "I see you brought real Zaoan rice balls! That saves us a lot of time as we don't have to cook the rice anymore. Now we just flatten them out nice and medium thick on this baking tray. ...", + "In the meantime, our shrimps have absorbed some of the coconut milk and we can now add them on top of the rice. ...", + "Now we just need to add the mushrooms , pour the rest of the coconut milk over it and put it into the oven! ...", + "... dum di dum ... ...", + "Aaaaaaand there you go! Sweet coconut goodness! And psst - the shrimps add some submarine flavour to this dish. You should definitely eat it while walking underwater and wearing a helmet of the deep. Just in case. Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate12, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 12) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 13) + player:addItem(11584, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 27 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Awesome! Let's go! Let's start with preparing the sandcrawlers ...", - "I understand your scepticism, but believe me, all will be well! As you can see, they change colour from dark to light red, and that's when they also start turning soft. ...", - "Now add whole potatoes and let everything cook at high temperature until the potatoes are so soft they're basically falling apart. ...", - "Yes yes, I know, don't give me that look! You'll be surprised! Now just add the chopped carrots and chili for a healthy portion of vitamins and spices, keep stiring and mashing and let it simmer for about an hour. ...", - "You're wondering why I chose a simple recipe like that for my famous menu? You'll know when you taste it! ...", - "Heeeeeere you are - just a few spoons of this great stew make you so full that the bowl I give you will last for a long time until it's finally depleted. Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 13) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 14) - player:addItem(11586, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate13) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Awesome! Let's go! Let's start with preparing the sandcrawlers ...", + "I understand your scepticism, but believe me, all will be well! As you can see, they change colour from dark to light red, and that's when they also start turning soft. ...", + "Now add whole potatoes and let everything cook at high temperature until the potatoes are so soft they're basically falling apart. ...", + "Yes yes, I know, don't give me that look! You'll be surprised! Now just add the chopped carrots and chili for a healthy portion of vitamins and spices, keep stiring and mashing and let it simmer for about an hour. ...", + "You're wondering why I chose a simple recipe like that for my famous menu? You'll know when you taste it! ...", + "Heeeeeere you are - just a few spoons of this great stew make you so full that the bowl I give you will last for a long time until it's finally depleted. Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate13, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 13) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 14) + player:addItem(11586, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 29 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Very nice! I'm ready for action! ...", - "After having crushed all those sweets, we need to melt the chocolate into a thick liquid... ...", - "... and form little balls together with the sweets! ...", - "Now, carefully, we add the demonic blood... ...", - "Here you go, but beware possible side effects! You never know for sure what will happen and so far all of those I tried had awesome effects, so of course I don't hope for nasty surprises! Enjoy!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 14) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 15) - player:addItem(11587, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate14) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Very nice! I'm ready for action! ...", + "After having crushed all those sweets, we need to melt the chocolate into a thick liquid... ...", + "... and form little balls together with the sweets! ...", + "Now, carefully, we add the demonic blood... ...", + "Here you go, but beware possible side effects! You never know for sure what will happen and so far all of those I tried had awesome effects, so of course I don't hope for nasty surprises! Enjoy!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate14, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 14) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 15) + player:addItem(11587, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 31 then - if playerHasIngredients(creature) then - npcHandler:say({ - "Time to have a sweet drink! Let's pour the bug milk into my cauldron and heat it over fire until it's boiling... there! ...", - "Now we're breaking all of the eggs into there - 1, 2, 10, 20, 40 crumble the honeycombs and toss the sliced mangoes into the hot mix. ...", - "Now we just have to let it simmer and stir using a blessed wooden stake for thirty minutes. ...", - "By now, the power of the blessed wooden stake will have been transferred into our elixir, so let's put out the fire and let it cool down. ...", - " There! Its inventor said it had amazing effects on the ring you're wearing, as long as the ring is based on time, not on charges. Enjoy! ...", - "And by the way... since those were all the recipes from this year and you cooked them so nicely, you may take the cookbook containing them from upstairs, if you like!", - }, npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.QuestStart, 2) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 15) - player:setStorageValue(Storage.HotCuisineQuest.QuestLog, 16) - player:addItem(11588, 1) - npcHandler:setTopic(playerId, 0) + if canCookToday(player, Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate15) then + if playerHasIngredients(creature) then + npcHandler:say({ + "Time to have a sweet drink! Let's pour the bug milk into my cauldron and heat it over fire until it's boiling... there! ...", + "Now we're breaking all of the eggs into there - 1, 2, 10, 20, 40 crumble the honeycombs and toss the sliced mangoes into the hot mix. ...", + "Now we just have to let it simmer and stir using a blessed wooden stake for thirty minutes. ...", + "By now, the power of the blessed wooden stake will have been transferred into our elixir, so let's put out the fire and let it cool down. ...", + " There! Its inventor said it had amazing effects on the ring you're wearing, as long as the ring is based on time, not on charges. Enjoy! ...", + "And by the way... since those were all the recipes from this year and you cooked them so nicely, you may take the cookbook containing them from upstairs, if you like!", + }, npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.LastInteractionDate15, currentDate) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart, 2) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 15) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestLog, 16) + player:addItem(11588, 1) + npcHandler:setTopic(playerId, 0) + else + npcHandler:say("Make sure that you have all the ingredients with you.", npc, creature) + npcHandler:setTopic(playerId, 0) + end else - npcHandler:say("Make sure that you have all the ingredients, with you.", npc, creature) + npcHandler:say("It seems you have already cooked this dish this year. Please come back next year in August.", npc, creature) npcHandler:setTopic(playerId, 0) end end --Dishes first time elseif MsgContains(message, "rotworm stew") then - if npcHandler:getTopic(playerId) == 4 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 4 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to cook Rotworm Stew with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 1) npcHandler:setTopic(playerId, 5) end elseif MsgContains(message, "hydra tongue salad") then - if npcHandler:getTopic(playerId) == 6 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 6 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to prepare a Hydra Tongue Salad with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 2) npcHandler:setTopic(playerId, 7) end elseif MsgContains(message, "roasted dragon wings") then - if npcHandler:getTopic(playerId) == 8 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 8 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to prepare Roasted Dragon Wings with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 3) npcHandler:setTopic(playerId, 9) end elseif MsgContains(message, "tropical fried terrorbird") then - if npcHandler:getTopic(playerId) == 10 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 10 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to prepare a Tropical Fried Terrorbird with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 4) npcHandler:setTopic(playerId, 11) end elseif MsgContains(message, "banana chocolate shake") then - if npcHandler:getTopic(playerId) == 12 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 12 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to make a Banana Chocolate Shake with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 5) npcHandler:setTopic(playerId, 13) end elseif MsgContains(message, "veggie casserole") then - if npcHandler:getTopic(playerId) == 14 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 14 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to cook a Veggie Casserole with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 6) npcHandler:setTopic(playerId, 15) end - elseif MsgContains(message, "filled jalapeño peppers") then - if npcHandler:getTopic(playerId) == 16 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + elseif MsgContains(message, "filled") or MsgContains(message, "jalapeño") or MsgContains(message, "peppers") then + if npcHandler:getTopic(playerId) == 16 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to prepare Filled Jalapeño Peppers with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 7) npcHandler:setTopic(playerId, 17) end elseif MsgContains(message, "blessed steak") then - if npcHandler:getTopic(playerId) == 18 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 18 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to prepare a Blessed Steak with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 8) npcHandler:setTopic(playerId, 19) end elseif MsgContains(message, "northern fishburger") then - if npcHandler:getTopic(playerId) == 20 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 20 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to make a Northern Fishburger with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 9) npcHandler:setTopic(playerId, 21) end elseif MsgContains(message, "carrot cake") then - if npcHandler:getTopic(playerId) == 22 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 22 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to bake a Carrot Cake with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 10) npcHandler:setTopic(playerId, 23) end elseif MsgContains(message, "coconut shrimp bake") then - if npcHandler:getTopic(playerId) == 24 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 24 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to prepare a Coconut Shrimp Bake with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 11) npcHandler:setTopic(playerId, 25) end elseif MsgContains(message, "blackjack") then - if npcHandler:getTopic(playerId) == 26 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 26 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to cook a Blackjack with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 12) npcHandler:setTopic(playerId, 27) end elseif MsgContains(message, "demonic candy ball") then - if npcHandler:getTopic(playerId) == 28 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then + if npcHandler:getTopic(playerId) == 28 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then npcHandler:say("Did you gather all necessary ingredients to make Demonic Candy Balls with me?", npc, creature) - player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 13) npcHandler:setTopic(playerId, 29) end - --elseif MsgContains(message, "sweet mangonaise elixir") then - -- if npcHandler:getTopic(playerId) == 30 or player:getStorageValue(Storage.HotCuisineQuest.QuestStart) == 2 then - -- npcHandler:say("Did you gather all necessary ingredients to mix Sweet Mangonaise Elixir with me?", npc, creature) - -- player:setStorageValue(Storage.HotCuisineQuest.CurrentDish, 14) - -- npcHandler:setTopic(playerId, 31) - --end + elseif MsgContains(message, "sweet mangonaise elixir") then + if npcHandler:getTopic(playerId) == 30 or player:getStorageValue(Storage.Quest.U8_5.HotCuisineQuest.QuestStart) >= 1 then + npcHandler:say("Did you gather all necessary ingredients to mix Sweet Mangonaise Elixir with me?", npc, creature) + player:setStorageValue(Storage.Quest.U8_5.HotCuisineQuest.CurrentDish, 14) + npcHandler:setTopic(playerId, 31) + end elseif MsgContains(message, "no") then npcHandler:say("No?, come back when you are ready to cook.", npc, creature) npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/karl.lua b/data-otservbr-global/npc/karl.lua index 58265d4264e..710a7009be9 100644 --- a/data-otservbr-global/npc/karl.lua +++ b/data-otservbr-global/npc/karl.lua @@ -102,6 +102,7 @@ npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) npcConfig.shop = { { itemName = "bottle of whisper beer", clientId = 6106, buy = 80 }, { itemName = "mug of beer", clientId = 2880, buy = 20, count = 3 }, + { itemName = "vial of beer", clientId = 2874, buy = 20, count = 1, subType = 3 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/maria.lua b/data-otservbr-global/npc/maria.lua index 7c63e11ac02..74780e4a85a 100644 --- a/data-otservbr-global/npc/maria.lua +++ b/data-otservbr-global/npc/maria.lua @@ -65,6 +65,8 @@ npcConfig.shop = { { itemName = "mug of wine", clientId = 2880, buy = 3, count = 2 }, { itemName = "tomato", clientId = 3596, buy = 5 }, { itemName = "valentine's cake", clientId = 6392, buy = 100 }, + { itemName = "vial of beer", clientId = 2874, buy = 2, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 3, count = 1, subType = 2 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/mirabell.lua b/data-otservbr-global/npc/mirabell.lua index db5f256ccd4..06362976254 100644 --- a/data-otservbr-global/npc/mirabell.lua +++ b/data-otservbr-global/npc/mirabell.lua @@ -134,6 +134,9 @@ npcConfig.shop = { { itemName = "mug of lemonade", clientId = 2880, buy = 2, count = 12 }, { itemName = "mug of water", clientId = 2880, buy = 1, count = 1 }, { itemName = "mug of wine", clientId = 2880, buy = 3, count = 2 }, + { itemName = "vial of beer", clientId = 2874, buy = 2, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 3, count = 1, subType = 2 }, + { itemName = "vial of water", clientId = 2874, buy = 1, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/miraia.lua b/data-otservbr-global/npc/miraia.lua index d8fbf586f2a..ad74b08040e 100644 --- a/data-otservbr-global/npc/miraia.lua +++ b/data-otservbr-global/npc/miraia.lua @@ -200,6 +200,8 @@ npcConfig.shop = { { itemName = "mug of milk", clientId = 2880, buy = 5, count = 9 }, { itemName = "mug of water", clientId = 2880, buy = 2, count = 1 }, { itemName = "scarab cheese", clientId = 169, buy = 100 }, + { itemName = "vial of milk", clientId = 2874, buy = 5, count = 1, subType = 9 }, + { itemName = "vial of water", clientId = 2874, buy = 2, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/nezil.lua b/data-otservbr-global/npc/nezil.lua index 5bb7cd4f5fb..260a01bce4e 100644 --- a/data-otservbr-global/npc/nezil.lua +++ b/data-otservbr-global/npc/nezil.lua @@ -80,6 +80,7 @@ npcConfig.shop = { { itemName = "waterskin of water", clientId = 2901, buy = 40, count = 1 }, { itemName = "wooden hammer", clientId = 3459, sell = 15 }, { itemName = "worm", clientId = 3492, buy = 1 }, + { itemName = "vial of water", clientId = 2874, buy = 10, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/norma.lua b/data-otservbr-global/npc/norma.lua index 693dc7fadbb..769bf7b7b3f 100644 --- a/data-otservbr-global/npc/norma.lua +++ b/data-otservbr-global/npc/norma.lua @@ -200,6 +200,9 @@ npcConfig.shop = { { itemName = "mug of milk", clientId = 2880, buy = 2, count = 6 }, { itemName = "mug of wine", clientId = 2880, buy = 3, count = 2 }, { itemName = "party cake", clientId = 6279, buy = 50 }, + { itemName = "vial of beer", clientId = 2874, buy = 3, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 3, count = 1, subType = 2 }, + { itemName = "vial of milk", clientId = 2874, buy = 2, count = 1, subType = 9 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/pugwah.lua b/data-otservbr-global/npc/pugwah.lua index 9e9007a7667..e9c0874d5aa 100644 --- a/data-otservbr-global/npc/pugwah.lua +++ b/data-otservbr-global/npc/pugwah.lua @@ -61,6 +61,9 @@ npcConfig.shop = { { itemName = "mug of lemonade", clientId = 2880, buy = 2, count = 12 }, { itemName = "mug of milk", clientId = 2880, buy = 2, count = 6 }, { itemName = "mug of wine", clientId = 2880, buy = 3, count = 2 }, + { itemName = "vial of beer", clientId = 2874, buy = 3, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 4, count = 1, subType = 2 }, + { itemName = "vial of water", clientId = 2874, buy = 2, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/ramina.lua b/data-otservbr-global/npc/ramina.lua index 78972d2a78f..d88b305aaeb 100644 --- a/data-otservbr-global/npc/ramina.lua +++ b/data-otservbr-global/npc/ramina.lua @@ -65,7 +65,8 @@ npcConfig.shop = { { itemName = "orange", clientId = 3586, buy = 12 }, { itemName = "peas", clientId = 11683, buy = 5 }, { itemName = "vial of fruit juice", clientId = 2874, buy = 10, count = 14 }, - { itemName = "vial of water", clientId = 2874, buy = 6, count = 1 }, + { itemName = "vial of water", clientId = 2874, buy = 2, count = 1 }, + { itemName = "vial of wine", clientId = 2874, buy = 15, count = 1, subType = 2 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/red_lilly.lua b/data-otservbr-global/npc/red_lilly.lua index eb91a4aa813..357cb02775b 100644 --- a/data-otservbr-global/npc/red_lilly.lua +++ b/data-otservbr-global/npc/red_lilly.lua @@ -85,6 +85,7 @@ npcConfig.shop = { { itemName = "torch", clientId = 2920, buy = 2 }, { itemName = "vial", clientId = 2874, sell = 5 }, { itemName = "vial of oil", clientId = 2874, buy = 20, count = 7 }, + { itemName = "vial of water", clientId = 2874, buy = 10, count = 1 }, { itemName = "watch", clientId = 2906, buy = 20, sell = 6 }, { itemName = "waterskin of water", clientId = 2901, buy = 10, count = 1 }, { itemName = "wooden hammer", clientId = 3459, sell = 15 }, diff --git a/data-otservbr-global/npc/satsu.lua b/data-otservbr-global/npc/satsu.lua index d925e5b5d37..481f48d3925 100644 --- a/data-otservbr-global/npc/satsu.lua +++ b/data-otservbr-global/npc/satsu.lua @@ -63,6 +63,11 @@ npcConfig.shop = { { itemName = "cocktail glass of tea", clientId = 9232, buy = 52, count = 17 }, { itemName = "cocktail glass of water", clientId = 9232, buy = 52, count = 1 }, { itemName = "cocktail glass of wine", clientId = 9232, buy = 52, count = 2 }, + { itemName = "vial of beer", clientId = 2874, buy = 52, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 52, count = 1, subType = 2 }, + { itemName = "vial of milk", clientId = 2874, buy = 52, count = 1, subType = 9 }, + { itemName = "vial of mead", clientId = 2874, buy = 52, count = 1, subType = 16 }, + { itemName = "vial of water", clientId = 2874, buy = 52, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/snake_eye.lua b/data-otservbr-global/npc/snake_eye.lua index 1b72b8a982c..d8f9db4c1f9 100644 --- a/data-otservbr-global/npc/snake_eye.lua +++ b/data-otservbr-global/npc/snake_eye.lua @@ -82,6 +82,8 @@ npcConfig.shop = { { itemName = "meat", clientId = 3577, buy = 6 }, { itemName = "mug of beer", clientId = 2880, buy = 5, count = 3 }, { itemName = "mug of wine", clientId = 2880, buy = 6, count = 2 }, + { itemName = "vial of beer", clientId = 2874, buy = 5, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 6, count = 1, subType = 2 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/swolt.lua b/data-otservbr-global/npc/swolt.lua index 5d8a7b48830..7caa8aa4160 100644 --- a/data-otservbr-global/npc/swolt.lua +++ b/data-otservbr-global/npc/swolt.lua @@ -86,6 +86,8 @@ npcConfig.shop = { { itemName = "mug of beer", clientId = 2880, buy = 2, count = 3 }, { itemName = "mug of water", clientId = 2880, buy = 1, count = 1 }, { itemName = "terramite eggs", clientId = 10453, sell = 50 }, + { itemName = "vial of beer", clientId = 2874, buy = 2, count = 1, subType = 3 }, + { itemName = "vial of water", clientId = 2874, buy = 1, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/tanaro.lua b/data-otservbr-global/npc/tanaro.lua index bf43db15d79..467b70989ae 100644 --- a/data-otservbr-global/npc/tanaro.lua +++ b/data-otservbr-global/npc/tanaro.lua @@ -67,6 +67,8 @@ npcConfig.shop = { { itemName = "salmon", clientId = 3579, buy = 6 }, { itemName = "valentine's cake", clientId = 6392, buy = 100 }, { itemName = "white mushroom", clientId = 3723, buy = 6 }, + { itemName = "vial of wine", clientId = 2874, buy = 3, count = 1, subType = 2 }, + { itemName = "vial of water", clientId = 2874, buy = 2, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/npc/urkalio.lua b/data-otservbr-global/npc/urkalio.lua index dbcbbc238b1..5919a42d761 100644 --- a/data-otservbr-global/npc/urkalio.lua +++ b/data-otservbr-global/npc/urkalio.lua @@ -62,6 +62,9 @@ npcConfig.shop = { { itemName = "mug of lemonade", clientId = 2880, buy = 2, count = 12 }, { itemName = "mug of water", clientId = 2880, buy = 1, count = 1 }, { itemName = "mug of wine", clientId = 2880, buy = 3, count = 2 }, + { itemName = "vial of beer", clientId = 2874, buy = 2, count = 1, subType = 3 }, + { itemName = "vial of wine", clientId = 2874, buy = 3, count = 1, subType = 2 }, + { itemName = "vial of water", clientId = 2874, buy = 1, count = 1 }, } -- On buy npc shop message npcType.onBuyItem = function(npc, player, itemId, subType, amount, ignore, inBackpacks, totalCost) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index e2e955efc09..2369426ff22 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -610,7 +610,7 @@ QuestDoorAction = { itemPos = { { x = 31978, y = 32856, z = 3 } }, }, -- Hot cuisine door - [Storage.HotCuisineQuest.CookbookDoor] = { + [Storage.Quest.U8_5.HotCuisineQuest.CookbookDoor] = { itemId = false, itemPos = { { x = 33065, y = 32529, z = 5 }, From 0566a56d43a1ffc870708737eaf64b9e100c975f Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 7 Aug 2024 00:01:16 +0000 Subject: [PATCH 077/112] Lua code format - (Stylua) --- data-otservbr-global/npc/jean_pierre.lua | 42 ++++++++++++------------ 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/data-otservbr-global/npc/jean_pierre.lua b/data-otservbr-global/npc/jean_pierre.lua index 2df3503ebcd..75fe49bda01 100644 --- a/data-otservbr-global/npc/jean_pierre.lua +++ b/data-otservbr-global/npc/jean_pierre.lua @@ -88,37 +88,37 @@ local function endConversationWithDelay(npcHandler, npc, creature) end local function canCookToday(player, lastInteractionKey) - local currentDate = os.time() - local lastInteractionDate = player:getStorageValue(lastInteractionKey) + local currentDate = os.time() + local lastInteractionDate = player:getStorageValue(lastInteractionKey) - if lastInteractionDate == -1 then - return true - end + if lastInteractionDate == -1 then + return true + end - local lastDateTable = os.date("*t", lastInteractionDate) - local currentDateTable = os.date("*t", currentDate) + local lastDateTable = os.date("*t", lastInteractionDate) + local currentDateTable = os.date("*t", currentDate) - if currentDateTable.month == 8 and (currentDateTable.year > lastDateTable.year or lastDateTable.month ~= 8) then - return true - end + if currentDateTable.month == 8 and (currentDateTable.year > lastDateTable.year or lastDateTable.month ~= 8) then + return true + end - return false + return false end local function greetCallback(npc, creature) - local player = Player(creature) - local playerId = player:getId() + local player = Player(creature) + local playerId = player:getId() - local currentDate = os.time() - local currentDateTable = os.date("*t", currentDate) + local currentDate = os.time() + local currentDateTable = os.date("*t", currentDate) - if currentDateTable.month == 8 then - npcHandler:setMessage(MESSAGE_GREET, "Greetings, |PLAYERNAME|. What are you doing out here?") - else - endConversationWithDelay(npcHandler, npc, creature) - end + if currentDateTable.month == 8 then + npcHandler:setMessage(MESSAGE_GREET, "Greetings, |PLAYERNAME|. What are you doing out here?") + else + endConversationWithDelay(npcHandler, npc, creature) + end - return true + return true end local function creatureSayCallback(npc, creature, type, message) From a729748b4d49b46fbebd5bd3657897520e32aa05 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Tue, 6 Aug 2024 21:06:14 -0300 Subject: [PATCH 078/112] Organization Storages --- data-otservbr-global/lib/core/storages.lua | 104 ++++++++++----------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 6704929f8b6..8a292cd05b7 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2053,60 +2053,60 @@ Storage = { }, KillingInTheNameOf = { MonsterKillCount = { - KillCount = 42150, + KillCount = 42165, -- Grizzly Adams - CrocodileCount = 42151, - BadgerCount = 42152, - TarantulaCount = 42153, - CarniphilasCount = 42154, - StoneGolemCount = 42155, - MammothCount = 42156, - GnarlhoundCount = 42157, - TerramiteCount = 42158, - ApesCount = 42159, - ThornbackTortoiseCount = 42160, - GargoyleCount = 42161, - IceGolemCount = 42162, - QuaraScoutsCount = 42163, - MutatedRatCount = 42164, - AncientScarabCount = 42165, - WyvernCount = 42166, - LancerBeetleCount = 42167, - WailingWidowCount = 42168, - KillerCaimanCount = 42169, - BonebeastCount = 42170, - CrystalSpiderCount = 42171, - MutatedTigerCount = 42172, - UnderwaterQuarasCount = 42173, - GiantSpiderCount = 42174, - WerewolveCount = 42175, - NightmareCount = 42176, - HellspawnCount = 42177, - HighClassLizardCount = 42178, - StamporCount = 42179, - BrimstoneBugCount = 42180, - MutatedBatCount = 42181, - HydraCount = 42182, - SerpentSpawnCount = 42183, - MedusaCount = 42184, - BehemothCount = 42185, - SeaSerpentsCount = 42186, - HellhoundCount = 42187, - GhastlyDragonCount = 42188, - DrakenCount = 42189, - DestroyerCount = 42190, - UndeadDragonCount = 42191, - DemonCount = 42192, + CrocodileCount = 42166, + BadgerCount = 42167, + TarantulaCount = 42168, + CarniphilasCount = 42169, + StoneGolemCount = 42170, + MammothCount = 42171, + GnarlhoundCount = 42172, + TerramiteCount = 42173, + ApesCount = 42174, + ThornbackTortoiseCount = 42175, + GargoyleCount = 42176, + IceGolemCount = 42177, + QuaraScoutsCount = 42178, + MutatedRatCount = 42179, + AncientScarabCount = 42180, + WyvernCount = 42181, + LancerBeetleCount = 42182, + WailingWidowCount = 42183, + KillerCaimanCount = 42184, + BonebeastCount = 42185, + CrystalSpiderCount = 42186, + MutatedTigerCount = 42187, + UnderwaterQuarasCount = 42188, + GiantSpiderCount = 42189, + WerewolveCount = 42190, + NightmareCount = 42191, + HellspawnCount = 42192, + HighClassLizardCount = 42193, + StamporCount = 42194, + BrimstoneBugCount = 42195, + MutatedBatCount = 42196, + HydraCount = 42197, + SerpentSpawnCount = 42198, + MedusaCount = 42199, + BehemothCount = 42200, + SeaSerpentsCount = 42201, + HellhoundCount = 42202, + GhastlyDragonCount = 42203, + DrakenCount = 42204, + DestroyerCount = 42205, + UndeadDragonCount = 42206, + DemonCount = 42207, -- Others - GreenDjinnCount = 42193, - BlueDjinnCount = 42194, - PirateCount = 42195, - MinotaurCount = 42196, - NecromancerCount = 42197, - TrollCount = 42198, - GoblinCount = 42199, - RotwormCount = 42200, - CyclopsCount = 42201, + GreenDjinnCount = 42208, + BlueDjinnCount = 42209, + PirateCount = 42210, + MinotaurCount = 42211, + NecromancerCount = 42212, + TrollCount = 42213, + GoblinCount = 42214, + RotwormCount = 42215, + CyclopsCount = 42216, }, BossKillCount = { -- Grizzly Adams From f8aeb39e8d8ca20719436cf7294b41cf1af3a93f Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 7 Aug 2024 08:16:11 -0300 Subject: [PATCH 079/112] Killing in the Name of... Quest I will leave this TASK for community feedback, it is extremely large and is not a quest --- data-otservbr-global/lib/core/quests.lua | 36 ++--- data-otservbr-global/lib/core/storages.lua | 135 +++++++++--------- data-otservbr-global/npc/budrik.lua | 12 +- data-otservbr-global/npc/daniel_steelsoul.lua | 42 +++--- data-otservbr-global/npc/gabel.lua | 12 +- data-otservbr-global/npc/grizzly_adams.lua | 98 ++++++------- data-otservbr-global/npc/lugri.lua | 20 +-- data-otservbr-global/npc/malor.lua | 12 +- data-otservbr-global/npc/raymond_striker.lua | 16 +-- .../creaturescripts/customs/freequests.lua | 2 +- .../killing_in_the_name_of/monster_kill.lua | 20 +-- .../quests/killing_in_the_name_of/boss.lua | 14 +- 12 files changed, 208 insertions(+), 211 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index fce31612048..03960dae947 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -934,17 +934,17 @@ if not Quests then missions = { [1] = { name = "Paw and Fur - Hunting Elite", - storageId = Storage.KillingInTheNameOf.QuestLogEntry, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry, missionId = 1081, startValue = 0, endValue = 1, description = function(player) - return string.format("You joined the 'Paw and Fur - Hunting Elite'. Ask Grizzly Adams for some hunting tasks. You already gained %d points. You currently have %d boss points.", (math.max(player:getStorageValue(POINTSSTORAGE), 0)), (math.max(player:getStorageValue(Storage.KillingInTheNameOf.BossPoints), 0))) + return string.format("You joined the 'Paw and Fur - Hunting Elite'. Ask Grizzly Adams for some hunting tasks. You already gained %d points. You currently have %d boss points.", (math.max(player:getStorageValue(POINTSSTORAGE), 0)), (math.max(player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints), 0))) end, }, [2] = { name = "Paw and Fur - Rank: Huntsman", - storageId = Storage.KillingInTheNameOf.PawAndFurRank, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, missionId = 1082, startValue = 0, endValue = 1, @@ -952,7 +952,7 @@ if not Quests then }, [3] = { name = "Paw and Fur - Rank: Ranger", - storageId = Storage.KillingInTheNameOf.PawAndFurRank, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, missionId = 1083, startValue = 2, endValue = 3, @@ -960,7 +960,7 @@ if not Quests then }, [4] = { name = "Paw and Fur - Rank: Big Game Hunter", - storageId = Storage.KillingInTheNameOf.PawAndFurRank, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, missionId = 1084, startValue = 4, endValue = 5, @@ -968,7 +968,7 @@ if not Quests then }, [5] = { name = "Paw and Fur - Rank: Trophy Hunter", - storageId = Storage.KillingInTheNameOf.PawAndFurRank, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, missionId = 1085, startValue = 5, endValue = 6, @@ -976,7 +976,7 @@ if not Quests then }, [6] = { name = "Paw and Fur - Rank: Elite Hunter", - storageId = Storage.KillingInTheNameOf.PawAndFurRank, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, missionId = 1086, startValue = 7, endValue = 8, @@ -1929,7 +1929,7 @@ if not Quests then }, [77] = { name = "Paw and Fur: Tiquandas Revenge", - storageId = Storage.KillingInTheNameOf.MissionTiquandasRevenge, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.MissionTiquandasRevenge, missionId = 10157, startValue = 1, endValue = 3, @@ -1941,7 +1941,7 @@ if not Quests then }, [78] = { name = "Paw and Fur: Demodras", - storageId = Storage.KillingInTheNameOf.MissionDemodras, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.MissionDemodras, missionId = 10158, startValue = 1, endValue = 3, @@ -1953,7 +1953,7 @@ if not Quests then }, [79] = { -- Others name = "The Marid: Green Djinns", - storageId = Storage.KillingInTheNameOf.GreenDjinnTask, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask, missionId = 10159, startValue = 0, endValue = 3, @@ -1968,7 +1968,7 @@ if not Quests then }, [80] = { name = "The Efreet: Blue Djinns", - storageId = Storage.KillingInTheNameOf.BlueDjinnTask, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask, missionId = 10160, startValue = 0, endValue = 3, @@ -1983,7 +1983,7 @@ if not Quests then }, [81] = { name = "Meriana Rebels: Pirates", - storageId = Storage.KillingInTheNameOf.PirateTask, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.PirateTask, missionId = 10161, startValue = 0, endValue = 3, @@ -2004,7 +2004,7 @@ if not Quests then }, [82] = { name = "Turmoil of War", - storageId = Storage.KillingInTheNameOf.BudrikMinos, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos, missionId = 10162, startValue = 0, endValue = 2, @@ -2024,7 +2024,7 @@ if not Quests then }, [83] = { name = "Lugri: Necromancers and Priestesses", - storageId = Storage.KillingInTheNameOf.LugriNecromancers, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers, missionId = 10163, startValue = 0, endValue = 4, @@ -2056,7 +2056,7 @@ if not Quests then }, [84] = { name = "Edron City: Trolls", - storageId = Storage.KillingInTheNameOf.TrollTask, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.TrollTask, missionId = 10164, startValue = 0, endValue = 1, @@ -2069,7 +2069,7 @@ if not Quests then }, [85] = { name = "Edron City: Goblins", - storageId = Storage.KillingInTheNameOf.GoblinTask, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.GoblinTask, missionId = 10165, startValue = 0, endValue = 1, @@ -2087,7 +2087,7 @@ if not Quests then }, [86] = { name = "Edron City: Rotworms", - storageId = Storage.KillingInTheNameOf.RotwormTask, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.RotwormTask, missionId = 10166, startValue = 0, endValue = 1, @@ -2100,7 +2100,7 @@ if not Quests then }, [87] = { name = "Edron City: Cyclops", - storageId = Storage.KillingInTheNameOf.CyclopsTask, + storageId = Storage.Quest.U8_5.KillingInTheNameOf.CyclopsTask, missionId = 10167, startValue = 0, endValue = 1, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 8a292cd05b7..3e279caf998 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -876,23 +876,6 @@ Storage = { }, -- TowerDefenceQuest: when there is space, bring this quest that is in update 8.1 to Tibia Tales }, - KillingInTheNameOf = { - -- Reserved storage from 51610 - 51629 - LugriNecromancers = 51610, - BudrikMinos = 51611, - MissionTiquandasRevenge = 51612, - MissionDemodras = 51613, - BossPoints = 51614, - QuestLogEntry = 51615, - PawAndFurRank = 51616, - GreenDjinnTask = 51617, - BlueDjinnTask = 51618, - PirateTask = 51619, - TrollTask = 51620, - GoblinTask = 51621, - RotwormTask = 51622, - CyclopsTask = 51623, - }, TheRookieGuard = { --Reserved storage 52360 - 52395 Questline = 52360, @@ -2052,61 +2035,75 @@ Storage = { LastInteractionDate15 = 42164, }, KillingInTheNameOf = { + LugriNecromancers = 42165, + BudrikMinos = 42166, + MissionTiquandasRevenge = 42167, + MissionDemodras = 42168, + BossPoints = 42169, + QuestLogEntry = 42170, + PawAndFurRank = 42171, + GreenDjinnTask = 42172, + BlueDjinnTask = 42173, + PirateTask = 42174, + TrollTask = 42175, + GoblinTask = 42176, + RotwormTask = 42177, + CyclopsTask = 42178, MonsterKillCount = { - KillCount = 42165, + KillCount = 42179, -- Grizzly Adams - CrocodileCount = 42166, - BadgerCount = 42167, - TarantulaCount = 42168, - CarniphilasCount = 42169, - StoneGolemCount = 42170, - MammothCount = 42171, - GnarlhoundCount = 42172, - TerramiteCount = 42173, - ApesCount = 42174, - ThornbackTortoiseCount = 42175, - GargoyleCount = 42176, - IceGolemCount = 42177, - QuaraScoutsCount = 42178, - MutatedRatCount = 42179, - AncientScarabCount = 42180, - WyvernCount = 42181, - LancerBeetleCount = 42182, - WailingWidowCount = 42183, - KillerCaimanCount = 42184, - BonebeastCount = 42185, - CrystalSpiderCount = 42186, - MutatedTigerCount = 42187, - UnderwaterQuarasCount = 42188, - GiantSpiderCount = 42189, - WerewolveCount = 42190, - NightmareCount = 42191, - HellspawnCount = 42192, - HighClassLizardCount = 42193, - StamporCount = 42194, - BrimstoneBugCount = 42195, - MutatedBatCount = 42196, - HydraCount = 42197, - SerpentSpawnCount = 42198, - MedusaCount = 42199, - BehemothCount = 42200, - SeaSerpentsCount = 42201, - HellhoundCount = 42202, - GhastlyDragonCount = 42203, - DrakenCount = 42204, - DestroyerCount = 42205, - UndeadDragonCount = 42206, - DemonCount = 42207, + CrocodileCount = 42180, + BadgerCount = 42181, + TarantulaCount = 42182, + CarniphilasCount = 42183, + StoneGolemCount = 42184, + MammothCount = 42185, + GnarlhoundCount = 42186, + TerramiteCount = 42187, + ApesCount = 42188, + ThornbackTortoiseCount = 42189, + GargoyleCount = 42190, + IceGolemCount = 42191, + QuaraScoutsCount = 42192, + MutatedRatCount = 42193, + AncientScarabCount = 42194, + WyvernCount = 42195, + LancerBeetleCount = 42196, + WailingWidowCount = 42197, + KillerCaimanCount = 42198, + BonebeastCount = 42199, + CrystalSpiderCount = 42200, + MutatedTigerCount = 42201, + UnderwaterQuarasCount = 42202, + GiantSpiderCount = 42203, + WerewolveCount = 42204, + NightmareCount = 42205, + HellspawnCount = 42206, + HighClassLizardCount = 42207, + StamporCount = 42208, + BrimstoneBugCount = 42209, + MutatedBatCount = 42210, + HydraCount = 42211, + SerpentSpawnCount = 42212, + MedusaCount = 42213, + BehemothCount = 42214, + SeaSerpentsCount = 42215, + HellhoundCount = 42216, + GhastlyDragonCount = 42217, + DrakenCount = 42218, + DestroyerCount = 42219, + UndeadDragonCount = 42220, + DemonCount = 42221, -- Others - GreenDjinnCount = 42208, - BlueDjinnCount = 42209, - PirateCount = 42210, - MinotaurCount = 42211, - NecromancerCount = 42212, - TrollCount = 42213, - GoblinCount = 42214, - RotwormCount = 42215, - CyclopsCount = 42216, + GreenDjinnCount = 42222, + BlueDjinnCount = 42223, + PirateCount = 42224, + MinotaurCount = 42225, + NecromancerCount = 42226, + TrollCount = 42227, + GoblinCount = 42228, + RotwormCount = 42229, + CyclopsCount = 42230, }, BossKillCount = { -- Grizzly Adams diff --git a/data-otservbr-global/npc/budrik.lua b/data-otservbr-global/npc/budrik.lua index aab54f27e4b..e874f8b91f5 100644 --- a/data-otservbr-global/npc/budrik.lua +++ b/data-otservbr-global/npc/budrik.lua @@ -72,26 +72,26 @@ local function creatureSayCallback(npc, creature, type, message) else npcHandler:say("We presume the hideout of The Horned Fox is somewhere in the south-west near the coast, good luck finding my mining helmet!", npc, creature) end - elseif player:getStorageValue(Storage.TibiaTales.ToOutfoxAFoxQuest.Questline) == 2 and player:getLevel() <= 40 and player:getStorageValue(Storage.KillingInTheNameOf.BudrikMinos) < 0 then + elseif player:getStorageValue(Storage.TibiaTales.ToOutfoxAFoxQuest.Questline) == 2 and player:getLevel() <= 40 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos) < 0 then npcHandler:say({ "I am so angry I could spit grit! That damn {Horned Fox} and his attacks! Let's show those bull-heads that they have messed with the wrong people....", "I want you to kill 5000 minotaurs - no matter where - for me and all the dwarfs of Kazordoon! Are you willing to do that?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.KillingInTheNameOf.BudrikMinos) == 0 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos) == 0 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.MinotaurCount) >= 5000 then npcHandler:say({ "By all that is holy! You are a truly great warrior! With much patience! I have just found out the location the hideout of The Horned Fox! I have marked the spot on your map so you can find it. Go there and slay him!! ...", "BUT, you will have only this ONE chance to catch him! Good luck!", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.BudrikMinos, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos, 1) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.FoxCount, 0) else npcHandler:say("Come back when you have slain {5000 minotaurs!}", npc, creature) end - elseif player:getStorageValue(Storage.KillingInTheNameOf.BudrikMinos) == 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.FoxCount) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos) == 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.FoxCount) == 1 then npcHandler:say("It was very decent of you to help me, and I am thankful, really I am, but now I have to get back to my duties as a foreman.", npc, creature) - elseif player:getLevel() > 40 and player:getStorageValue(Storage.KillingInTheNameOf.BudrikMinos) < 0 then + elseif player:getLevel() > 40 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos) < 0 then npcHandler:say("Well, I could need help with that damn Horned Fox and his gang, but I guess since you are rather experienced, killing minotaurs would bore you to death. I'll wait for someone else. But thanks!", npc, creature) else npcHandler:say("Hum... what, {task}?", npc, creature) @@ -107,7 +107,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say("Hussah! Let's bring war to those hoof-legged, dirt-necked, bull-headed minotaurs!! Come back to me when you are done with your {mission}.", npc, creature) player:setStorageValue(JOIN_STOR, 1) - player:setStorageValue(Storage.KillingInTheNameOf.BudrikMinos, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.MinotaurCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.MinotaurCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.MinotaurGuardCount, 0) diff --git a/data-otservbr-global/npc/daniel_steelsoul.lua b/data-otservbr-global/npc/daniel_steelsoul.lua index 88c652e9d51..9f3427a9b1e 100644 --- a/data-otservbr-global/npc/daniel_steelsoul.lua +++ b/data-otservbr-global/npc/daniel_steelsoul.lua @@ -74,45 +74,45 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("What? YOU DID IT?!?! That's...that's...er.... like I expected!! Here is your reward.", npc, creature) end elseif MsgContains(message, "task") then - if player:getStorageValue(Storage.KillingInTheNameOf.TrollTask) == 0 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.TrollTask) == 0 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.TrollCount) >= 100 then npcHandler:say("Very nice, |PLAYERNAME|. That will push the trolls' forces back a little. Here is your reward!", npc, creature) player:addExperience(200, true) player:addMoney(200) - player:setStorageValue(Storage.KillingInTheNameOf.TrollTask, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.TrollTask, 1) return true else npcHandler:say("Your current task is to kill 100 trolls. You have already killed " .. player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.TrollCount) .. " of them. Keep going!", npc, creature) return true end - elseif player:getStorageValue(Storage.KillingInTheNameOf.GoblinTask) == 0 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GoblinTask) == 0 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.GoblinCount) >= 150 then npcHandler:say("Congratulations, you've fought well against the goblin plague. Thank you! Here is your reward!", npc, creature) player:addExperience(300, true) player:addMoney(250) - player:setStorageValue(Storage.KillingInTheNameOf.GoblinTask, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GoblinTask, 1) return true else npcHandler:say("Your current task is to kill 150 goblins. You have already killed " .. player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.GoblinCount) .. " of them. Keep going!", npc, creature) return true end - elseif player:getStorageValue(Storage.KillingInTheNameOf.RotwormTask) == 0 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.RotwormTask) == 0 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.RotwormCount) >= 300 then npcHandler:say("Well done! Thanks to you the city is a bit safer. Here's your reward!", npc, creature) player:addExperience(1000, true) player:addMoney(400) - player:setStorageValue(Storage.KillingInTheNameOf.RotwormTask, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.RotwormTask, 1) return true else npcHandler:say("Your current task is to kill 300 rotworms. You have already killed " .. player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.RotwormCount) .. " of them. Keep going!", npc, creature) return true end - elseif player:getStorageValue(Storage.KillingInTheNameOf.CyclopsTask) == 0 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.CyclopsTask) == 0 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.CyclopsCount) >= 500 then npcHandler:say("Very good job, |PLAYERNAME|. You've been a great help. Here's your reward!", npc, creature) player:addExperience(3000, true) player:addMoney(800) - player:setStorageValue(Storage.KillingInTheNameOf.CyclopsTask, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.CyclopsTask, 1) return true else npcHandler:say("Your current task is to kill 500 cyclops. You have already killed " .. player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.CyclopsCount) .. " of them. Keep going!", npc, creature) @@ -120,16 +120,16 @@ local function creatureSayCallback(npc, creature, type, message) end end if player:getLevel() < 20 then - if player:getStorageValue(Storage.KillingInTheNameOf.TrollTask) < 0 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.TrollTask) < 0 then npcHandler:say({ "The trolls living west of our city have become quite a nuisance lately. Not that they are really dangerous to us, but still, we must show them that there's a line they shouldn't cross. ...", "I want you to kill 100 of them. If you succeed, I'll provide you some pretty coins and experience. Are you willing to take on this task?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.KillingInTheNameOf.TrollTask) == 1 and player:getStorageValue(Storage.KillingInTheNameOf.GoblinTask) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.TrollTask) == 1 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GoblinTask) == 1 then npcHandler:say("Currently there is no new task I could entrust you with. However, you can repeat killing {goblins} or {trolls}. Which would you prefer?", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.KillingInTheNameOf.TrollTask) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.TrollTask) == 1 then npcHandler:say({ "It's not only the trolls invading from the west coast. Goblins also have a lair there where they constantly prepare for their next attack. ...", "If you could kill 150 goblins for us, that'd be a good start. Would you be willing to help us in this matter?", @@ -138,7 +138,7 @@ local function creatureSayCallback(npc, creature, type, message) end end if player:getLevel() >= 30 and player:getLevel() < 60 then - if player:getStorageValue(Storage.KillingInTheNameOf.CyclopsTask) < 0 or player:getStorageValue(Storage.KillingInTheNameOf.CyclopsTask) == 1 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.CyclopsTask) < 0 or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.CyclopsTask) == 1 then npcHandler:say({ "We've successfully driven the minotaurs off this island, but the underground city of the cyclopes - Cyclopolis - is still standing. ...", "We're always looking for adventurers who'd help us decimate the number of cyclopes. Will you assist the city of Edron by killing 500 of them?", @@ -148,7 +148,7 @@ local function creatureSayCallback(npc, creature, type, message) end end if player:getLevel() >= 20 and player:getLevel() < 40 then - if player:getStorageValue(Storage.KillingInTheNameOf.RotwormTask) < 0 or player:getStorageValue(Storage.KillingInTheNameOf.RotwormTask) == 1 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.RotwormTask) < 0 or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.RotwormTask) == 1 then npcHandler:say("Maybe you have noticed the numerous rotworms that burrowed under Edron. They're quite a pest. You look strong enough to be able to vanquish a few for us. Do you think you can kill 300 rotworms?", npc, creature) npcHandler:setTopic(playerId, 5) return true @@ -160,7 +160,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.TrollCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.TrollCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.TrollChampionCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.TrollTask, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.TrollTask, 0) npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "goblins") and npcHandler:getTopic(playerId) == 4 then npcHandler:say("Fine then! You can kill normal goblins as well as scavengers and assassins on the lower levels, but beware, they are a bit harder. Have a good hunt!", npc, creature) @@ -169,7 +169,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GoblinCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GoblinScavengerCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GoblinAssassinCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.GoblinTask, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GoblinTask, 0) npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then @@ -185,7 +185,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.TrollCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.TrollCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.TrollChampionCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.TrollTask, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.TrollTask, 0) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then npcHandler:say("Fine then! I'll show you the Goblin den on your map, here. Use the same passage you did when hunting for trolls. You can kill normal goblins as well as scavengers and assassins on the lower levels, but beware, they are a bit harder.", npc, creature) @@ -194,7 +194,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GoblinCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GoblinScavengerCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GoblinAssassinCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.GoblinTask, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GoblinTask, 0) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 then npcHandler:say({ @@ -205,7 +205,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.RotwormCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.RotwormCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.CarrionWormnCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.RotwormTask, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.RotwormTask, 0) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then npcHandler:say({ @@ -218,7 +218,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.CyclopsCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.CyclopsDroneCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.CyclopsSmithCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.CyclopsTask, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.CyclopsTask, 0) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "no") then @@ -229,12 +229,12 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Another option if you want to do a task for Edron would be to repeat killing 100 trolls. Would that suit your taste better?", npc, creature) npcHandler:setTopic(playerId, 2) elseif npcHandler:getTopic(playerId) == 5 and player:getLevel() >= 30 then - if player:getStorageValue(Storage.KillingInTheNameOf.CyclopsTask) < 0 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.CyclopsTask) < 0 then npcHandler:say("Another option if you want to do a task for Edron would be to killing 500 cyclops. Would that suit your taste better?", npc, creature) npcHandler:setTopic(playerId, 6) end elseif npcHandler:getTopic(playerId) == 6 and player:getLevel() < 40 then - if player:getStorageValue(Storage.KillingInTheNameOf.RotwormTask) < 0 or player:getStorageValue(Storage.KillingInTheNameOf.RotwormTask) == 1 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.RotwormTask) < 0 or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.RotwormTask) == 1 then npcHandler:say("Another option if you want to do a task for Edron would be to killing 300 rotworms. Would that suit your taste better?", npc, creature) npcHandler:setTopic(playerId, 5) end diff --git a/data-otservbr-global/npc/gabel.lua b/data-otservbr-global/npc/gabel.lua index 85eabcc2882..58b5d1b31cb 100644 --- a/data-otservbr-global/npc/gabel.lua +++ b/data-otservbr-global/npc/gabel.lua @@ -139,29 +139,29 @@ local function creatureSayCallback(npc, creature, type, message) end npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "task") and player:getStorageValue(Storage.Quest.U7_4.DjinnWar.MaridFaction.Mission03) == 3 then - if player:getStorageValue(Storage.KillingInTheNameOf.GreenDjinnTask) < 0 or player:getStorageValue(Storage.KillingInTheNameOf.GreenDjinnTask) == 3 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask) < 0 or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask) == 3 then npcHandler:say({ "You've proven to be an experienced soldier, human. Though I still hope the war to be over soon, the Efreet are still threatening our tower. ...", "Thus we need your help in killing the green ones. If you kill 500 green djinns or Efreet for us, I'll reward you with bonus experience and some extra gold pieces. Do you agree?", }, npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.KillingInTheNameOf.GreenDjinnTask) == 0 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask) == 0 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.GreenDjinnCount) >= 500 then npcHandler:say({ "You've done it, human! Daraman be praised! Take this for your efforts. ...", "What's left to do now is seek out Merikh the Slaughterer, an especially cruel Efreet. He hides somewhere in Yalahar. I don't know if you can kill him, but you should at least try.", }, npc, creature) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.MerikhCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.GreenDjinnTask, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask, 1) else npcHandler:say("Come back when you kill 500 green djinns or Efreet.", npc, creature) end - elseif player:getStorageValue(Storage.KillingInTheNameOf.GreenDjinnTask) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask) == 2 then npcHandler:say({ "So you've been there and faced Merikh the Slaughterer! Whether you killed him or not, I hope your presence at least scared him. He is so mighty that we can only hope to truly defeat him one day. ...", "When you've recovered from your fight and would like to kill green djinns in our service again, just talk to me about that task.", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.GreenDjinnTask, 3) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask, 3) player:addExperience(10000, true) player:addMoney(5000) end @@ -171,7 +171,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.GreenDjinnCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GreenDjinnCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.EfreetCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.GreenDjinnTask, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask, 0) end return true end diff --git a/data-otservbr-global/npc/grizzly_adams.lua b/data-otservbr-global/npc/grizzly_adams.lua index b51e8ddf2ce..178c15a9bd2 100644 --- a/data-otservbr-global/npc/grizzly_adams.lua +++ b/data-otservbr-global/npc/grizzly_adams.lua @@ -132,14 +132,14 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.KillingInTheNameOf.QuestLogEntry) ~= 0 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry) ~= 0 then npcHandler:setMessage(MESSAGE_GREET, "Hi there, do you want to to {join} the 'Paw and Fur - Hunting Elite'?") elseif - player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) < 0 and player:getStorageValue(POINTSSTORAGE) >= 10 and player:getLevel() >= 6 -- to Huntsman Rank - or player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 0 and player:getStorageValue(POINTSSTORAGE) >= 20 and player:getLevel() >= 6 -- to Ranger Rank - or player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 2 and player:getStorageValue(POINTSSTORAGE) >= 40 and player:getLevel() >= 50 -- to Big Game Hunter Rank - or player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 4 and player:getStorageValue(POINTSSTORAGE) >= 70 and player:getLevel() >= 80 -- to Trophy Hunter Rank - or player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 6 and player:getStorageValue(POINTSSTORAGE) >= 100 and player:getLevel() >= 130 + player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) < 0 and player:getStorageValue(POINTSSTORAGE) >= 10 and player:getLevel() >= 6 -- to Huntsman Rank + or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 0 and player:getStorageValue(POINTSSTORAGE) >= 20 and player:getLevel() >= 6 -- to Ranger Rank + or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 2 and player:getStorageValue(POINTSSTORAGE) >= 40 and player:getLevel() >= 50 -- to Big Game Hunter Rank + or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 4 and player:getStorageValue(POINTSSTORAGE) >= 70 and player:getLevel() >= 80 -- to Trophy Hunter Rank + or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 6 and player:getStorageValue(POINTSSTORAGE) >= 100 and player:getLevel() >= 130 then -- to Elite Hunter Rank npcHandler:setMessage(MESSAGE_GREET, "Good to see you again |PLAYERNAME|. You gained " .. player:getStorageValue(POINTSSTORAGE) .. " points for our society. Ask me for {promotion} to advance your rank!") else @@ -357,8 +357,8 @@ local function checkX(npc, player, d, message) npcHandler:say(messageBossStart[tasks.GrizzlyAdams[m].bossId], npc, player) player:setStorageValue(tasks.GrizzlyAdams[m].rewards[n].value[1], 1) player:setStorageValue(tasks.GrizzlyAdams[m].rewards[n].value[2], 0) - player:setStorageValue(Storage.KillingInTheNameOf.BossPoints, player:getStorageValue(Storage.KillingInTheNameOf.BossPoints) - 1) - player:setStorageValue(Storage.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.KillingInTheNameOf.QuestLogEntry)) -- fake update + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints, player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints) - 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry)) -- fake update return true else npcHandler:say("You have '" .. tasks.GrizzlyAdams[m].bossName .. "' task active.", npc, player) @@ -409,10 +409,10 @@ local function creatureSayCallback(npc, creature, type, message) return string.upper(a) .. b end) - if (MsgContains("join", message) or MsgContains("yes", message)) and npcHandler:getTopic(playerId) == 0 and player:getStorageValue(Storage.KillingInTheNameOf.QuestLogEntry) ~= 0 then + if (MsgContains("join", message) or MsgContains("yes", message)) and npcHandler:getTopic(playerId) == 0 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry) ~= 0 then player:setStorageValue(JOIN_STOR, 1) - player:setStorageValue(Storage.KillingInTheNameOf.BossPoints, 0) - player:setStorageValue(Storage.KillingInTheNameOf.QuestLogEntry, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry, 0) player:setStorageValue(POINTSSTORAGE, 0) npcHandler:say("Great! A warm welcome to our newest member: |PLAYERNAME|! Ask me for a {task} if you want to go on a hunt.", npc, creature) elseif table.contains({ "report", "reports" }, message:lower()) then @@ -422,18 +422,18 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("You have nothing to report.", npc, creature) end elseif table.contains({ "tasks", "task", "mission" }, message:lower()) then - if player:getStorageValue(Storage.KillingInTheNameOf.QuestLogEntry) ~= 0 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry) ~= 0 then return npcHandler:say("You'll have to {join}, to get any {tasks}.", npc, creature) end if checkZ(npc, player, message) == true then return true end if - player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) < 0 and player:getStorageValue(POINTSSTORAGE) >= 10 and player:getLevel() >= 6 -- to Huntsman Rank - or player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 0 and player:getStorageValue(POINTSSTORAGE) >= 20 and player:getLevel() >= 6 -- to Ranger Rank - or player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 2 and player:getStorageValue(POINTSSTORAGE) >= 40 and player:getLevel() >= 50 -- to Big Game Hunter Rank - or player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 4 and player:getStorageValue(POINTSSTORAGE) >= 70 and player:getLevel() >= 80 -- to Trophy Hunter Rank - or player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 6 and player:getStorageValue(POINTSSTORAGE) >= 100 and player:getLevel() >= 130 + player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) < 0 and player:getStorageValue(POINTSSTORAGE) >= 10 and player:getLevel() >= 6 -- to Huntsman Rank + or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 0 and player:getStorageValue(POINTSSTORAGE) >= 20 and player:getLevel() >= 6 -- to Ranger Rank + or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 2 and player:getStorageValue(POINTSSTORAGE) >= 40 and player:getLevel() >= 50 -- to Big Game Hunter Rank + or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 4 and player:getStorageValue(POINTSSTORAGE) >= 70 and player:getLevel() >= 80 -- to Trophy Hunter Rank + or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 6 and player:getStorageValue(POINTSSTORAGE) >= 100 and player:getLevel() >= 130 then -- to Elite Hunter Rank npcHandler:say("You are ready to advance one rank in our society |PLAYERNAME|. Ask me for a {promotion} first.", npc, creature) return true @@ -468,7 +468,7 @@ local function creatureSayCallback(npc, creature, type, message) messageAltExtra = true end elseif table.contains({ 1, 2 }, player:getStorageValue(reward.value[1])) then - player:setStorageValue(Storage.KillingInTheNameOf.BossPoints, player:getStorageValue(Storage.KillingInTheNameOf.BossPoints) + 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints, player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints) + 1) else player:setStorageValue(reward.value[1], reward.value[3]) player:setStorageValue(reward.value[2], reward.value[4]) @@ -488,20 +488,20 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(POINTSSTORAGE, getPlayerTasksPoints(creature) + pointsToReceive + 3) messageAltExtraPoints = true extraValue = 3 - player:setStorageValue(Storage.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.KillingInTheNameOf.QuestLogEntry)) -- fake update + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry)) -- fake update elseif player:getLevel() >= 130 and player:getStorageValue(POINTSSTORAGE) <= 40 then player:setStorageValue(POINTSSTORAGE, getPlayerTasksPoints(creature) + pointsToReceive + 2) messageAltExtraPoints = true extraValue = 2 - player:setStorageValue(Storage.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.KillingInTheNameOf.QuestLogEntry)) -- fake update + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry)) -- fake update elseif player:getLevel() >= 130 and player:getStorageValue(POINTSSTORAGE) <= 70 then player:setStorageValue(POINTSSTORAGE, getPlayerTasksPoints(creature) + pointsToReceive + 1) messageAltExtraPoints = true extraValue = 1 - player:setStorageValue(Storage.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.KillingInTheNameOf.QuestLogEntry)) -- fake update + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry)) -- fake update else player:setStorageValue(POINTSSTORAGE, getPlayerTasksPoints(creature) + pointsToReceive) - player:setStorageValue(Storage.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.KillingInTheNameOf.QuestLogEntry)) -- fake update + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry, player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.QuestLogEntry)) -- fake update end elseif table.contains({ REWARD_ITEM, "item", "items", "object" }, reward.type:lower()) and not deny then player:addItem(reward.value[1], reward.value[2]) @@ -659,7 +659,7 @@ local function creatureSayCallback(npc, creature, type, message) else npcHandler:say(messageStartTaskAlt[message:lower()], npc, creature) end - elseif table.contains({ "demons", "demon" }, message:lower()) and player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 7 then + elseif table.contains({ "demons", "demon" }, message:lower()) and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 7 then npcHandler:say("The spawn of pure evil must be erased from Tibia. You'll find demons lurking in the northern ruins of Edron as well as in some other deeper dungeons of Tibia. Slay 6666 demons for the greater good! Do you think you can handle this task?", npc, creature) else npcHandler:say("In this task you must defeat " .. tasks.GrizzlyAdams[task].killsRequired .. " " .. tasks.GrizzlyAdams[task].raceName .. ". Are you sure that you want to start this task?", npc, creature) @@ -739,33 +739,33 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("You haven't started any task yet.", npc, creature) end elseif table.contains({ "promotion", "promotions" }, message:lower()) then - if player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) < 0 and player:getStorageValue(POINTSSTORAGE) >= 10 and player:getLevel() >= 6 then -- to Huntsman Rank + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) < 0 and player:getStorageValue(POINTSSTORAGE) >= 10 and player:getLevel() >= 6 then -- to Huntsman Rank npcHandler:say({ "You gained 10 points! Let me promote you to the first rank: 'Huntsman'. Congratulations! ...", "If you find any trophies - either monster heads or other parts of monsters that you don't need - feel free to ask me for a trade.", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.PawAndFurRank, 0) - elseif player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 0 and player:getStorageValue(POINTSSTORAGE) >= 20 and player:getLevel() >= 6 then -- to Ranger Rank + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, 0) + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 0 and player:getStorageValue(POINTSSTORAGE) >= 20 and player:getLevel() >= 6 then -- to Ranger Rank npcHandler:say({ "You gained 20 points. It's time for a promotion. You advance to the rank of a 'Ranger'. Congratulations! ...", "Oh, I made a deal with Lorek. He ships Rangers from our society - and higher ranks of course - to Banuta, Chor or near the mountain pass to Darama. Just ask him for a passage.", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.PawAndFurRank, 2) - elseif player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 2 and player:getStorageValue(POINTSSTORAGE) >= 40 and player:getLevel() >= 50 then -- to Big Game Hunter Rank + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, 2) + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 2 and player:getStorageValue(POINTSSTORAGE) >= 40 and player:getLevel() >= 50 then -- to Big Game Hunter Rank npcHandler:say({ "Good show! You gained 40 points for the 'Paw and Fur - Hunting Elite'. You have earned the right to join the ranks of those known as 'Big game hunter'. Congratulations! ...", "From now on I'll buy more trophies from you!", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.PawAndFurRank, 4) - elseif player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 4 and player:getStorageValue(POINTSSTORAGE) >= 70 and player:getLevel() >= 80 then -- to Trophy Hunter Rank + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, 4) + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 4 and player:getStorageValue(POINTSSTORAGE) >= 70 and player:getLevel() >= 80 then -- to Trophy Hunter Rank npcHandler:say({ "Spiffing! You gained 70 hunting points! From now on you can call yourself a 'Trophy hunter'. As a reward I have this special backpack for you and in addition, you can sell some more rare trophies to me. ...", "Ask me for {special} tasks from time to time.", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.PawAndFurRank, 6) - elseif player:getStorageValue(Storage.KillingInTheNameOf.PawAndFurRank) == 6 and player:getStorageValue(POINTSSTORAGE) >= 100 and player:getLevel() >= 130 then -- to Elite Hunter Rank + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, 6) + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank) == 6 and player:getStorageValue(POINTSSTORAGE) >= 100 and player:getLevel() >= 130 then -- to Elite Hunter Rank npcHandler:say("Congratulations, |PLAYERNAME|! You have gained the highest rank: 'Elite hunter'. If you haven't done yet, ask me for the {special} task.", npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.PawAndFurRank, 7) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PawAndFurRank, 7) else npcHandler:say("You have not enough points for promotion.", npc, creature) end @@ -773,7 +773,7 @@ local function creatureSayCallback(npc, creature, type, message) if checkZ(npc, player, message) == true then return true end - if player:getStorageValue(Storage.KillingInTheNameOf.BossPoints) > 0 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints) > 0 then if player:getLevel() < 50 then npcHandler:say("You can choose between the {Snapper}, {Hide}, {Deathbine} and the {Bloodtusk}.", npc, creature) npcHandler:setTopic(playerId, 4) @@ -797,7 +797,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 7) end else - npcHandler:say("You have " .. player:getStorageValue(Storage.KillingInTheNameOf.BossPoints) .. " boss points.", npc, creature) + npcHandler:say("You have " .. player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints) .. " boss points.", npc, creature) end elseif table.contains({ "snapper", "hide", "deathbine", "bloodtusk" }, message:lower()) and npcHandler:getTopic(playerId) >= 4 and npcHandler:getTopic(playerId) <= 7 then checkX(npc, player, 50, message) @@ -815,7 +815,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say(messageBossStart[tasks.GrizzlyAdams[w].bossId], npc, creature) player:setStorageValue(tasks.GrizzlyAdams[w].rewards[y].value[1], 1) player:setStorageValue(tasks.GrizzlyAdams[w].rewards[y].value[2], 0) - player:setStorageValue(Storage.KillingInTheNameOf.BossPoints, player:getStorageValue(Storage.KillingInTheNameOf.BossPoints) - 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints, player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossPoints) - 1) return true else npcHandler:say("You have '" .. tasks.GrizzlyAdams[w].bossName .. "' task active.", npc, creature) @@ -914,30 +914,30 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif table.contains({ "special", "special task" }, message:lower()) then if player:getPawAndFurPoints() >= 70 and player:getLevel() >= 80 then - if player:getStorageValue(Storage.KillingInTheNameOf.MissionTiquandasRevenge) < 1 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionTiquandasRevenge) < 1 then npcHandler:say({ "Have you heard about {Tiquanda's Revenge}? It is said that the jungle itself is alive and takes revenge for all the bad things people have done to it. ...", "I myself believe that there is some truth in this clap-trap. Something 'real' which must have a hideout somewhere. Go find it and take revenge yourself! Ask me about the {special} task when you're done.", }, npc, creature) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.TiquandasCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.MissionTiquandasRevenge, 1) - elseif player:getStorageValue(Storage.KillingInTheNameOf.MissionTiquandasRevenge) <= 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.TiquandasCount) == 0 then + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionTiquandasRevenge, 1) + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionTiquandasRevenge) <= 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.TiquandasCount) == 0 then npcHandler:say("You have already started the task. Go find Tiquandas Revenge and take revenge yourself!", npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.MissionTiquandasRevenge, 1) -- for death scenario - elseif player:getStorageValue(Storage.KillingInTheNameOf.MissionTiquandasRevenge) == 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.TiquandasCount) == 1 then + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionTiquandasRevenge, 1) -- for death scenario + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionTiquandasRevenge) == 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.TiquandasCount) == 1 then npcHandler:say("Great achievement, old chap! You are an outstanding hunter, no doubt about it!", npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.MissionTiquandasRevenge, 3) - elseif player:getStorageValue(Storage.KillingInTheNameOf.MissionDemodras) < 1 then + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionTiquandasRevenge, 3) + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionDemodras) < 1 then npcHandler:say("This task is a very dangerous one. I want you to look for {Demodras'} hideout. It might be somewhere under the {Plains of Havoc}. Good luck, old chap, come back in one piece and ask me about the special task when you're done.", npc, creature) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.DemodrasCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.MissionDemodras, 1) - elseif player:getStorageValue(Storage.KillingInTheNameOf.MissionDemodras) <= 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.DemodrasCount) == 0 then + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionDemodras, 1) + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionDemodras) <= 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.DemodrasCount) == 0 then npcHandler:say("You have already started the special task. Find Demodras and kill it.", npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.MissionDemodras, 1) -- for death scenario - elseif player:getStorageValue(Storage.KillingInTheNameOf.MissionDemodras) == 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.DemodrasCount) == 1 then + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionDemodras, 1) -- for death scenario + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionDemodras) == 2 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.DemodrasCount) == 1 then npcHandler:say("Jolly good show! You can cross swords with any creature in this world! I bow to you.", npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.MissionDemodras, 3) - elseif player:getStorageValue(Storage.KillingInTheNameOf.MissionDemodras) == 3 and player:getStorageValue(Storage.KillingInTheNameOf.MissionTiquandasRevenge) == 3 then + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionDemodras, 3) + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionDemodras) == 3 and player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MissionTiquandasRevenge) == 3 then npcHandler:say("You have already finished all special tasks.", npc, creature) end npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/lugri.lua b/data-otservbr-global/npc/lugri.lua index d1a313b2d75..e79af832fe2 100644 --- a/data-otservbr-global/npc/lugri.lua +++ b/data-otservbr-global/npc/lugri.lua @@ -86,40 +86,40 @@ local function creatureSayCallback(npc, creature, type, message) ------------Task Part------------- elseif MsgContains(message, "task") then - if player:getStorageValue(Storage.KillingInTheNameOf.LugriNecromancers) < 0 and player:getLevel() >= 60 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers) < 0 and player:getLevel() >= 60 then npcHandler:say({ "What? Who are you to imply I need help from a worm like you? ...", "I don't need help. But if you desperately wish to do something to earn the favour of Zathroth, feel free. Don't expect any reward though. ...", "Do you want to help and serve Zathroth out of your own free will, without demanding payment or recognition?", }, npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.KillingInTheNameOf.LugriNecromancers) == 0 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers) == 0 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.NecromancerCount) >= 4000 then npcHandler:say({ "You've slain a mere " .. player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.NecromancerCount) .. " necromancers and priestesses. Still, you've shown some dedication. Maybe that means you can kill one of those so-called 'leaders' too. ...", "Deep under Drefia, a necromancer called Necropharus is hiding in the Halls of Sacrifice. I'll place a spell on you with which you will be able to pass his weak protective gate. ...", "Know that this will be your only chance to enter his room. If you leave it or die, you won't be able to return. We'll see if you really dare enter those halls.", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.LugriNecromancers, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers, 1) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.NecropharusCount, 0) else npcHandler:say("Come back when you have slain 4000 necromancers and priestesses!", npc, creature) end - elseif player:getStorageValue(Storage.KillingInTheNameOf.LugriNecromancers) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers) == 2 then npcHandler:say({ "Hrm. So you had the guts to enter that room. Well, it's all fake magic anyway and no real threat. ...", "What are you looking at me for? Waiting for something? I told you that there was no reward. Despite being allowed to stand before me without being squashed like a bug. Get out of my sight!", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.LugriNecromancers, 4) - elseif player:getStorageValue(Storage.KillingInTheNameOf.LugriNecromancers) == 3 then + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers, 4) + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers) == 3 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.NecromancerCount) >= 1000 then npcHandler:say("Good job!", npc, creature) player:addExperience(40000, true) - player:setStorageValue(Storage.KillingInTheNameOf.LugriNecromancers, 4) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers, 4) else npcHandler:say("Come back when you have slain 1000 necromancers and priestesses!", npc, creature) end - elseif player:getStorageValue(Storage.KillingInTheNameOf.LugriNecromancers) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers) == 4 then npcHandler:say("You can't live without serving, can you? Although you are quite annoying, you're still somewhat useful. Continue killing Necromancers and Priestesses for me. 1000 are enough this time. What do you say?", npc, creature) npcHandler:setTopic(playerId, 8) end @@ -180,7 +180,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.BloodPriestCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.BloodHandCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.ShadowPupilCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.LugriNecromancers, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers, 0) elseif npcHandler:getTopic(playerId) == 8 then npcHandler:say("Good. Then go.", npc, creature) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.NecromancerCount, 0) @@ -189,7 +189,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.BloodPriestCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.BloodHandCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.ShadowPupilCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.LugriNecromancers, 3) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers, 3) end elseif MsgContains(message, "no") then if npcHandler:getTopic(playerId) > 1 then diff --git a/data-otservbr-global/npc/malor.lua b/data-otservbr-global/npc/malor.lua index 646bb32205d..0502fd10d3c 100644 --- a/data-otservbr-global/npc/malor.lua +++ b/data-otservbr-global/npc/malor.lua @@ -153,10 +153,10 @@ local function creatureSayCallback(npc, creature, type, message) end npcHandler:setTopic(playerId, 0) elseif MsgContains(message, "task") and player:getStorageValue(Storage.Quest.U7_4.DjinnWar.EfreetFaction.Mission03) == 3 then - if player:getStorageValue(Storage.KillingInTheNameOf.BlueDjinnTask) < 0 or player:getStorageValue(Storage.KillingInTheNameOf.BlueDjinnTask) == 3 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask) < 0 or player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask) == 3 then npcHandler:say("There are still blue djinns everywhere! We can't let a single one of them live. I guess a start would be for you to kill 500 blue djinns and Marid. Will you assist us?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.KillingInTheNameOf.BlueDjinnTask) == 0 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask) == 0 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.BlueDjinnCount) >= 500 then npcHandler:say({ "Well well, human. Not bad. I'm not surprised, since you have done acceptably well in the past. So I suppose I can ask you for another thing. ...", @@ -164,16 +164,16 @@ local function creatureSayCallback(npc, creature, type, message) "I suggest you teach that joke of a djinn a lesson he won't forget.", }, npc, creature) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BossKillCount.FahimCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.BlueDjinnTask, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask, 1) else npcHandler:say("Come back when you kill 500 blue djinns and Marid.", npc, creature) end - elseif player:getStorageValue(Storage.KillingInTheNameOf.BlueDjinnTask) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask) == 2 then npcHandler:say({ "You've met Fahim the Wise? That's good. I'm pretty sure it was easy to give him a nice beating. ...", "If you should feel like killing blue djinns in our service again, just talk to me about that task.", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.BlueDjinnTask, 3) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask, 3) player:addExperience(10000, true) player:addMoney(5000) end @@ -183,7 +183,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.BlueDjinnCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.BlueDjinnCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.MaridCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.BlueDjinnTask, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask, 0) end return true end diff --git a/data-otservbr-global/npc/raymond_striker.lua b/data-otservbr-global/npc/raymond_striker.lua index e31e737321c..da694aed8da 100644 --- a/data-otservbr-global/npc/raymond_striker.lua +++ b/data-otservbr-global/npc/raymond_striker.lua @@ -151,14 +151,14 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "task") and player:getStorageValue(Storage.Quest.U7_8.TheShatteredIsles.RaysMission4) == 5 then - if player:getStorageValue(Storage.KillingInTheNameOf.PirateTask) < 0 then + if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PirateTask) < 0 then npcHandler:say({ "The pirates on Nargor are becoming more and more of a threat to us each day. I wish someone could get rid of them once and for all, but unfortunately they just keep coming! ...", "Only a dead pirate is a good pirate. I think killing a large number of them would definitely help us to make Sabrehaven a safer place. ...", "It doesn't matter how long it takes, but... would you be willing to kill 3000 pirates for us?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.KillingInTheNameOf.PirateTask) == 0 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PirateTask) == 0 then if player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.PirateCount) >= 3000 then if player:getStorageValue(REPEATSTORAGE_BASE + #tasks.GrizzlyAdams + 1) <= 2 then npcHandler:say({ @@ -166,7 +166,7 @@ local function creatureSayCallback(npc, creature, type, message) "One of our spies told us about a secret hideout somewhere on Nargor. Supposedly, one of the four pirate leaders can be found there sometimes. If you dare go there, you might be able to face him or her in one on one combat. ...", "Beware though - prepare yourself well and only flee if you must. This might be your only chance to get into there, so be careful and don't die!", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.PirateTask, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PirateTask, 1) player:addExperience(10000, true) player:addMoney(5000) elseif player:getStorageValue(REPEATSTORAGE_BASE + #tasks.GrizzlyAdams + 1) == 3 then @@ -174,25 +174,25 @@ local function creatureSayCallback(npc, creature, type, message) "This was probably the last time you will be able to enter that hideout. Well done, my friend, our thanks are with you. ...", "You are most welcome to keep on killing pirates for us though for some bucks and experience. If you want to do so, just ask me about a {task} anytime.", }, npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.PirateTask, 1) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PirateTask, 1) player:addExperience(10000, true) player:addMoney(5000) elseif player:getStorageValue(REPEATSTORAGE_BASE + #tasks.GrizzlyAdams + 1) > 3 then npcHandler:say("Ahh, thank you, my friend! What would we do without you? Here, take this reward for your efforts. If you want to continue to help us killing pirates, just ask me about that {task}.", npc, creature) - player:setStorageValue(Storage.KillingInTheNameOf.PirateTask, 3) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PirateTask, 3) player:addExperience(10000, true) player:addMoney(5000) end else npcHandler:say("Go kill more pirates.", npc, creature) end - elseif player:getStorageValue(Storage.KillingInTheNameOf.PirateTask) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PirateTask) == 2 then npcHandler:say({ "So you went into the leaders' hideout? I hope you were successful and got what you were looking for! Thank you, my friend. Pirates still keep coming here, unfortunately. ...", "Do you, by chance, would like to kill pirates again for us?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.KillingInTheNameOf.PirateTask) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PirateTask) == 3 then npcHandler:say("Do you, by chance, would like to kill pirates again for us?", npc, creature) npcHandler:setTopic(playerId, 2) end @@ -205,7 +205,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.PirateCutthroadCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.PirateBuccaneerCount, 0) player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.PirateCorsairCount, 0) - player:setStorageValue(Storage.KillingInTheNameOf.PirateTask, 0) + player:setStorageValue(Storage.Quest.U8_5.KillingInTheNameOf.PirateTask, 0) player:setStorageValue(REPEATSTORAGE_BASE + #tasks.GrizzlyAdams + 1, math.max(player:getStorageValue(REPEATSTORAGE_BASE + #tasks.GrizzlyAdams + 1), 0)) player:setStorageValue(REPEATSTORAGE_BASE + #tasks.GrizzlyAdams + 1, player:getStorageValue(REPEATSTORAGE_BASE + #tasks.GrizzlyAdams + 1) + 1) npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index c1295a01ee9..0db6db2737c 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -360,7 +360,7 @@ local questTable = { { storage = Storage.Quest.U8_4.BloodBrothers.VengothAccess, storageValue = 1 }, -- Assassin Outfit quests - { storage = Storage.KillingInTheNameOf.BudrikMinos, storageValue = 0 }, + { storage = Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos, storageValue = 0 }, { storage = Storage.TibiaTales.ToOutfoxAFoxQuest.Questline, storageValue = 2 }, -- Hunter Outfit quests diff --git a/data-otservbr-global/scripts/creaturescripts/quests/killing_in_the_name_of/monster_kill.lua b/data-otservbr-global/scripts/creaturescripts/quests/killing_in_the_name_of/monster_kill.lua index f8f7ddc5c6b..c740ef12971 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/killing_in_the_name_of/monster_kill.lua +++ b/data-otservbr-global/scripts/creaturescripts/quests/killing_in_the_name_of/monster_kill.lua @@ -57,24 +57,24 @@ function deathEvent.onDeath(creature, _corpse, _lastHitKiller, mostDamageKiller) end end -- Minotaurs - killCheck(player, targetName, Storage.KillingInTheNameOf.BudrikMinos, 0, tasks.Budrik[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.MinotaurCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.MinotaurCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos, 0, tasks.Budrik[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.MinotaurCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.MinotaurCount) -- Necromancers and Priestesses - killCheck(player, targetName, Storage.KillingInTheNameOf.LugriNecromancers, 0, tasks.Lugri[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.NecromancerCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.NecromancerCount) - killCheck(player, targetName, Storage.KillingInTheNameOf.LugriNecromancers, 3, tasks.Lugri[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.NecromancerCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.NecromancerCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers, 0, tasks.Lugri[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.NecromancerCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.NecromancerCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers, 3, tasks.Lugri[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.NecromancerCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.NecromancerCount) -- Green Djinns or Efreets - killCheck(player, targetName, Storage.KillingInTheNameOf.GreenDjinnTask, 0, tasks.Gabel[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GreenDjinnCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.GreenDjinnCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask, 0, tasks.Gabel[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GreenDjinnCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.GreenDjinnCount) -- Blue Djinns or Marids - killCheck(player, targetName, Storage.KillingInTheNameOf.BlueDjinnTask, 0, tasks.Malor[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.BlueDjinnCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.BlueDjinnCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask, 0, tasks.Malor[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.BlueDjinnCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.BlueDjinnCount) -- Pirates - killCheck(player, targetName, Storage.KillingInTheNameOf.PirateTask, 0, tasks.RaymondStriker[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.PirateMarauderCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.PirateCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.PirateTask, 0, tasks.RaymondStriker[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.PirateMarauderCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.PirateCount) -- Trolls - killCheck(player, targetName, Storage.KillingInTheNameOf.TrollTask, 0, tasks.DanielSteelsoul[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.TrollCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.TrollCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.TrollTask, 0, tasks.DanielSteelsoul[1].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.TrollCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.TrollCount) -- Goblins - killCheck(player, targetName, Storage.KillingInTheNameOf.GoblinTask, 0, tasks.DanielSteelsoul[2].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GoblinCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.GoblinCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.GoblinTask, 0, tasks.DanielSteelsoul[2].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.GoblinCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.GoblinCount) -- Rotworms - killCheck(player, targetName, Storage.KillingInTheNameOf.RotwormTask, 0, tasks.DanielSteelsoul[3].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.RotwormCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.RotwormCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.RotwormTask, 0, tasks.DanielSteelsoul[3].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.RotwormCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.RotwormCount) -- Cyclops - killCheck(player, targetName, Storage.KillingInTheNameOf.CyclopsTask, 0, tasks.DanielSteelsoul[4].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.CyclopsCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.CyclopsCount) + killCheck(player, targetName, Storage.Quest.U8_5.KillingInTheNameOf.CyclopsTask, 0, tasks.DanielSteelsoul[4].creatures, Storage.Quest.U8_5.KillingInTheNameOf.AltKillCount.CyclopsCount, Storage.Quest.U8_5.KillingInTheNameOf.MonsterKillCount.CyclopsCount) end) return true end diff --git a/data-otservbr-global/scripts/movements/quests/killing_in_the_name_of/boss.lua b/data-otservbr-global/scripts/movements/quests/killing_in_the_name_of/boss.lua index 531e3b53526..4220280abdc 100644 --- a/data-otservbr-global/scripts/movements/quests/killing_in_the_name_of/boss.lua +++ b/data-otservbr-global/scripts/movements/quests/killing_in_the_name_of/boss.lua @@ -309,7 +309,7 @@ local bosses = { }, { bossName = "tiquandas revenge", - storage = Storage.KillingInTheNameOf.MissionTiquandasRevenge, + storage = Storage.Quest.U8_5.KillingInTheNameOf.MissionTiquandasRevenge, teleportPosition = { x = 32877, y = 32583, z = 7 }, playerPosition = Position(32888, 32580, 4), bossPosition = Position(32888, 32586, 4), @@ -320,7 +320,7 @@ local bosses = { }, { bossName = "demodras", - storage = Storage.KillingInTheNameOf.MissionDemodras, + storage = Storage.Quest.U8_5.KillingInTheNameOf.MissionDemodras, teleportPosition = { x = 32769, y = 32290, z = 10 }, playerPosition = Position(32748, 32287, 10), bossPosition = Position(32747, 32294, 10), @@ -331,7 +331,7 @@ local bosses = { }, { bossName = "necropharus", - storage = Storage.KillingInTheNameOf.LugriNecromancers, + storage = Storage.Quest.U8_5.KillingInTheNameOf.LugriNecromancers, teleportPosition = { x = 33046, y = 32439, z = 11 }, playerPosition = Position(33028, 32426, 12), bossPosition = Position(33026, 32422, 12), @@ -342,7 +342,7 @@ local bosses = { }, { bossName = "the horned fox", - storage = Storage.KillingInTheNameOf.BudrikMinos, + storage = Storage.Quest.U8_5.KillingInTheNameOf.BudrikMinos, teleportPosition = { x = 32450, y = 31988, z = 9 }, playerPosition = Position(32458, 31994, 9), bossPosition = Position(32458, 32005, 9), @@ -353,7 +353,7 @@ local bosses = { }, { bossName = { "Brutus Bloodbeard", "Deadeye Devious", "lethal lissy", "Ron The Ripper" }, - storage = Storage.KillingInTheNameOf.PirateTask, + storage = Storage.Quest.U8_5.KillingInTheNameOf.PirateTask, teleportPosition = { x = 31978, y = 32853, z = 1 }, playerPosition = Position(31976, 32896, 0), bossPosition = Position(31983, 32897, 0), @@ -364,7 +364,7 @@ local bosses = { }, { bossName = "merikh the slaughterer", - storage = Storage.KillingInTheNameOf.GreenDjinnTask, + storage = Storage.Quest.U8_5.KillingInTheNameOf.GreenDjinnTask, teleportPosition = { x = 32870, y = 31112, z = 4 }, playerPosition = Position(32876, 31120, 8), bossPosition = Position(32875, 31112, 8), @@ -375,7 +375,7 @@ local bosses = { }, { bossName = "fahim the wise", - storage = Storage.KillingInTheNameOf.BlueDjinnTask, + storage = Storage.Quest.U8_5.KillingInTheNameOf.BlueDjinnTask, teleportPosition = { x = 32815, y = 31119, z = 3 }, playerPosition = Position(32811, 31121, 2), bossPosition = Position(32811, 31114, 2), From d796a5043b6fbda8847dafacf143c1e8a6ffad8c Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 7 Aug 2024 08:38:26 -0300 Subject: [PATCH 080/112] Lone Medusa Quest --- data-otservbr-global/lib/core/storages.lua | 2 +- data-otservbr-global/startup/tables/chest.lua | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 3e279caf998..816cd5530d1 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2218,7 +2218,7 @@ Storage = { CyclopsSmithCount = 42502, }, }, - LoneMedusa = {}, + LoneMedusa = 42503, PilgrimageOfAshes = {}, ShadowsOfYalahar = {}, TheIsleOfEvil = {}, diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 08010bd8dfc..f1893aa834e 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2443,6 +2443,14 @@ ChestUnique = { weight = 1.00, storage = Storage.Quest.U8_5.DarashiaDragon, }, + -- Lone Medusa Quest + [6286] = { + itemId = 3990, + itemPos = { x = 32406, y = 32764, z = 1 }, + reward = { { 3027, 4 } }, + weight = 1.00, + storage = Storage.Quest.U8_5.LoneMedusa, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) From 9fa125e357f5cbfc989ac89226e2c074ccf31764 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 7 Aug 2024 16:01:10 -0300 Subject: [PATCH 081/112] The New Frontier Quest --- data-otservbr-global/lib/core/storages.lua | 2 ++ data-otservbr-global/npc/angus.lua | 7 +++-- data-otservbr-global/npc/chrak.lua | 3 ++ data-otservbr-global/npc/lazaran.lua | 3 ++ data-otservbr-global/npc/leeland.lua | 1 + data-otservbr-global/npc/melfar.lua | 7 +++-- data-otservbr-global/npc/ongulf.lua | 30 ++++++++----------- data-otservbr-global/npc/wyrdin.lua | 10 +++---- .../{action-arena.lua => action_arena.lua} | 0 .../{action-beaver.lua => action_beaver.lua} | 0 ...ction-elevator.lua => action_elevator.lua} | 0 ...hidden_note.lua => action_hidden_note.lua} | 0 .../{action-outfit.lua => action_outfit.lua} | 0 ...oor.lua => action_prision_secret_door.lua} | 0 .../{action-vine.lua => action_vine.lua} | 0 ...aturescripts_shard_of_corruption_kill.lua} | 0 ...ll.lua => creaturescripts_tirecz_kill.lua} | 0 ..._hole.lua => movement_corruption_hole.lua} | 0 ...t-jail_exit.lua => movement_jail_exit.lua} | 0 ...ur_boss.lua => movement_minotaur_boss.lua} | 0 ...ion_trap.lua => movement_prision_trap.lua} | 0 ...ovement-wayout.lua => movement_wayout.lua} | 0 ....lua => movements_snake_head_teleport.lua} | 0 data-otservbr-global/startup/tables/chest.lua | 15 ++++++++++ 24 files changed, 51 insertions(+), 27 deletions(-) rename data-otservbr-global/scripts/quests/the_new_frontier/{action-arena.lua => action_arena.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{action-beaver.lua => action_beaver.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{action-elevator.lua => action_elevator.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{action-hidden_note.lua => action_hidden_note.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{action-outfit.lua => action_outfit.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{action-prision_secret_door.lua => action_prision_secret_door.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{action-vine.lua => action_vine.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{shard_of_corruption_kill.lua => creaturescripts_shard_of_corruption_kill.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{tirecz_kill.lua => creaturescripts_tirecz_kill.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{corruption_hole.lua => movement_corruption_hole.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{movement-jail_exit.lua => movement_jail_exit.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{movement-minotaur_boss.lua => movement_minotaur_boss.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{movement-prision_trap.lua => movement_prision_trap.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{movement-wayout.lua => movement_wayout.lua} (100%) rename data-otservbr-global/scripts/quests/the_new_frontier/{snake_head_teleport.lua => movements_snake_head_teleport.lua} (100%) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 816cd5530d1..def4923746f 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2283,6 +2283,8 @@ Storage = { ZaoPalaceDoors = 42730, -- 10th Tome: Zao Palace SnakeHeadTeleport = 42731, -- 7th Tome: Snake Head Teleport CorruptionHole = 42732, -- 8th Tome: Corruption Hole + ChestTomeOfKnowledge1 = 42733, + ChestTomeOfKnowledge2 = 42734, }, TomesOfKnowledge = { OrcCamp = 42751, diff --git a/data-otservbr-global/npc/angus.lua b/data-otservbr-global/npc/angus.lua index 46579692d26..e7eab23e07e 100644 --- a/data-otservbr-global/npc/angus.lua +++ b/data-otservbr-global/npc/angus.lua @@ -77,14 +77,17 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "bluff") and player:getStorageValue(TheNewFrontier.Mission05.AngusKeyword) == 1 and player:getStorageValue(TheNewFrontier.Questline) == 14 and player:getStorageValue(TheNewFrontier.Mission05.Angus) == 1 then if npcHandler:getTopic(playerId) == 1 or npcHandler:getTopic(playerId) == 2 then if player:getStorageValue(TheNewFrontier.Mission05.Angus) == 1 then - npcHandler:say({ "Those stories are just amazing! Men with faces on their stomach instead of heads you say? And hens that lay golden eggs? Whereas, most amazing is this fountain of youth you've mentioned! ...", "I'll immediately send some of our most dedicated explorers to check those things out!" }, npc, creature) + npcHandler:say({ + "Those stories are just amazing! Men with faces on their stomach instead of heads you say? And hens that lay golden eggs? Whereas, most amazing is this fountain of youth you've mentioned! ...", + "I'll immediately send some of our most dedicated explorers to check those things out!" + }, npc, creature) player:setStorageValue(TheNewFrontier.Mission05.Angus, 3) end end elseif MsgContains(message, "impress") and player:getStorageValue(TheNewFrontier.Mission05.AngusKeyword) == 2 and player:getStorageValue(TheNewFrontier.Questline) == 14 and player:getStorageValue(TheNewFrontier.Mission05.Angus) == 1 then if npcHandler:getTopic(playerId) == 1 then if player:getStorageValue(TheNewFrontier.Mission05.Angus) == 1 then - npcHandler:say({ "A whole new land is indeed very tempting. I can hardly imagine all the wonders that await us there. I doubt I could stop our explorers from going there even if I tried to." }, npc, creature) + npcHandler:say("A whole new land is indeed very tempting. I can hardly imagine all the wonders that await us there. I doubt I could stop our explorers from going there even if I tried to.", npc, creature) player:setStorageValue(TheNewFrontier.Mission05.Angus, 3) end elseif npcHandler:getTopic(playerId) == 2 then diff --git a/data-otservbr-global/npc/chrak.lua b/data-otservbr-global/npc/chrak.lua index 4c5e8b4d654..fe2241247c8 100644 --- a/data-otservbr-global/npc/chrak.lua +++ b/data-otservbr-global/npc/chrak.lua @@ -89,6 +89,9 @@ local function creatureSayCallback(npc, creature, type, message) end return true end + +npcHandler:setMessage(MESSAGE_GREET, "Greetingz, competitor.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/lazaran.lua b/data-otservbr-global/npc/lazaran.lua index 8c7b59c1ffe..663d965023e 100644 --- a/data-otservbr-global/npc/lazaran.lua +++ b/data-otservbr-global/npc/lazaran.lua @@ -167,6 +167,9 @@ local function creatureSayCallback(npc, creature, type, message) end return true end + +npcHandler:setMessage(MESSAGE_GREET, "Me greet.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/leeland.lua b/data-otservbr-global/npc/leeland.lua index 19bb03d1f5d..a07a33fc595 100644 --- a/data-otservbr-global/npc/leeland.lua +++ b/data-otservbr-global/npc/leeland.lua @@ -51,6 +51,7 @@ npcType.onCloseChannel = function(npc, creature) end local TheNewFrontier = Storage.Quest.U8_54.TheNewFrontier + local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() diff --git a/data-otservbr-global/npc/melfar.lua b/data-otservbr-global/npc/melfar.lua index 5decb928643..cfbda35ae10 100644 --- a/data-otservbr-global/npc/melfar.lua +++ b/data-otservbr-global/npc/melfar.lua @@ -100,8 +100,9 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say({ - "So take this beaver bait. It will work best on dwarf trees. I'll mark the three trees on your map. Here .. here .. and here! So now mark those trees with the beaver bait. ... ", - "If you're unlucky enough to meet one of the giant beavers, try to stay calm. Don't do any hectic moves, don't yell, don't draw any weapon, and if you should carry anything wooden on you, throw it away as far as you can. ", + "So take this beaver bait. It will work best on dwarf trees. I'll mark the three trees on your map. Here .. here .. and here! So now mark those trees with the beaver bait. ...", + "If you're unlucky enough to meet one of the giant beavers, try to stay calm. Don't do any hectic moves, don't yell, don't draw any weapon, and if you should carry anything wooden on you, throw it away as far as you can.", + "Just great, another disturbance. Just what I need.", }, npc, creature) player:setStorageValue(TheNewFrontier.Questline, 5) player:setStorageValue(TheNewFrontier.Mission02[1], 2) --Questlog, The New Frontier Quest "Mission 02: From Kazordoon With Love" @@ -131,6 +132,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "Just great, another disturbance. Just what I need.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/ongulf.lua b/data-otservbr-global/npc/ongulf.lua index 9dd2cc38e90..70fbebe2eed 100644 --- a/data-otservbr-global/npc/ongulf.lua +++ b/data-otservbr-global/npc/ongulf.lua @@ -95,24 +95,21 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say({ " Well, we have found this place here full of promising resources and plan to create a new mining outpost. Of course this takes a lot of effort and organisation. ...", "For some of the tasks at hand we need help, even from outsiders like you. So if you are interested in some missions, let me know.", - "Listen, I can handle the organisation down here and my boys will handle the construction of the base fine enough. Actually, all you do down here is to stand in the workers' way. ...", - "But there might be something for you to do outside the base. We need to learn more about the land up there. Take the lift and do some exploring. Find a passage leading out of the mountains. ...", - "Do not explore any further though. You never know whom you might be messing with.", }, npc, creature) - player:setStorageValue(TheNewFrontier.Questline, 1) - player:setStorageValue(TheNewFrontier.Mission01, 1) -- Questlog, The New Frontier Quest "Mission 01: New Land" - npcHandler:setTopic(playerId, 0) + npcHandler:setTopic(playerId, 2) end elseif MsgContains(message, "mission") then - if player:getStorageValue(TheNewFrontier.Questline) < 1 and npcHandler:getTopic(playerId) == 2 then - npcHandler:say({ - "Listen, I can handle the organisation down here and my boys will handle the construction of the base fine enough. Actually, all you do down here is to stand in the workers' way. ...", - "But there might be something for you to do outside the base. We need to learn more about the land up there. Take the lift and do some exploring. Find a passage leading out of the mountains. ...", - "Do not explore any further though. You never know whom you might be messing with.", - }, npc, creature) - player:setStorageValue(TheNewFrontier.Questline, 1) - player:setStorageValue(TheNewFrontier.Mission01, 1) -- Questlog, The New Frontier Quest "Mission 01: New Land" - npcHandler:setTopic(playerId, 0) + if npcHandler:getTopic(playerId) == 2 then + if player:getStorageValue(TheNewFrontier.Questline) < 1 and npcHandler:getTopic(playerId) == 2 then + npcHandler:say({ + "Listen, I can handle the organisation down here and my boys will handle the construction of the base fine enough. Actually, all you do down here is to stand in the workers' way. ...", + "But there might be something for you to do outside the base. We need to learn more about the land up there. Take the lift and do some exploring. Find a passage leading out of the mountains. ...", + "Do not explore any further though. You never know whom you might be messing with.", + }, npc, creature) + player:setStorageValue(TheNewFrontier.Questline, 1) + player:setStorageValue(TheNewFrontier.Mission01, 1) -- Questlog, The New Frontier Quest "Mission 01: New Land" + npcHandler:setTopic(playerId, 0) + end elseif player:getStorageValue(TheNewFrontier.Questline) == 2 then npcHandler:say("Excellent. Although we have no idea what awaits us in this foreign land, it is always good to know something more about our surroundings.", npc, creature) player:setStorageValue(TheNewFrontier.Questline, 3) @@ -242,9 +239,6 @@ local function creatureSayCallback(npc, creature, type, message) "Oh and one last thing: We convinced a carpet pilot to join us here. You'll find him on top of our lift in the mountains. I think he can offer you fast access to some cities back home.", }, npc, creature) player:addExperience(8000, true) - player:addOutfit(335) - player:addOutfit(336) - player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:setStorageValue(TheNewFrontier.Questline, 29) player:setStorageValue(TheNewFrontier.Mission10[1], 2) -- Questlog, "Mission 10: New Horizons" player:setStorageValue(TheNewFrontier.Mission10.MagicCarpetDoor, 1) diff --git a/data-otservbr-global/npc/wyrdin.lua b/data-otservbr-global/npc/wyrdin.lua index a79e90f7e38..b3430f8dd24 100644 --- a/data-otservbr-global/npc/wyrdin.lua +++ b/data-otservbr-global/npc/wyrdin.lua @@ -103,11 +103,11 @@ local function creatureSayCallback(npc, creature, type, message) end elseif npcHandler:getTopic(playerId) == 3 then if player:getStorageValue(TheNewFrontier.Mission05.Wyrdin) == 2 and player:removeItem(10025, 1) then - npcHandler:say( - { "By Uman! That's one of the rare almanacs of Origus! I had no idea that you are a scholar yourself! And a generous one on top of it! ...", "This book must be worth some thousand crystal coins on the free market. Look at the signature here, it's Origus' very own! ...", "Of course we should talk again about your request. What do you say makes Farmine important?" }, - npc, - creature - ) + npcHandler:say({ + "By Uman! That's one of the rare almanacs of Origus! I had no idea that you are a scholar yourself! And a generous one on top of it! ...", + "This book must be worth some thousand crystal coins on the free market. Look at the signature here, it's Origus' very own! ...", + "Of course we should talk again about your request. What do you say makes Farmine important?" + }, npc, creature) player:setStorageValue(TheNewFrontier.Mission05.Wyrdin, 1) npcHandler:setTopic(playerId, 2) end diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/action-arena.lua b/data-otservbr-global/scripts/quests/the_new_frontier/action_arena.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/action-arena.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/action_arena.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/action-beaver.lua b/data-otservbr-global/scripts/quests/the_new_frontier/action_beaver.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/action-beaver.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/action_beaver.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/action-elevator.lua b/data-otservbr-global/scripts/quests/the_new_frontier/action_elevator.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/action-elevator.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/action_elevator.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/action-hidden_note.lua b/data-otservbr-global/scripts/quests/the_new_frontier/action_hidden_note.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/action-hidden_note.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/action_hidden_note.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/action-outfit.lua b/data-otservbr-global/scripts/quests/the_new_frontier/action_outfit.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/action-outfit.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/action_outfit.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/action-prision_secret_door.lua b/data-otservbr-global/scripts/quests/the_new_frontier/action_prision_secret_door.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/action-prision_secret_door.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/action_prision_secret_door.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/action-vine.lua b/data-otservbr-global/scripts/quests/the_new_frontier/action_vine.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/action-vine.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/action_vine.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/shard_of_corruption_kill.lua b/data-otservbr-global/scripts/quests/the_new_frontier/creaturescripts_shard_of_corruption_kill.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/shard_of_corruption_kill.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/creaturescripts_shard_of_corruption_kill.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/tirecz_kill.lua b/data-otservbr-global/scripts/quests/the_new_frontier/creaturescripts_tirecz_kill.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/tirecz_kill.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/creaturescripts_tirecz_kill.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/corruption_hole.lua b/data-otservbr-global/scripts/quests/the_new_frontier/movement_corruption_hole.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/corruption_hole.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/movement_corruption_hole.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/movement-jail_exit.lua b/data-otservbr-global/scripts/quests/the_new_frontier/movement_jail_exit.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/movement-jail_exit.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/movement_jail_exit.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/movement-minotaur_boss.lua b/data-otservbr-global/scripts/quests/the_new_frontier/movement_minotaur_boss.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/movement-minotaur_boss.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/movement_minotaur_boss.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/movement-prision_trap.lua b/data-otservbr-global/scripts/quests/the_new_frontier/movement_prision_trap.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/movement-prision_trap.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/movement_prision_trap.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/movement-wayout.lua b/data-otservbr-global/scripts/quests/the_new_frontier/movement_wayout.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/movement-wayout.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/movement_wayout.lua diff --git a/data-otservbr-global/scripts/quests/the_new_frontier/snake_head_teleport.lua b/data-otservbr-global/scripts/quests/the_new_frontier/movements_snake_head_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_new_frontier/snake_head_teleport.lua rename to data-otservbr-global/scripts/quests/the_new_frontier/movements_snake_head_teleport.lua diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index f1893aa834e..fda0b845111 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2451,6 +2451,21 @@ ChestUnique = { weight = 1.00, storage = Storage.Quest.U8_5.LoneMedusa, }, + -- The New Frontier Quest + [6287] = { + itemId = 2472, + itemPos = { x = 33164, y = 31257, z = 10 }, + reward = { { 10217, 1 } }, + weight = 15.00, + storage = Storage.Quest.U8_54.TheNewFrontier.ChestTomeOfKnowledge1, + }, + [6288] = { + itemId = 2472, + itemPos = { x = 33057, y = 31019, z = 2 }, + reward = { { 10217, 1 } }, + weight = 15.00, + storage = Storage.Quest.U8_54.TheNewFrontier.ChestTomeOfKnowledge2, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) From 77bc06675255eacf0678bd6c615f0fcbaffac887 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 7 Aug 2024 19:02:02 +0000 Subject: [PATCH 082/112] Lua code format - (Stylua) --- data-otservbr-global/npc/angus.lua | 4 ++-- data-otservbr-global/npc/wyrdin.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data-otservbr-global/npc/angus.lua b/data-otservbr-global/npc/angus.lua index e7eab23e07e..30e4e087ff6 100644 --- a/data-otservbr-global/npc/angus.lua +++ b/data-otservbr-global/npc/angus.lua @@ -78,8 +78,8 @@ local function creatureSayCallback(npc, creature, type, message) if npcHandler:getTopic(playerId) == 1 or npcHandler:getTopic(playerId) == 2 then if player:getStorageValue(TheNewFrontier.Mission05.Angus) == 1 then npcHandler:say({ - "Those stories are just amazing! Men with faces on their stomach instead of heads you say? And hens that lay golden eggs? Whereas, most amazing is this fountain of youth you've mentioned! ...", - "I'll immediately send some of our most dedicated explorers to check those things out!" + "Those stories are just amazing! Men with faces on their stomach instead of heads you say? And hens that lay golden eggs? Whereas, most amazing is this fountain of youth you've mentioned! ...", + "I'll immediately send some of our most dedicated explorers to check those things out!", }, npc, creature) player:setStorageValue(TheNewFrontier.Mission05.Angus, 3) end diff --git a/data-otservbr-global/npc/wyrdin.lua b/data-otservbr-global/npc/wyrdin.lua index b3430f8dd24..fd172008c81 100644 --- a/data-otservbr-global/npc/wyrdin.lua +++ b/data-otservbr-global/npc/wyrdin.lua @@ -106,8 +106,8 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say({ "By Uman! That's one of the rare almanacs of Origus! I had no idea that you are a scholar yourself! And a generous one on top of it! ...", "This book must be worth some thousand crystal coins on the free market. Look at the signature here, it's Origus' very own! ...", - "Of course we should talk again about your request. What do you say makes Farmine important?" - }, npc, creature) + "Of course we should talk again about your request. What do you say makes Farmine important?", + }, npc, creature) player:setStorageValue(TheNewFrontier.Mission05.Wyrdin, 1) npcHandler:setTopic(playerId, 2) end From 92d42cd1c17d7bccc70cca6b70499cfe7e6e5c12 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Wed, 7 Aug 2024 18:06:28 -0300 Subject: [PATCH 083/112] An Uneasy Alliance Quest --- data-otservbr-global/npc/curos.lua | 4 ++-- .../quests/an_uneasy_alliance/renegade_orc_kill.lua | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/data-otservbr-global/npc/curos.lua b/data-otservbr-global/npc/curos.lua index d17f36937f1..4fdffd8e90b 100644 --- a/data-otservbr-global/npc/curos.lua +++ b/data-otservbr-global/npc/curos.lua @@ -67,7 +67,7 @@ local function creatureSayCallback(npc, creature, type, message) }, npc, creature) player:setStorageValue(TheNewFrontier.Questline, 19) player:setStorageValue(TheNewFrontier.Mission06, 4) --Questlog, The New Frontier Quest "Mission 06: Days Of Doom" - elseif player:getStorageValue(TheNewFrontier.Mission06) >= 4 and player:getStorageValue(AnUneasyAlliance.Questline) < 1 then --An Uneasy Alliance Quest + elseif player:getStorageValue(TheNewFrontier.Mission06) >= 5 and player:getStorageValue(AnUneasyAlliance.Questline) < 1 then --An Uneasy Alliance Quest npcHandler:say({ "So you still think you can be of any use for us? Words are cheap and easy. Admittedly, you've passed our first test but even some resilient beast might have accomplished that. ...", "Your actions will tell if you are only yelping for attention like a puppy or if you have the teeth of a wolf. ...", @@ -81,7 +81,7 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(AnUneasyAlliance.Questline, 1) player:setStorageValue(AnUneasyAlliance.QuestDoor, 0) elseif player:getStorageValue(AnUneasyAlliance.Questline) == 1 and player:getStorageValue(AnUneasyAlliance.QuestDoor) == 1 then - npcHandler:say({ "With the death of their leader, the rebels return to our camps one by one, deeply humiliated. It might be a wise decision to let a useful tool like you continue to exist." }, npc, creature) + npcHandler:say("With the death of their leader, the rebels return to our camps one by one, deeply humiliated. It might be a wise decision to let a useful tool like you continue to exist.", npc, creature) player:setStorageValue(AnUneasyAlliance.Questline, 2) elseif player:getStorageValue(AnUneasyAlliance.Questline) == 2 then npcHandler:say({ diff --git a/data-otservbr-global/scripts/creaturescripts/quests/an_uneasy_alliance/renegade_orc_kill.lua b/data-otservbr-global/scripts/creaturescripts/quests/an_uneasy_alliance/renegade_orc_kill.lua index dbff7a11b45..8d1ecd7810b 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/an_uneasy_alliance/renegade_orc_kill.lua +++ b/data-otservbr-global/scripts/creaturescripts/quests/an_uneasy_alliance/renegade_orc_kill.lua @@ -1,10 +1,12 @@ local renegadeOrcKill = CreatureEvent("RenegadeOrcDeath") -function renegadeOrcKill.onDeath(creature, _corpse, _lastHitKiller, player, mostDamageKiller) - onDeathForParty(creature, mostDamageKiller, function(creature, player) + +function renegadeOrcKill.onDeath(creature) + onDeathForDamagingPlayers(creature, function(creature, player) if player:getStorageValue(Storage.Quest.U8_54.AnUneasyAlliance.QuestDoor) == 0 then player:setStorageValue(Storage.Quest.U8_54.AnUneasyAlliance.QuestDoor, 1) end end) + return true end From 7d03f9b5f53472f82f71306e7db2b251c5374c25 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 8 Aug 2024 10:25:44 -0300 Subject: [PATCH 084/112] Children of the Revolution Quest Quest OK, I just couldn't test the part that requires 4 players because my computer is very bad with the MCs open, but I managed to finish the quest and receive the outfit. The Tasks are still missing. --- data-otservbr-global/lib/core/quests.lua | 14 +-- data-otservbr-global/lib/core/storages.lua | 33 +++---- data-otservbr-global/npc/cael.lua | 2 + data-otservbr-global/npc/zalamon.lua | 90 ++++++++++--------- .../actions/other/others/quest_system2.lua | 2 +- .../mission3_chest.lua | 18 ---- .../creaturescripts/customs/freequests.lua | 22 ++--- .../actions_mission3_chest.lua | 16 ++++ .../actions_mission3_poison_water.lua} | 6 +- .../actions_mission4_grease_oil.lua} | 7 +- .../actions_mission4_levers_puzzle.lua} | 6 +- .../actions_zalamon_door.lua} | 0 .../movements_click.lua} | 10 +-- .../movements_spy.lua} | 8 +- .../movements_stair.lua} | 4 +- .../movements_symbol.lua} | 6 +- .../movements_teleport.lua} | 2 +- .../movements_temple.lua} | 6 +- .../raids/bosses/battlemaster_zunzu.lua | 22 +++++ data-otservbr-global/startup/tables/chest.lua | 22 +++++ .../startup/tables/door_quest.lua | 2 +- data-otservbr-global/startup/tables/item.lua | 73 +++++++++++++++ data-otservbr-global/startup/tables/lever.lua | 11 +++ 23 files changed, 257 insertions(+), 125 deletions(-) delete mode 100644 data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission3_chest.lua create mode 100644 data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_chest.lua rename data-otservbr-global/scripts/{actions/quests/children_of_the_revolution/mission3_poison_water.lua => quests/children_of_the_revolution/actions_mission3_poison_water.lua} (56%) rename data-otservbr-global/scripts/{actions/quests/children_of_the_revolution/mission4_grease_oil.lua => quests/children_of_the_revolution/actions_mission4_grease_oil.lua} (51%) rename data-otservbr-global/scripts/{actions/quests/children_of_the_revolution/mission4_levers_puzzle.lua => quests/children_of_the_revolution/actions_mission4_levers_puzzle.lua} (89%) rename data-otservbr-global/scripts/{actions/quests/children_of_the_revolution/zalamon_door.lua => quests/children_of_the_revolution/actions_zalamon_door.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/children_of_the_revolution/click.lua => quests/children_of_the_revolution/movements_click.lua} (83%) rename data-otservbr-global/scripts/{movements/quests/children_of_the_revolution/spy.lua => quests/children_of_the_revolution/movements_spy.lua} (70%) rename data-otservbr-global/scripts/{movements/quests/children_of_the_revolution/stair.lua => quests/children_of_the_revolution/movements_stair.lua} (82%) rename data-otservbr-global/scripts/{movements/quests/children_of_the_revolution/symbol.lua => quests/children_of_the_revolution/movements_symbol.lua} (56%) rename data-otservbr-global/scripts/{movements/quests/children_of_the_revolution/teleport.lua => quests/children_of_the_revolution/movements_teleport.lua} (89%) rename data-otservbr-global/scripts/{movements/quests/children_of_the_revolution/temple.lua => quests/children_of_the_revolution/movements_temple.lua} (63%) create mode 100644 data-otservbr-global/scripts/raids/bosses/battlemaster_zunzu.lua diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 03960dae947..ecdb6187e26 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -518,12 +518,12 @@ if not Quests then }, [6] = { name = "Children of the Revolution", - startStorageId = Storage.ChildrenoftheRevolution.Questline, + startStorageId = Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, startStorageValue = 1, missions = { [1] = { name = "Prove Your Worzz!", - storageId = Storage.ChildrenoftheRevolution.Mission00, + storageId = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission00, missionId = 1058, startValue = 1, endValue = 2, @@ -535,7 +535,7 @@ if not Quests then }, [2] = { name = "Mission 1: Corruption", - storageId = Storage.ChildrenoftheRevolution.Mission01, + storageId = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission01, missionId = 1059, startValue = 1, endValue = 3, @@ -547,7 +547,7 @@ if not Quests then }, [3] = { name = "Mission 2: Imperial Zzecret Weaponzz", - storageId = Storage.ChildrenoftheRevolution.Mission02, + storageId = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission02, missionId = 1060, startValue = 1, endValue = 5, @@ -562,7 +562,7 @@ if not Quests then }, [4] = { name = "Mission 3: Zee Killing Fieldzz", - storageId = Storage.ChildrenoftheRevolution.Mission03, + storageId = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission03, missionId = 1061, startValue = 1, endValue = 3, @@ -576,7 +576,7 @@ if not Quests then }, [5] = { name = "Mission 4: Zze Way of Zztonezz", - storageId = Storage.ChildrenoftheRevolution.Mission04, + storageId = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission04, missionId = 1062, startValue = 1, endValue = 6, @@ -594,7 +594,7 @@ if not Quests then }, [6] = { name = "Mission 5: Phantom Army", - storageId = Storage.ChildrenoftheRevolution.Mission05, + storageId = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission05, missionId = 1063, startValue = 1, endValue = 3, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index def4923746f..ee65b461ff0 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -720,21 +720,6 @@ Storage = { DeeplingAnchor = 51023, RoyalCostumeOutfit = 51026, }, - ChildrenoftheRevolution = { - -- Reserved storage from 55145 - 51279 - Questline = 55145, - Mission00 = 55146, -- Prove Your Worzz! - Mission01 = 51262, - Mission02 = 51263, - Mission03 = 51264, - Mission04 = 55148, - Mission05 = 51266, - SpyBuilding01 = 51267, - SpyBuilding02 = 51268, - SpyBuilding03 = 51269, - StrangeSymbols = 55154, - teleportAccess = 55155, - }, UnnaturalSelection = { -- Reserved storage from 55159 - 51299 Questline = 55159, @@ -2231,7 +2216,23 @@ Storage = { Questline = 42551, QuestDoor = 42552, }, -- 42551 - 42600 - ChildrenOfTheRevolution = {}, -- 42601 - 42650 + ChildrenOfTheRevolution = { + Questline = 42601, + Mission00 = 42602, -- Prove Your Worzz! + Mission01 = 42603, + Mission02 = 42604, + Mission03 = 42605, + Mission04 = 42606, + Mission05 = 42607, + SpyBuilding01 = 42608, + SpyBuilding02 = 42609, + SpyBuilding03 = 42610, + StrangeSymbols = 42611, + teleportAccess = 42612, + ChestTomeOfKnowledge1 = 42613, + FlaskOfExtraGreasyOil = 42614, + ChestTomeOfKnowledge2 = 42613, + }, SeaOfLight = {}, -- 42651 - 42700 TheNewFrontier = { -- 42701 - 42750 Questline = 42701, diff --git a/data-otservbr-global/npc/cael.lua b/data-otservbr-global/npc/cael.lua index f377cdae411..14bd0a8b0a2 100644 --- a/data-otservbr-global/npc/cael.lua +++ b/data-otservbr-global/npc/cael.lua @@ -389,6 +389,8 @@ local function onTradeRequest(npc, creature) return true end + +npcHandler:setMessage(MESSAGE_GREET, "Greetings, |PLAYERNAME|! You must have come around quite a bit. I'm always interested in learning new things about Zao.") npcHandler:setMessage(MESSAGE_SENDTRADE, "Keep in mind you won't find better offers here. Just browse through my wares.") npcHandler:setCallback(CALLBACK_ON_TRADE_REQUEST, onTradeRequest) diff --git a/data-otservbr-global/npc/zalamon.lua b/data-otservbr-global/npc/zalamon.lua index ea643f2ff69..a2fe866ede3 100644 --- a/data-otservbr-global/npc/zalamon.lua +++ b/data-otservbr-global/npc/zalamon.lua @@ -68,16 +68,16 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "mission") then -- CHILDREN OF REVOLUTION QUEST - if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) < 1 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) < 1 then npcHandler:say({ "Zzo you are offering your help to a lizzard? Hmm, unuzzual. I don't know if I can fully truzzt you yet. ...", "You'll have to work to earn my truzzt. Are you zzure you want to offer me your help?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 2 then npcHandler:say("What newzz do you bring? Did you find any cluezz about zzeir whereaboutzz? ", npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 3 then npcHandler:say({ "Zzurely you have zzeen zze black pondzz and puddlezz all over zze mountain pazz, palezzkin. It izz zze corruption zzat pervadezz zze landzz. It would be wizze not to drink or tazzte from zzem. ... ", "It zzoakzz zze land, itzz people and even zze air itzzelf. But zzere are zztill zzpotzz not tainted by zze darknezz. ... ", @@ -85,16 +85,16 @@ local function creatureSayCallback(npc, creature, type, message) "No one made it zzrough zze mountainzz for quite zzome time now - exzzept you. Maybe you can find out what happened zzere? ", }, npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 5 then npcHandler:say({ "Zzo you found zze temple... lozzt you zzay. It wazz our lazzt remaining bazztion of hope for help from wizzin zze plainzz. ... ", "Zzat meanzz zze plainzz are now in zze handzz of zze emperor and hizz army. I'm afraid zzat even zze great gate izz zzealed and zze landzz beyond it tainted azz well. ... ", "Dark timezz, and I fear we know nozzing about our enemy yet. ", }, npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 6) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission01, 3) --Questlog, Children of the Revolution "Mission 1: Corruption" - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 6 then + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 6) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission01, 3) --Questlog, Children of the Revolution "Mission 1: Corruption" + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 6 then npcHandler:say({ "Large partzz of zze empire are tainted. I zzee now zzat zzere izz almozzt nozzing left of our onzze zzo zztrong zzivilizzation. But I zztill don't know which danger our enemy really pozzezz. ... ", "Zzere uzzed to be a remote and quiet zzettlement in zze middle of zze valley. If it hazz not been dezztroyed by zze corruption, I'm zzure zze army of zze emperor will have confizzcated it to gazzer rezzourzzezz. ... ", @@ -103,51 +103,51 @@ local function creatureSayCallback(npc, creature, type, message) "Are you prepared for zzizz mizzion? ", }, npc, creature) npcHandler:setTopic(playerId, 6) - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 7 then - if player:getStorageValue(Storage.ChildrenoftheRevolution.SpyBuilding01) == 1 and player:getStorageValue(Storage.ChildrenoftheRevolution.SpyBuilding02) == 1 and player:getStorageValue(Storage.ChildrenoftheRevolution.SpyBuilding03) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 7 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.SpyBuilding01) == 1 and player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.SpyBuilding02) == 1 and player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.SpyBuilding03) == 1 then npcHandler:say({ "Zzizz izz mozzt unfortunate. Zzo many warriorzz? Large amountzz of food? And how many weaponzz did you zzay? I zzee, hmm. ... ", "Direct confrontation izz futile. We'll have to find ozzer wayzz to approach zze emperor and hizz army. ", }, npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 8) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission02, 5) --Questlog, Children of the Revolution "Mission 2: Imperial Zzecret Weaponzz" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 8) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission02, 5) --Questlog, Children of the Revolution "Mission 2: Imperial Zzecret Weaponzz" npcHandler:setTopic(playerId, 0) end - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 8 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 8 then npcHandler:say({ "Your lazzt excurzzion revealed a terrifying truzz. Zze enemy'zz forzzezz are overwhelming, zzeir zztrengzz probably unrivaled. We cannot attack an army of zzizz zzize unlezz - unlezz we zzin out zzeir rankzz a little. ... ", "A zzingle individual can be azz zztrong azz an army if he zztrikezz zze army azz a whole. ... ", "Are you ready for your nexzzt tazzk? ", }, npc, creature) npcHandler:setTopic(playerId, 7) - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 11 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 11 then npcHandler:say({ "You accomplished an important tazzk in breaking zze defenzze of zze emperor. Not everyzzing might be lozzt yet. ... ", "I've got anozzer mizzion for you which will be even more dangerouzz zzan zze lazzt one. Return to me when you're ready. ", }, npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 12) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission03, 3) --Questlog, Children of the Revolution "Mission 3: Zee Killing Fieldzz" - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 12 then + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 12) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission03, 3) --Questlog, Children of the Revolution "Mission 3: Zee Killing Fieldzz" + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 12 then npcHandler:say({ "Wizz zze enemy'zz forzzezz weakened like zzizz, we will be able to zzneak pazzt zze defenzze and furzzer inzzpect zze norzz. You should travel to zze mountain range furzzer eazzt of zze village. ... ", "Zze old route to zze gate hazz been taken by darknezz. You'll have to find ozzer wayzz. Are you up to zzizz, palezzkin? ", }, npc, creature) npcHandler:setTopic(playerId, 10) - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 17 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 17 then npcHandler:say({ "You have zzolved zze riddle? Imprezzive, palezzkin. Zze humming you hear in zze chamber mozzt zzertainly comezz from a magic portal zzomewhere in zze temple. ...", "Have you zzearched zze ozzer chamberzz for any magical devizzezz or portalzz?", }, npc, creature) npcHandler:setTopic(playerId, 12) - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 18 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 18 then npcHandler:say({ "If I'm correct, zze portal in zze chamber beyond zze mechanizzm will lead you to zze great gate. It izz perfectly pozzible, however, zzat you will not be tranzzported directly into zze area. ...", "You will razzer be brought to a plazze clozze by your goal. Where exzzactly, I cannot zzay. ...", "Take all your courage and walk zze pazz zzrough zze portal. At leazzt TRY it - after all, I didn't make you my pupil for nozzing, Kohei. Are you prepared?", }, npc, creature) npcHandler:setTopic(playerId, 13) - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 20 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 20 then npcHandler:say({ "Too clozze, far too clozze. I felt a huge impact not long after you left. Zze war machinery of zze emperor muzzt finally have been zztarted. ...", "I focuzzed and could only hope zzat I would reach you before everyzzing wazz too late. If I hadn't been able to tranzzport you here, our cauzze would have been lozzt. ...", @@ -155,15 +155,15 @@ local function creatureSayCallback(npc, creature, type, message) "You've helped uzz a great deal during zzezze dark hourzz, I've got zzomezzing for you my friend. Pleazze, take zzizz zzerpent crezzt azz a zzign of my deep rezzpect. ...", "Rezzt for now, you will need it - you have earned it.", }, npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 21) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission05, 3) --Questlog, Children of the Revolution "Mission 5: Phantom Army" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 21) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission05, 3) --Questlog, Children of the Revolution "Mission 5: Phantom Army" player:addItem(10199, 1) player:addExperience(10000, true) npcHandler:setTopic(playerId, 0) -- CHILDREN OF REVOLUTION QUEST -- WRATH OF THE EMPEROR QUEST - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 21 and player:getStorageValue(Storage.WrathoftheEmperor.Questline) < 1 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 21 and player:getStorageValue(Storage.WrathoftheEmperor.Questline) < 1 then npcHandler:say({ "Zze attackzz have weakened our enemy zzignificantly. Yet, your quezzt continuezz. Bezzidezz zzome tazzkzz you could take, zze zzreat of zze emperor izz zztill hanging over our headzz like a rain cloud. ... ", "Zzo, are you indeed willing to continue zze fight for our cauzze? ", @@ -228,7 +228,7 @@ local function creatureSayCallback(npc, creature, type, message) -- CHILDREN OF REVOLUTION QUEST elseif MsgContains(message, "symbols") then - if player:getStorageValue(Storage.ChildrenoftheRevolution.StrangeSymbols) == 1 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.StrangeSymbols) == 1 then npcHandler:say({ "Mh, zze zzymbolzz of zze chamber you dezzcribe are very common in our culture, palezzkin. You should have come accrozz zzem in many a plazze already. ...", "Zze zzymbolzz zzeem to be arranged in zzome way you zzay? Were zzere any notizzeable devizzezz? Zzwitchezz or leverzz? ", @@ -237,7 +237,7 @@ local function creatureSayCallback(npc, creature, type, message) end -- CHILDREN OF REVOLUTION QUEST elseif MsgContains(message, "poison") or MsgContains(message, "poizzon") then - if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 9 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 9 then npcHandler:say("Zze emperor of zze dragonzz hazz tranzzformed himzzelf into an undead creature to lazzt for all eternity, to cheat deazz. Hizz corruption flowzz to zzozze he bound, and from zzem to zzozze zzey bound, and from zzem into zze land.", npc, creature) npcHandler:setTopic(playerId, 0) end @@ -256,8 +256,8 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 2) elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say("Be warned. Zze mountain pazzezz have been dezzerted for zzeveral weekzz now. No one made it acrozz and I fear you won't meet a zzingle friendly zzoul up zzere.", npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 1) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission00, 1) --Questlog, Children of the Revolution "Prove Your Worzz!" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 1) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission00, 1) --Questlog, Children of the Revolution "Prove Your Worzz!" npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then npcHandler:say("Exzztraordinary. We are mozzt fortunate to have zzezze documentzz in our handzz now. Zzizz would zzertainly help me to build an effective rezzizztanzze. Will you give zzem to me? ", npc, creature) @@ -268,14 +268,14 @@ local function creatureSayCallback(npc, creature, type, message) "Aaah, zzezze look zzertainly interezzting. Zzezze manuzzcriptzz show uzz zzeveral locationzz of zze enemy troopzz. ... ", "I'm imprezzed, zzoftzzkin. Maybe you can be of zzome more help. ", }, npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 3) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission00, 2) --Questlog, Children of the Revolution "Prove Your Worzz!" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 3) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission00, 2) --Questlog, Children of the Revolution "Prove Your Worzz!" npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 5 then npcHandler:say("I've marked itzz location on your map. Go and find out what happened zzere. In zze pazzt it wazz known azz zze Temple of Equilibrium. ", npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 4) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission01, 1) --Questlog, Children of the Revolution "Mission 1: Corruption" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 4) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission01, 1) --Questlog, Children of the Revolution "Mission 1: Corruption" player:addMapMark(Position(33177, 31193, 7), 5, "Temple of Equilibrium") npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then @@ -283,8 +283,8 @@ local function creatureSayCallback(npc, creature, type, message) "I'll mark zze entranzze to Chaochai on your map. ... ", "Conzzentrate on one location at a time. Zze one who chazzezz after two harezz, won't catch even one. ", }, npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 7) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission02, 1) --Questlog, Children of the Revolution "Mission 2: Imperial Zzecret Weaponzz" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 7) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission02, 1) --Questlog, Children of the Revolution "Mission 2: Imperial Zzecret Weaponzz" for i = 1, #marks.ChildrenOfTheRevolution do local mark = marks.ChildrenOfTheRevolution[i] player:addMapMark(mark.position, mark.type, mark.description) @@ -302,17 +302,17 @@ local function creatureSayCallback(npc, creature, type, message) "Good. Zze fieldzz should be not far from Xiachai in zze eazzt. Go to zze top terrazze and mix zze poizzon wizz zze water. ... ", "{Poizzon} izz often uzzed by cowardzz, yet it grantzz great power to zze opprezzed. ", }, npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 9) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission03, 1) --Questlog, Children of the Revolution "Mission 3: Zee Killing Fieldzz" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 9) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission03, 1) --Questlog, Children of the Revolution "Mission 3: Zee Killing Fieldzz" npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 10 then npcHandler:say({ "Perhapzz you can find a way to enter zze norzz of zze valley and find a pazzage to zze great gate itzzelf. Zzearch any templezz or zzettlementzz you come accrozz for hidden pazzagezz. ... ", "I wish for a zzafe return wizz good newzz. ", }, npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 13) - if player:getStorageValue(Storage.ChildrenoftheRevolution.Mission04) <= 1 then - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission04, 1) --Questlog, Children of the Revolution "Mission 4: Zze Way of Zztonezz" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 13) + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission04) <= 1 then + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission04, 1) --Questlog, Children of the Revolution "Mission 4: Zze Way of Zztonezz" end npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 11 then @@ -321,8 +321,8 @@ local function creatureSayCallback(npc, creature, type, message) "Not too far from zze lever, zzere muzzt be a hint of zzome zzort. An image of how zze zzymbolzz muzzt be arranged. Zzurely zze mechanizzm will trigger a zzecret pazzage, maybe a moving wall or a portal. ... ", "Zzizz should be our pazz to zze great gate. Head to zze zztorage onzze again. Zzere should be zzome extra greazzy oil which should work wizz zzuch a large mechanizzm. Zze leverzz should zzen be movable again. ", }, npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.StrangeSymbols, 2) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission04, 3) --Questlog, Children of the Revolution "Mission 4: Zze Way of Zztonezz" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.StrangeSymbols, 2) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission04, 3) --Questlog, Children of the Revolution "Mission 4: Zze Way of Zztonezz" npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 12 then npcHandler:say({ @@ -331,17 +331,17 @@ local function creatureSayCallback(npc, creature, type, message) "I may alzzo have anozzer mizzion for you if you are interezzted.", }, npc, creature) player:addItem(10217, 1) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 18) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission04, 6) --Questlog, Children of the Revolution "Mission 4: Zze Way of Zztonezz" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 18) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission04, 6) --Questlog, Children of the Revolution "Mission 4: Zze Way of Zztonezz" npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 13 then npcHandler:say({ "You did well on your quezzt zzo far. I hope you will reach zze great gate in time. If we are lucky, it will zztill be open. ...", "If not, it will already be overrun by enemy zzoldierzz. Direct confrontation will be inevitable in zzat cazze, palezzkin. Now clear your mind and approach zze portal.", }, npc, creature) - player:setStorageValue(Storage.ChildrenoftheRevolution.teleportAccess, 1) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 19) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission05, 1) --Questlog, Children of the Revolution "Mission 5: Phantom Army" + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.teleportAccess, 1) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 19) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission05, 1) --Questlog, Children of the Revolution "Mission 5: Phantom Army" npcHandler:setTopic(playerId, 0) -- CHILDREN OF REVOLUTION QUEST @@ -418,6 +418,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "Not many travellerzz zzezze dayzz. I hope you bring good newzz.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua index 51472a9cea8..58ada830acd 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua @@ -82,7 +82,7 @@ local config = { items = { { itemId = 637 }, }, - storage = Storage.ChildrenoftheRevolution.Questline, + storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, formerValue = 1, newValue = 2, say = "A batch of documents has been stashed in the shelf. These might be of interest to Zalamon.", diff --git a/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission3_chest.lua b/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission3_chest.lua deleted file mode 100644 index c4685e0d7da..00000000000 --- a/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission3_chest.lua +++ /dev/null @@ -1,18 +0,0 @@ -local childrenMission3 = Action() -function childrenMission3.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 9 then - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 10) - player:addItem(10183, 1) - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found a flask of poison.") - elseif player:getStorageValue(Storage.ChildrenoftheRevolution.StrangeSymbols) == 2 then - player:setStorageValue(Storage.ChildrenoftheRevolution.StrangeSymbols, 3) - player:addItem(10189, 1) - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found a flask of extra greasy oil.") - else - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The chest is empty.") - end - return true -end - -childrenMission3:uid(3164) -childrenMission3:register() diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 0db6db2737c..388b73d28f4 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -124,17 +124,17 @@ local questTable = { { storage = Storage.Quest.U8_0.BarbarianTest.Mission01, storageValue = 3 }, { storage = Storage.Quest.U8_0.BarbarianTest.Mission02, storageValue = 3 }, { storage = Storage.Quest.U8_0.BarbarianTest.Mission03, storageValue = 3 }, - { storage = Storage.ChildrenoftheRevolution.Questline, storageValue = 21 }, - { storage = Storage.ChildrenoftheRevolution.Mission00, storageValue = 2 }, - { storage = Storage.ChildrenoftheRevolution.Mission01, storageValue = 3 }, - { storage = Storage.ChildrenoftheRevolution.Mission02, storageValue = 5 }, - { storage = Storage.ChildrenoftheRevolution.Mission03, storageValue = 3 }, - { storage = Storage.ChildrenoftheRevolution.Mission04, storageValue = 6 }, - { storage = Storage.ChildrenoftheRevolution.Mission05, storageValue = 3 }, - { storage = Storage.ChildrenoftheRevolution.SpyBuilding01, storageValue = 1 }, - { storage = Storage.ChildrenoftheRevolution.SpyBuilding02, storageValue = 1 }, - { storage = Storage.ChildrenoftheRevolution.SpyBuilding03, storageValue = 1 }, - { storage = Storage.ChildrenoftheRevolution.StrangeSymbols, storageValue = 1 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, storageValue = 21 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission00, storageValue = 2 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission01, storageValue = 3 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission02, storageValue = 5 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission03, storageValue = 3 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission04, storageValue = 6 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission05, storageValue = 3 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.SpyBuilding01, storageValue = 1 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.SpyBuilding02, storageValue = 1 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.SpyBuilding03, storageValue = 1 }, + { storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.StrangeSymbols, storageValue = 1 }, { storage = Storage.Quest.U7_4.DjinnWar.Faction.Greeting, storageValue = 2 }, { storage = Storage.Quest.U7_4.DjinnWar.Faction.MaridDoor, storageValue = 2 }, { storage = Storage.Quest.U7_4.DjinnWar.Faction.EfreetDoor, storageValue = 2 }, diff --git a/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_chest.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_chest.lua new file mode 100644 index 00000000000..09b0801d67b --- /dev/null +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_chest.lua @@ -0,0 +1,16 @@ +local childrenMission3 = Action() + +function childrenMission3.onUse(player, item, fromPosition, target, toPosition, isHotkey) + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 9 then + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 10) + player:addItem(10183, 1) + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found a flask of poison.") + else + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The chest is empty.") + end + + return true +end + +childrenMission3:uid(3164) +childrenMission3:register() diff --git a/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission3_poison_water.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_poison_water.lua similarity index 56% rename from data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission3_poison_water.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_poison_water.lua index e45bfeda7b7..9d958cac389 100644 --- a/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission3_poison_water.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_poison_water.lua @@ -4,9 +4,9 @@ function childrenPoison.onUse(player, item, fromPosition, target, toPosition, is return false end - if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 10 then - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 11) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission03, 2) --Questlog, Children of the Revolution "Mission 3: Zee Killing Fieldzz" + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 10 then + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 11) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission03, 2) --Questlog, Children of the Revolution "Mission 3: Zee Killing Fieldzz" item:remove() player:say("The rice has been poisoned. This will weaken the Emperor's army significantly. Return and tell Zalamon about your success.", TALKTYPE_MONSTER_SAY) end diff --git a/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission4_grease_oil.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission4_grease_oil.lua similarity index 51% rename from data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission4_grease_oil.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission4_grease_oil.lua index d392557dc34..b85d537ac88 100644 --- a/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission4_grease_oil.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission4_grease_oil.lua @@ -1,12 +1,13 @@ local childrenGrease = Action() + function childrenGrease.onUse(player, item, fromPosition, target, toPosition, isHotkey) if target.actionid ~= 8013 then return false end - if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 13 then - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 14) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission04, 4) --Questlog, Children of the Revolution "Mission 4: Zze Way of Zztonezz" + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 13 then + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 14) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission04, 4) --Questlog, Children of the Revolution "Mission 4: Zze Way of Zztonezz" item:remove() player:say("Due to being extra greasy, the leavers can now be moved.", TALKTYPE_MONSTER_SAY) end diff --git a/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission4_levers_puzzle.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission4_levers_puzzle.lua similarity index 89% rename from data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission4_levers_puzzle.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission4_levers_puzzle.lua index e25116b1f11..4ffad53435d 100644 --- a/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/mission4_levers_puzzle.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission4_levers_puzzle.lua @@ -18,7 +18,7 @@ local function revertLever(fromPosition) end local childrenGrease = Action() function childrenGrease.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 14 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 14 then if fromPosition == Position(33349, 31123, 5) or fromPosition == Position(33349, 31124, 5) then puzzle(puzzlePositions[1], 9935, 9933) puzzle(puzzlePositions[2], 9936, 9937) @@ -38,8 +38,8 @@ function childrenGrease.onUse(player, item, fromPosition, target, toPosition, is end if Tile(puzzlePositions[1]):getItemById(9933) and Tile(puzzlePositions[2]):getItemById(9936) and Tile(puzzlePositions[3]):getItemById(9939) and Tile(puzzlePositions[4]):getItemById(9938) then player:say("After a cracking noise a deep humming suddenly starts from somewhere below.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 17) - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission04, 5) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 17) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission04, 5) end item:transform(item.itemid == 9125 and 9126 or 9125) if Tile(fromPosition):getItemById(9126) then diff --git a/data-otservbr-global/scripts/actions/quests/children_of_the_revolution/zalamon_door.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_zalamon_door.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/children_of_the_revolution/zalamon_door.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/actions_zalamon_door.lua diff --git a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/click.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_click.lua similarity index 83% rename from data-otservbr-global/scripts/movements/quests/children_of_the_revolution/click.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/movements_click.lua index b2a7bde94f2..c8571cdf5a0 100644 --- a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/click.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_click.lua @@ -22,7 +22,7 @@ local config = { } function doClearMissionArea() - Game.setStorageValue(Storage.ChildrenoftheRevolution.Mission05, -1) + Game.setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission05, -1) local spectators, spectator = Game.getSpectators(config.areaCenter, false, true, 26, 26, 20, 20) for i = 1, #spectators do @@ -30,8 +30,8 @@ function doClearMissionArea() if spectator:isPlayer() then spectator:teleportTo(config.zalamonPosition) spectator:getPosition():sendMagicEffect(CONST_ME_TELEPORT) - if spectator:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 19 then - spectator:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 20) + if spectator:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 19 then + spectator:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 20) end else spectator:remove() @@ -66,7 +66,7 @@ function click.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) ~= 19 or Game.getStorageValue(Storage.ChildrenoftheRevolution.Mission05) == 1 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) ~= 19 or Game.getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission05) == 1 then return true end @@ -92,7 +92,7 @@ function click.onStepIn(creature, item, position, fromPosition) if stair then stair:transform(1977) end - Game.setStorageValue(Storage.ChildrenoftheRevolution.Mission05, 1) + Game.setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission05, 1) for wave = 1, #config.waves do addEvent(summonWave, wave * 30 * 1000, wave) diff --git a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/spy.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_spy.lua similarity index 70% rename from data-otservbr-global/scripts/movements/quests/children_of_the_revolution/spy.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/movements_spy.lua index 2f57f794100..f96a613927b 100644 --- a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/spy.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_spy.lua @@ -1,14 +1,14 @@ local config = { [8009] = { - storage = Storage.ChildrenoftheRevolution.SpyBuilding01, + storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.SpyBuilding01, text = "An impressive ammount of fish is stored here.", }, [8010] = { - storage = Storage.ChildrenoftheRevolution.SpyBuilding02, + storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.SpyBuilding02, text = "A seemingly endless array of weapon stretches before you into the darkness.", }, [8011] = { - storage = Storage.ChildrenoftheRevolution.SpyBuilding03, + storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.SpyBuilding03, text = "These barracks seem to be home for quite a lot of soldiers.", }, } @@ -28,7 +28,7 @@ function spy.onStepIn(creature, item, position, fromPosition) if player:getStorageValue(targetTile.storage) < 1 then --Questlog, Children of the Revolution "Mission 2: Imperial Zzecret Weaponzz" - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission02, player:getStorageValue(Storage.ChildrenoftheRevolution.Mission02) + 1) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission02, player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission02) + 1) player:setStorageValue(targetTile.storage, 1) player:say(targetTile.text, TALKTYPE_MONSTER_SAY) end diff --git a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/stair.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_stair.lua similarity index 82% rename from data-otservbr-global/scripts/movements/quests/children_of_the_revolution/stair.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/movements_stair.lua index 9fe3e6db9ba..38566a32901 100644 --- a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/stair.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_stair.lua @@ -24,9 +24,9 @@ function stair.onStepIn(creature, item, position, fromPosition) end player:say("The area around the gate is suspiciously quiet, you have a bad feeling about this.", TALKTYPE_MONSTER_SAY) - if player:getStorageValue(Storage.ChildrenoftheRevolution.Mission05) == 1 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission05) == 1 then --Questlog, Children of the Revolution 'Mission 5: Phantom Army' - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission05, 2) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission05, 2) end return true end diff --git a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/symbol.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_symbol.lua similarity index 56% rename from data-otservbr-global/scripts/movements/quests/children_of_the_revolution/symbol.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/movements_symbol.lua index ac12a11b0c1..592973a78d0 100644 --- a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/symbol.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_symbol.lua @@ -6,10 +6,10 @@ function symbol.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.ChildrenoftheRevolution.StrangeSymbols) < 1 and player:getStorageValue(Storage.ChildrenoftheRevolution.Mission03) >= 2 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.StrangeSymbols) < 1 and player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission03) >= 2 then --Questlog, Children of the Revolution 'Mission 4: Zze Way of Zztonezz' - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission04, 2) - player:setStorageValue(Storage.ChildrenoftheRevolution.StrangeSymbols, 1) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission04, 2) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.StrangeSymbols, 1) player:say("A part of the floor before you displays an arrangement of strange symbols.", TALKTYPE_MONSTER_SAY) end return true diff --git a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/teleport.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_teleport.lua similarity index 89% rename from data-otservbr-global/scripts/movements/quests/children_of_the_revolution/teleport.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/movements_teleport.lua index 50148b07d2f..004d7fb8b45 100644 --- a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/teleport.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_teleport.lua @@ -10,7 +10,7 @@ function teleport.onStepIn(creature, item, position, fromPosition) if not creature or not player then return true end - if player:getStorageValue(Storage.ChildrenoftheRevolution.teleportAccess) == 1 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.teleportAccess) == 1 then if player:getPosition() == Position(positions[1]) then player:teleportTo(Position(33261, 31077, 8)) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) diff --git a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/temple.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_temple.lua similarity index 63% rename from data-otservbr-global/scripts/movements/quests/children_of_the_revolution/temple.lua rename to data-otservbr-global/scripts/quests/children_of_the_revolution/movements_temple.lua index c178493a27d..eb1a0d84138 100644 --- a/data-otservbr-global/scripts/movements/quests/children_of_the_revolution/temple.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/movements_temple.lua @@ -6,10 +6,10 @@ function temple.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 4 then + if player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 4 then --Questlog, Children of the Revolution 'Mission 1: Corruption' - player:setStorageValue(Storage.ChildrenoftheRevolution.Mission01, 2) - player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 5) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission01, 2) + player:setStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline, 5) player:say("The temple has been corrupted and is lost. Zalamon should be informed about this as soon as possible.", TALKTYPE_MONSTER_SAY) end return true diff --git a/data-otservbr-global/scripts/raids/bosses/battlemaster_zunzu.lua b/data-otservbr-global/scripts/raids/bosses/battlemaster_zunzu.lua new file mode 100644 index 00000000000..c07f69e4dd6 --- /dev/null +++ b/data-otservbr-global/scripts/raids/bosses/battlemaster_zunzu.lua @@ -0,0 +1,22 @@ +local zone = Zone("muggy_plains.battlemaster_zunzu") +zone:addArea(Position(33223, 31232, 7), Position(33277, 31257, 7)) + +local raid = Raid("muggy_plains.battlemaster_zunzu", { + zone = zone, + allowedDays = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }, + minActivePlayers = 3, + initialChance = 0.02, + targetChancePerDay = 0.02, + maxChancePerCheck = 0.8, +}) + +raid + :addSpawnMonsters({ + { + name = "Battlemaster Zunzu", + amount = 1, + }, + }) + :autoAdvance("24h") + +raid:register() diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index fda0b845111..1a9083bc2af 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2466,6 +2466,28 @@ ChestUnique = { weight = 15.00, storage = Storage.Quest.U8_54.TheNewFrontier.ChestTomeOfKnowledge2, }, + -- Children of the Revolution Quest + [6289] = { + itemId = 2472, + itemPos = { x = 33247, y = 31161, z = 6 }, + reward = { { 10217, 1 } }, + weight = 15.00, + storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.ChestTomeOfKnowledge1, + }, + [6290] = { + itemId = 1895, + itemPos = { x = 33327, y = 31410, z = 8 }, + reward = { { 10189, 1 } }, + weight = 2.00, + storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.FlaskOfExtraGreasyOil, + }, + [6291] = { + itemId = 2472, + itemPos = { x = 33264, y = 31130, z = 7 }, + reward = { { 10217, 1 } }, + weight = 15.00, + storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.ChestTomeOfKnowledge2, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 2369426ff22..fa6117b16e5 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -471,7 +471,7 @@ QuestDoorAction = { }, }, -- Children of the revolution door - [Storage.ChildrenoftheRevolution.Mission03] = { + [Storage.Quest.U8_54.ChildrenOfTheRevolution.Mission03] = { itemId = false, itemPos = { { x = 33330, y = 31411, z = 8 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 08242edf2a6..5fd4a0f5722 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -216,6 +216,49 @@ ItemAction = { { x = 32951, y = 31183, z = 6 }, }, }, + -- Children of the Revolution Quest + [8009] = { + itemId = 10180, + itemPos = { + { x = 33229, y = 31157, z = 7 }, + { x = 33230, y = 31157, z = 7 }, + }, + }, + [8010] = { + itemId = 10180, + itemPos = { + { x = 33228, y = 31151, z = 8 }, + }, + }, + [8011] = { + itemId = 10180, + itemPos = { + { x = 33257, y = 31174, z = 7 }, + { x = 33258, y = 31174, z = 7 }, + }, + }, + [8012] = { + itemId = 10133, + itemPos = { + {x = 33290, y = 31123, z = 5}, + {x = 33291, y = 31122, z = 5}, + {x = 33291, y = 31123, z = 5}, + {x = 33292, y = 31121, z = 5}, + {x = 33292, y = 31122, z = 5}, + {x = 33292, y = 31123, z = 5}, + {x = 33293, y = 31121, z = 5}, + {x = 33293, y = 31123, z = 5}, + {x = 33294, y = 31121, z = 5}, + {x = 33294, y = 31123, z = 5}, + {x = 33290, y = 31125, z = 5}, + {x = 33291, y = 31124, z = 5}, + {x = 33291, y = 31125, z = 5}, + {x = 33291, y = 31126, z = 5}, + {x = 33292, y = 31124, z = 5}, + {x = 33292, y = 31125, z = 5}, + {x = 33293, y = 31122, z = 5}, + }, + }, -- The Pits of Inferno Quest [8815] = { itemId = false, @@ -293,6 +336,19 @@ ItemAction = { { x = 33122, y = 32765, z = 14 }, }, }, + -- Children of the Revolution Quest + [12141] = { + itemId = 7890, + itemPos = { + { x = 33187, y = 31205, z = 6 }, + }, + }, + [12142] = { + itemId = 8795, + itemPos = { + { x = 33187, y = 31205, z = 7 }, + }, + }, -- The Thieves Guild Quest [12501] = { itemId = 7890, @@ -1304,6 +1360,23 @@ ItemUnique = { itemId = 8618, itemPos = { x = 32853, y = 31251, z = 5 }, }, + -- Children of the Revolution Quest + [3162] = { + itemId = 10194, + itemPos = { x = 33281, y = 31219, z = 7 }, + }, + [3163] = { + itemId = 10180, + itemPos = { x = 33177, y = 31193, z = 7 }, + }, + [3169] = { + itemId = 8288, + itemPos = { x = 33265, y = 31116, z = 8 }, + }, + [3170] = { + itemId = 9874, + itemPos = { x = 33348, y = 31412, z = 8 }, + }, -- Barbarian Arena Quest [3264] = { itemId = 10145, diff --git a/data-otservbr-global/startup/tables/lever.lua b/data-otservbr-global/startup/tables/lever.lua index a659c9a34cd..015403c1cc7 100644 --- a/data-otservbr-global/startup/tables/lever.lua +++ b/data-otservbr-global/startup/tables/lever.lua @@ -16,6 +16,17 @@ LeverAction = { { x = 32842, y = 32276, z = 9 }, }, }, + -- Children of the Revolution Quest + [8013] = { + itemId = 9125, + itemPos = { + { x = 33349, y = 31123, z = 5 }, + { x = 33349, y = 31124, z = 5 }, + { x = 33349, y = 31125, z = 5 }, + { x = 33349, y = 31126, z = 5 }, + { x = 33349, y = 31127, z = 5 }, + }, + }, -- Dreamer's Challenge Quest [8033] = { itemId = 2772, From 1dab997ff0b5e4eaa8168f7a3b1e640dca32cc92 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 8 Aug 2024 13:30:53 +0000 Subject: [PATCH 085/112] Lua code format - (Stylua) --- data-otservbr-global/lib/core/storages.lua | 30 ++++++++-------- data-otservbr-global/npc/cael.lua | 1 - .../actions_mission3_chest.lua | 2 +- data-otservbr-global/startup/tables/item.lua | 34 +++++++++---------- 4 files changed, 33 insertions(+), 34 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index ee65b461ff0..9a76f13b99d 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2217,21 +2217,21 @@ Storage = { QuestDoor = 42552, }, -- 42551 - 42600 ChildrenOfTheRevolution = { - Questline = 42601, - Mission00 = 42602, -- Prove Your Worzz! - Mission01 = 42603, - Mission02 = 42604, - Mission03 = 42605, - Mission04 = 42606, - Mission05 = 42607, - SpyBuilding01 = 42608, - SpyBuilding02 = 42609, - SpyBuilding03 = 42610, - StrangeSymbols = 42611, - teleportAccess = 42612, - ChestTomeOfKnowledge1 = 42613, - FlaskOfExtraGreasyOil = 42614, - ChestTomeOfKnowledge2 = 42613, + Questline = 42601, + Mission00 = 42602, -- Prove Your Worzz! + Mission01 = 42603, + Mission02 = 42604, + Mission03 = 42605, + Mission04 = 42606, + Mission05 = 42607, + SpyBuilding01 = 42608, + SpyBuilding02 = 42609, + SpyBuilding03 = 42610, + StrangeSymbols = 42611, + teleportAccess = 42612, + ChestTomeOfKnowledge1 = 42613, + FlaskOfExtraGreasyOil = 42614, + ChestTomeOfKnowledge2 = 42613, }, SeaOfLight = {}, -- 42651 - 42700 TheNewFrontier = { -- 42701 - 42750 diff --git a/data-otservbr-global/npc/cael.lua b/data-otservbr-global/npc/cael.lua index 14bd0a8b0a2..d4033fca165 100644 --- a/data-otservbr-global/npc/cael.lua +++ b/data-otservbr-global/npc/cael.lua @@ -389,7 +389,6 @@ local function onTradeRequest(npc, creature) return true end - npcHandler:setMessage(MESSAGE_GREET, "Greetings, |PLAYERNAME|! You must have come around quite a bit. I'm always interested in learning new things about Zao.") npcHandler:setMessage(MESSAGE_SENDTRADE, "Keep in mind you won't find better offers here. Just browse through my wares.") diff --git a/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_chest.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_chest.lua index 09b0801d67b..4f0aa47bdfa 100644 --- a/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_chest.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_mission3_chest.lua @@ -8,7 +8,7 @@ function childrenMission3.onUse(player, item, fromPosition, target, toPosition, else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The chest is empty.") end - + return true end diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 5fd4a0f5722..47a1878eddb 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -240,23 +240,23 @@ ItemAction = { [8012] = { itemId = 10133, itemPos = { - {x = 33290, y = 31123, z = 5}, - {x = 33291, y = 31122, z = 5}, - {x = 33291, y = 31123, z = 5}, - {x = 33292, y = 31121, z = 5}, - {x = 33292, y = 31122, z = 5}, - {x = 33292, y = 31123, z = 5}, - {x = 33293, y = 31121, z = 5}, - {x = 33293, y = 31123, z = 5}, - {x = 33294, y = 31121, z = 5}, - {x = 33294, y = 31123, z = 5}, - {x = 33290, y = 31125, z = 5}, - {x = 33291, y = 31124, z = 5}, - {x = 33291, y = 31125, z = 5}, - {x = 33291, y = 31126, z = 5}, - {x = 33292, y = 31124, z = 5}, - {x = 33292, y = 31125, z = 5}, - {x = 33293, y = 31122, z = 5}, + { x = 33290, y = 31123, z = 5 }, + { x = 33291, y = 31122, z = 5 }, + { x = 33291, y = 31123, z = 5 }, + { x = 33292, y = 31121, z = 5 }, + { x = 33292, y = 31122, z = 5 }, + { x = 33292, y = 31123, z = 5 }, + { x = 33293, y = 31121, z = 5 }, + { x = 33293, y = 31123, z = 5 }, + { x = 33294, y = 31121, z = 5 }, + { x = 33294, y = 31123, z = 5 }, + { x = 33290, y = 31125, z = 5 }, + { x = 33291, y = 31124, z = 5 }, + { x = 33291, y = 31125, z = 5 }, + { x = 33291, y = 31126, z = 5 }, + { x = 33292, y = 31124, z = 5 }, + { x = 33292, y = 31125, z = 5 }, + { x = 33293, y = 31122, z = 5 }, }, }, -- The Pits of Inferno Quest From 15a73bc55297b056c5552511dc2b6a8f791c9d6f Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 8 Aug 2024 12:01:20 -0300 Subject: [PATCH 086/112] Sea of Light Quest --- data-otservbr-global/lib/core/quests.lua | 8 +- data-otservbr-global/lib/core/storages.lua | 20 +- data-otservbr-global/npc/shoddy_beggar.lua | 12 +- data-otservbr-global/npc/spectulus.lua | 544 +++++------------- .../quests/sea_of_light/sea_of_light.lua | 12 +- data-otservbr-global/startup/tables/item.lua | 4 +- data/scripts/lib/register_actions.lua | 6 +- 7 files changed, 163 insertions(+), 443 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index ecdb6187e26..94214097320 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -2461,12 +2461,12 @@ if not Quests then }, [14] = { name = "Sea of Light", - startStorageId = Storage.SeaOfLight.Questline, + startStorageId = Storage.Quest.U8_54.SeaOfLight.Questline, startStorageValue = 1, missions = { [1] = { name = "Mission 1: The Plans", - storageId = Storage.SeaOfLight.Mission1, + storageId = Storage.Quest.U8_54.SeaOfLight.Mission1, missionId = 10188, startValue = 1, endValue = 4, @@ -2485,7 +2485,7 @@ if not Quests then }, [2] = { name = "Mission 2: The Collector", - storageId = Storage.SeaOfLight.Mission2, + storageId = Storage.Quest.U8_54.SeaOfLight.Mission2, missionId = 10189, startValue = 1, endValue = 3, @@ -2499,7 +2499,7 @@ if not Quests then }, [3] = { name = "Mission 3: The Mirror Crystal", - storageId = Storage.SeaOfLight.Mission3, + storageId = Storage.Quest.U8_54.SeaOfLight.Mission3, missionId = 10190, startValue = 1, endValue = 4, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 9a76f13b99d..499bc2fb0f7 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -976,15 +976,6 @@ Storage = { SouleaterUse = 52104, GhostUse = 52105, }, - SeaOfLight = { - -- Reserved storage from 52110 - 52119 - Questline = 52110, - Mission1 = 52111, - Mission2 = 52112, - Mission3 = 52113, - StudyTimer = 52114, - LostMinesCrystal = 52115, - }, Diapason = { -- Reserved storage from 52120 - 52129 Lyre = 52120, @@ -2231,9 +2222,16 @@ Storage = { teleportAccess = 42612, ChestTomeOfKnowledge1 = 42613, FlaskOfExtraGreasyOil = 42614, - ChestTomeOfKnowledge2 = 42613, + ChestTomeOfKnowledge2 = 42615, + }, + SeaOfLight = { + Questline = 42616, + Mission1 = 42617, + Mission2 = 42618, + Mission3 = 42619, + StudyTimer = 42620, + LostMinesCrystal = 42621, }, - SeaOfLight = {}, -- 42651 - 42700 TheNewFrontier = { -- 42701 - 42750 Questline = 42701, FarmineFirstTravel = 42702, diff --git a/data-otservbr-global/npc/shoddy_beggar.lua b/data-otservbr-global/npc/shoddy_beggar.lua index 14707c2e050..0a073b78968 100644 --- a/data-otservbr-global/npc/shoddy_beggar.lua +++ b/data-otservbr-global/npc/shoddy_beggar.lua @@ -71,23 +71,23 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("Hmm, if you can spare a coin... we can talk. What do you say?", npc, creature) npcHandler:setTopic(playerId, 1) elseif MsgContains(message, "device") then - if player:getStorageValue(Storage.SeaOfLight.Questline) == 1 then + if player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 1 then npcHandler:say("Persistent little nuisance, aren't we? Well, I like your spirit so I will tell you a secret. I may not look the part but I was once a {scientist}. The academy seemed to not like my... attitude and never actually invited me.", npc, creature) end elseif MsgContains(message, "scientist") then - if player:getStorageValue(Storage.SeaOfLight.Questline) == 1 then + if player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 1 then npcHandler:say("Indeed, I was one myself a long time ago. I may seem a little... distracted by now, but I was working on many important projects. I even created a device to... well, it will cost you another gold coin if you want me to tell you the whole story. You're in?", npc, creature) npcHandler:setTopic(playerId, 2) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then if not player:removeMoneyBank(1) then - npcHandler:say(player:getStorageValue(Storage.SeaOfLight.Questline) ~= 1 and "Is that all you have? That would be less than I have... *mumbles*" or "Mh, it seems you don't have any coins.", npc, creature) + npcHandler:say(player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 1 and "Is that all you have? That would be less than I have... *mumbles*" or "Mh, it seems you don't have any coins.", npc, creature) npcHandler:setTopic(playerId, 0) return true end - npcHandler:say(player:getStorageValue(Storage.SeaOfLight.Questline) ~= 1 and "Very kind indeed. Maybe you are not such a bad guy after all. Maybe I can even give it back to you one day... you know I was not always like that *mumbles*." or "Thank you very much... plans you say? I don't know what you are talking about. Plans for a magic... device? And the people call ME crazy.", npc, creature) + npcHandler:say(player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 1 and "Very kind indeed. Maybe you are not such a bad guy after all. Maybe I can even give it back to you one day... you know I was not always like that *mumbles*." or "Thank you very much... plans you say? I don't know what you are talking about. Plans for a magic... device? And the people call ME crazy.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then if not player:removeMoneyBank(1) then @@ -124,8 +124,8 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 11 then player:addItem(9696, 1) - player:setStorageValue(Storage.SeaOfLight.Questline, 2) - player:setStorageValue(Storage.SeaOfLight.Mission1, 2) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, 2) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission1, 2) npcHandler:say("Well, to be honest, I envy him a little. He can continue his research in his laboratory. He still has working equipment... I sometimes read his publications. He is an able man, but completely on the wrong track... give these plans to him.", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/spectulus.lua b/data-otservbr-global/npc/spectulus.lua index 1b00895c4ec..e18f74678f3 100644 --- a/data-otservbr-global/npc/spectulus.lua +++ b/data-otservbr-global/npc/spectulus.lua @@ -63,7 +63,7 @@ local function greetCallback(npc, creature) local playerId = creature:getId() local player = Player(creature) - if player:getStorageValue(Storage.SeaOfLight.Questline) < 10 then + if player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) < 10 then npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|! You're late, do you have no concept of time? My mission is of utmost importance. If you are not interested in helping me, you might as well just leave.") npcHandler:setTopic(playerId, 0) else @@ -73,15 +73,6 @@ local function greetCallback(npc, creature) return true end -local function releasePlayer(npc, creature) - if not Player(creature) then - return - end - - npcHandler:removeInteraction(npc, creature) - npcHandler:resetNpc(creature) -end - local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() @@ -97,15 +88,13 @@ local function creatureSayCallback(npc, creature, type, message) if npcHandler:getTopic(playerId) == 17 then npcHandler:say({ "Alright. Let's go. At first we need to find out more about ghosts in general. ...", - "I still need more information and values to properly calibrate the magical orientation of orange \z - and turquoise sparkle attractors which we will need to actually contain ghost-emissions. ...", + "I still need more information and values to properly calibrate the magical orientation of orange and turquoise sparkle attractors which we will need to actually contain ghost-emissions. ...", "So are you in?", }, npc, creature) npcHandler:setTopic(playerId, 18) else npcHandler:say({ - "I fine-tuned another set of devices. You are the lucky candidate to first lay eyes on some revolutionary \z - new concepts. ...", + "I fine-tuned another set of devices. You are the lucky candidate to first lay eyes on some revolutionary new concepts. ...", "Are you ready to help science once again?", }, npc, creature) npcHandler:setTopic(playerId, 12) @@ -115,260 +104,130 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 19) elseif qStorage == 2 then npcHandler:say({ - "Alright, now that we have enough results, the analysing can start. While I do this, I will need you \z - to test the magically enhanced cage Sinclair developed to contain spirits effectively. ...", - "Take the spirit cage from him and use it on the essence of a common ghost. Its essence will then be \z - sucked into the cage and we can study him right here in the safety of the academy walls.", + "Alright, now that we have enough results, the analysing can start. While I do this, I will need you to test the magically enhanced cage Sinclair developed to contain spirits effectively. ...", + "Take the spirit cage from him and use it on the essence of a common ghost. Its essence will then be sucked into the cage and we can study him right here in the safety of the academy walls.", }, npc, creature) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "mission") then - if player:getStorageValue(Storage.SeaOfLight.Questline) == -1 then - npcHandler:say( - "Alright, you look bright enough to fulfil my requests - at least you do not fall asleep while standing there. \z - Ahem... I heard about a certain inventor who created a {magic device} to actually sail the {sea of light}. \z - Will you help me find him?", - npc, - creature - ) + if player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == -1 then + npcHandler:say("Alright, you look bright enough to fulfil my requests - at least you do not fall asleep while standing there. Ahem... I heard about a certain inventor who created a {magic device} to actually sail the {sea of light}. Will you help me find him?", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.SeaOfLight.Questline) == 1 then - npcHandler:say( - "You should find the beggar somewhere in Edron. Stay persistent, \z - I'm sure he knows more than he wants to tell us.", - npc, - creature - ) - elseif player:getStorageValue(Storage.SeaOfLight.Questline) == 2 then + elseif player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 1 then + npcHandler:say("You should find the beggar somewhere in Edron. Stay persistent, I'm sure he knows more than he wants to tell us.", npc, creature) + elseif player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 2 then if not player:removeItem(9696, 1) then - npcHandler:say( - "o have you talked to the beggar? What did he tell you? Where are the plans...? Wh...? He did? He is? \z - You've already got the plans? Beautiful!! Amazing! Alright it will take some time to recapitulate these plans.", - npc, - creature - ) + npcHandler:say("o have you talked to the beggar? What did he tell you? Where are the plans...? Wh...? He did? He is? You've already got the plans? Beautiful!! Amazing! Alright it will take some time to recapitulate these plans.", npc, creature) return true end player:addExperience(400, true) - player:setStorageValue(Storage.SeaOfLight.Questline, 3) - player:setStorageValue(Storage.SeaOfLight.Mission1, 3) - player:setStorageValue(Storage.SeaOfLight.StudyTimer, os.time() + 1800) - npcHandler:say( - "So have you talked to the beggar? What did he tell you? Where are the plans...? Wh...? He did? He is? \z - You've already got the plans? Beautiful!! Amazing! Alright it will take some time to recapitulate these plans.", - npc, - creature - ) - addEvent(function() - releasePlayer(npc, creature) - end, 1000) - elseif player:getStorageValue(Storage.SeaOfLight.Questline) == 3 then - local timeStorage = player:getStorageValue(Storage.SeaOfLight.StudyTimer) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, 3) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission1, 3) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.StudyTimer, os.time() + 1800) + npcHandler:say("So have you talked to the beggar? What did he tell you? Where are the plans...? Wh...? He did? He is? You've already got the plans? Beautiful!! Amazing! Alright it will take some time to recapitulate these plans.", npc, creature) + npcHandler:setTopic(playerId, 0) + elseif player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 3 then + local timeStorage = player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.StudyTimer) if timeStorage > os.time() then - npcHandler:say( - "It will take some time to work out the initial problem of the device. Come back when I've found the \z - component needed to finish it. Alright, B connects to D and another two nails marked with S go... hmmm.", - npc, - creature - ) + npcHandler:say("It will take some time to work out the initial problem of the device. Come back when I've found the component needed to finish it. Alright, B connects to D and another two nails marked with S go... hmmm.", npc, creature) elseif timeStorage > 0 and timeStorage < os.time() then - npcHandler:say( - "...connects to N942. Alright!! That's it! I just finished a prototype device! And it looks like I \z - figured out the initial failure. A very special crystal is needed for the device to work. Aren't \z - you as curious as me to know what went wrong?", - npc, - creature - ) + npcHandler:say("...connects to N942. Alright!! That's it! I just finished a prototype device! And it looks like I figured out the initial failure. A very special crystal is needed for the device to work. Aren't you as curious as me to know what went wrong?", npc, creature) npcHandler:setTopic(playerId, 2) end - elseif player:getStorageValue(Storage.SeaOfLight.Questline) == 4 then - npcHandler:say( - "Did you enter the Lost Mines yet? They are west of Edron, close to the sea. You will also need a \z - pick once you get to the crystal deposit.", - npc, - creature - ) - elseif player:getStorageValue(Storage.SeaOfLight.Questline) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 4 then + npcHandler:say("Did you enter the Lost Mines yet? They are west of Edron, close to the sea. You will also need a pick once you get to the crystal deposit.", npc, creature) + elseif player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 5 then if player:getItemCount(9697) == 0 then - npcHandler:say( - "Hm, so did you find a rare crystal? Show me... hey! That's not a rare crystal. What... where did \z - you get that anyway? Please return to me with the right crystal.", - npc, - creature - ) + npcHandler:say("Hm, so did you find a rare crystal? Show me... hey! That's not a rare crystal. What... where did you get that anyway? Please return to me with the right crystal.", npc, creature) return true end player:addExperience(500, true) - player:setStorageValue(Storage.SeaOfLight.Questline, 6) - player:setStorageValue(Storage.SeaOfLight.Mission2, 3) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, 6) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission2, 3) npcHandler:say({ - "Did you find a rare crystal? Show me... Amazing, absolutely amazing. This crystal alone is worth \z - a small fortune. Ahem, of course I'm glad you brought it to me for further research instead of \z - bringing it to a merchant. ...", + "Did you find a rare crystal? Show me... Amazing, absolutely amazing. This crystal alone is worth a small fortune. Ahem, of course I'm glad you brought it to me for further research instead of bringing it to a merchant. ...", "Please return here if you want to continue helping me with another mission.", }, npc, creature) - addEvent(function() - releasePlayer(npc, creature) - end, 3000) - elseif player:getStorageValue(Storage.SeaOfLight.Questline) == 6 then - npcHandler:say( - "Well, the only thing left to do would be to offer the crystal at the well of the collector. There \z - must be a pedestal near the well, where you need to put your donation. Ha, do you think you could do that?", - npc, - creature - ) + npcHandler:setTopic(playerId, 0) + elseif player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 6 then + npcHandler:say("Well, the only thing left to do would be to offer the crystal at the well of the collector. There must be a pedestal near the well, where you need to put your donation. Ha, do you think you could do that?", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.SeaOfLight.Questline) == 7 then - npcHandler:say( - "Found the well yet? Look on one of the ice isles near Carlin. I'm perfectly sure that the well \z - with the pedestal is located on one of them. And be careful with the carrying device, I only have \z - this one prototype.", - npc, - creature - ) - elseif player:getStorageValue(Storage.SeaOfLight.Questline) == 8 then - npcHandler:say( - "So have you found the well and entered the lair? I hope you can find the {mirror crystal}\z - in there. It is the only way to finish the {Lightboat}.", - npc, - creature - ) - elseif player:getStorageValue(Storage.SeaOfLight.Questline) == 9 then + elseif player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 7 then + npcHandler:say("Found the well yet? Look on one of the ice isles near Carlin. I'm perfectly sure that the well with the pedestal is located on one of them. And be careful with the carrying device, I only have this one prototype.", npc, creature) + elseif player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 8 then + npcHandler:say("So have you found the well and entered the lair? I hope you can find the {mirror crystal} in there. It is the only way to finish the {Lightboat}.", npc, creature) + elseif player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 9 then if player:getItemCount(9699) == 0 then - npcHandler:say( - "Put the mirror crystal into the special carrying device \z - I gave you and bring it directly to me.", - npc, - creature - ) + npcHandler:say("Put the mirror crystal into the special carrying device I gave you and bring it directly to me.", npc, creature) return true end - npcHandler:say( - "Do you have the mirror crystal? Unbelievable! Alright I will extract the crystal from the device \z - myself, would you please give me the device with the crystal and step back?", - npc, - creature - ) + npcHandler:say("Do you have the mirror crystal? Unbelievable! Alright I will extract the crystal from the device myself, would you please give me the device with the crystal and step back?", npc, creature) npcHandler:setTopic(playerId, 7) - elseif (player:getStorageValue(Storage.SeaOfLight.Questline) == 10) and (player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) < 1) then - npcHandler:say( - "After the debacle with the crystal, I started focussing on other things. There are also some {tasks} \z - that still need to be done. If you can spare the time to continue helping me, it shall not be to your \z - disadvantage. So are you in for another mission?", - npc, - creature - ) + elseif (player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 10) and (player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) < 1) then + npcHandler:say("After the debacle with the crystal, I started focussing on other things. There are also some {tasks} that still need to be done. If you can spare the time to continue helping me, it shall not be to your disadvantage. So are you in for another mission?", npc, creature) npcHandler:setTopic(playerId, 27) elseif player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 2 then npcHandler:say("So you found him? Have you talked to {Jack} yet?", npc, creature) npcHandler:setTopic(playerId, 30) elseif player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 4 then - npcHandler:say( - "You're back from {Jack}! Mh, by the looks of your face I doubt our little redecoration \z - project yielded any success. But I had an even better idea while you were gone - ready to give it another try?", - npc, - creature - ) + npcHandler:say("You're back from {Jack}! Mh, by the looks of your face I doubt our little redecoration project yielded any success. But I had an even better idea while you were gone - ready to give it another try?", npc, creature) npcHandler:setTopic(playerId, 32) elseif player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 6 then npcHandler:say("So, did you talk to his family? Were you able to convince them?", npc, creature) npcHandler:setTopic(playerId, 33) elseif player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 8 then - npcHandler:say( - "Did you find out what hobby {Jack} has? Did you separate him from this activity? \z - Only if he has a free mind, he can truly get back to his former self! Now all you need to do is talk to him again!", - npc, - creature - ) + npcHandler:say("Did you find out what hobby {Jack} has? Did you separate him from this activity? Only if he has a free mind, he can truly get back to his former self! Now all you need to do is talk to him again!", npc, creature) npcHandler:setTopic(playerId, 0) elseif player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 9 then npcHandler:say({ - "Oh you are back already. Hm... I doubt it worked, did it? It DID? Oh well... good job. Really! \z - Now... the thing is - the actual {Jack} wrote. No, no wait. Calm down first. ...", - "You remember me explaining the fold in time, causing a tiny disturbance in infinity? Well, as I \z - already told you, {Jack} was indeed not transported to the future... but to the past. ...", - "I received some kind of letter this morning that has been stored for me by the Academy for \z - about 70 years now. ...", - "It said it should be opened at a specific day 20 years ago to prevent this whole incident but I \z - wasn't even at the Academy by that time. Someone just found the letter earlier today and brought \z - it to my attention. ...", - "So our {Jack} here was in fact... a completely different person. Now, now... don't get upset, \z - there was no chance for me to warn you earlier! ...", - "And it wasn't all that bad, was it? Heh... I mean... everyone needs a change in life now and then! \z - And he can still come here if he likes to! ...", - "Or wait - erm... better not tell him where exactly I live, I have some kind of presentiment concerning \z - that whole affair... yes, we should just leave everything as it is now, indeed we should. ...", + "Oh you are back already. Hm... I doubt it worked, did it? It DID? Oh well... good job. Really! Now... the thing is - the actual {Jack} wrote. No, no wait. Calm down first. ...", + "You remember me explaining the fold in time, causing a tiny disturbance in infinity? Well, as I already told you, {Jack} was indeed not transported to the future... but to the past. ...", + "I received some kind of letter this morning that has been stored for me by the Academy for about 70 years now. ...", + "It said it should be opened at a specific day 20 years ago to prevent this whole incident but I wasn't even at the Academy by that time. Someone just found the letter earlier today and brought it to my attention. ...", + "So our {Jack} here was in fact... a completely different person. Now, now... don't get upset, there was no chance for me to warn you earlier! ...", + "And it wasn't all that bad, was it? Heh... I mean... everyone needs a change in life now and then! And he can still come here if he likes to! ...", + "Or wait - erm... better not tell him where exactly I live, I have some kind of presentiment concerning that whole affair... yes, we should just leave everything as it is now, indeed we should. ...", "Anyway you did a great job and I thank you for... putting your hands into my fire Player... once again.", }, npc, creature) player:addExperience(6000, true) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 10) npcHandler:setTopic(playerId, 0) end - elseif MsgContains(message, "yes") and player:getStorageValue(Storage.SeaOfLight.Questline) < 1 then - if npcHandler:getTopic(playerId) == 1 then + elseif MsgContains(message, "yes") then + if npcHandler:getTopic(playerId) == 1 and player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) < 1 then player:addExperience(100, true) - player:setStorageValue(Storage.SeaOfLight.Questline, 1) - player:setStorageValue(Storage.SeaOfLight.Mission1, 1) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, 1) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission1, 1) npcHandler:say({ "That's the spirit! As time is of the essence, we should start right now. ...", - "A beggar here in Edron brags about how smart he is and that he knows about a man who lost his \z - sanity because of an experiment, but he won't tell anyone any details. Maybe he knows more.", + "A beggar here in Edron brags about how smart he is and that he knows about a man who lost his sanity because of an experiment, but he won't tell anyone any details. Maybe he knows more.", }, npc, creature) - addEvent(function() - releasePlayer(npc, creature) - end, 3000) + npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then - npcHandler:say( - "The device needs a special crystal. It's called {mirror crystal}. The inventor somehow damaged it \z - - with fatal results. He had to give up, as no second crystal was left to try. I, however, know of \z - another one... but are you up to the task?", - npc, - creature - ) + npcHandler:say("The device needs a special crystal. It's called {mirror crystal}. The inventor somehow damaged it - with fatal results. He had to give up, as no second crystal was left to try. I, however, know of another one... but are you up to the task?", npc, creature) npcHandler:setTopic(playerId, 3) elseif npcHandler:getTopic(playerId) == 3 then - npcHandler:say( - "One remaining mirror crystal is in the hands of a creature called the collector which collects all \z - kinds of crystals. The only way to get access to its lair is to donate a very rare crystal to a secret \z - well. I need you to get one, will you help me?", - npc, - creature - ) + npcHandler:say("One remaining mirror crystal is in the hands of a creature called the collector which collects all kinds of crystals. The only way to get access to its lair is to donate a very rare crystal to a secret well. I need you to get one, will you help me?", npc, creature) npcHandler:setTopic(playerId, 4) elseif npcHandler:getTopic(playerId) == 4 then - player:setStorageValue(Storage.SeaOfLight.Questline, 4) - player:setStorageValue(Storage.SeaOfLight.Mission1, 4) - player:setStorageValue(Storage.SeaOfLight.Mission2, 1) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, 4) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission1, 4) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission2, 1) player:addMapMark(Position(33103, 31811, 7), MAPMARK_CROSS, "Lost Mines") npcHandler:say({ - "Alright, now listen. West of Edron, near the ocean, you'll find the Lost Mines. Go down there \z - to recover one of its rare crystals. But beware, people say the mine workers who died there years \z - ago in an horrible accident are still digging. ...", - "I will mark the location of the mines on your map. Be careful when entering these muddy depths and \z - don't forget that you will need a pick to gather the crystals.", + "Alright, now listen. West of Edron, near the ocean, you'll find the Lost Mines. Go down there to recover one of its rare crystals. But beware, people say the mine workers who died there years ago in an horrible accident are still digging. ...", + "I will mark the location of the mines on your map. Be careful when entering these muddy depths and don't forget that you will need a pick to gather the crystals.", }, npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 then - npcHandler:say( - "Good, because if you wouldn't do it... listen, this well is on one of the isles near Carlin. \z - There you offer the crystal. Once you get access to its lair, find the collector and... convince it to give \z - you the mirror crystal. Understood?", - npc, - creature - ) + npcHandler:say("Good, because if you wouldn't do it... listen, this well is on one of the isles near Carlin. There you offer the crystal. Once you get access to its lair, find the collector and... convince it to give you the mirror crystal. Understood?", npc, creature) npcHandler:setTopic(playerId, 6) elseif npcHandler:getTopic(playerId) == 6 then - player:setStorageValue(Storage.SeaOfLight.Questline, 7) - player:setStorageValue(Storage.SeaOfLight.Mission3, 1) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, 7) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission3, 1) player:addItem(9698, 1) - npcHandler:say( - "To collect the unbelievably rare, practically unique mirror crystal, you will need to use this \z - special carrying device I developed. If you find the crystal, use it to store it and transport it \z - safely to me. There is no second one.", - npc, - creature - ) + npcHandler:say("To collect the unbelievably rare, practically unique mirror crystal, you will need to use this special carrying device I developed. If you find the crystal, use it to store it and transport it safely to me. There is no second one.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 7 then if not player:removeItem(9699, 1) then @@ -379,172 +238,102 @@ local function creatureSayCallback(npc, creature, type, message) player:addItem(3028, 10) player:addItem(3037, 1) player:addExperience(1000, true) - player:setStorageValue(Storage.SeaOfLight.Mission3, 4) - player:setStorageValue(Storage.SeaOfLight.Questline, 10) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission3, 4) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, 10) npcHandler:say({ "Ah yes, slowly, carefully, careful ...", "...and how shiny it is, almost there ...", "...now wh- no, NO, NOOO! It just ...", "...slipped. And cracked. Don't look at me like that ...", - "...I need some time to get over this. What? Oh, yes you can take the remains if you like. \z - Just get it out of my sight.", + "...I need some time to get over this. What? Oh, yes you can take the remains if you like. Just get it out of my sight.", }, npc, creature) - addEvent(function() - releasePlayer(npc, creature) - end, 5000) + npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 12 then - npcHandler:say( - "Of course you are. And here we go. I have to ask some questions first. One: You aint \z - afraid of no ghost, right?", - npc, - creature - ) + npcHandler:say("Of course you are. And here we go. I have to ask some questions first. One: You aint afraid of no ghost, right?", npc,creature) npcHandler:setTopic(playerId, 13) elseif npcHandler:getTopic(playerId) == 13 then - npcHandler:say( - "Good. Two: You know that ghosts exist and/or have found and/or defeated \z - one or more of them?", - npc, - creature - ) + npcHandler:say("Good. Two: You know that ghosts exist and/or have found and/or defeated one or more of them?", npc, creature) npcHandler:setTopic(playerId, 14) elseif npcHandler:getTopic(playerId) == 14 then npcHandler:say({ "Alright. Let's see - yes. ...", - "Three: You can explain at least three of the following terms, infestations, \z - collective apparitions, ectoplasmic segregations, ecto-magical field phenomena, \z - neuro-speculative sub-conscious awareness of spirits, ghosts and/or ghasts.", + "Three: You can explain at least three of the following terms, infestations, collective apparitions, ectoplasmic segregations, ecto-magical field phenomena, neuro-speculative sub-conscious awareness of spirits, ghosts and/or ghasts.", }, npc, creature) npcHandler:setTopic(playerId, 15) elseif npcHandler:getTopic(playerId) == 16 then npcHandler:say({ - "I recently teamed up with a fellow scientist and friend Sinclair, who is also more \z - of an explorer than me, to combine our discoveries in the field of complex phenomena \z - not that easily to describe just by today's state of magic. ...", - "Of course I am talking about ghosts. I know, I know. Hard to believe in those times \z - of highly advanced magic we live in. Yet there are some things, we fail to explain. ...", - "And that is exactly where we come in! Oh, and you of course. We will not only explain \z - them - we will ''remove'' them. Just tell me whenever you are ready to help us with our research.", + "I recently teamed up with a fellow scientist and friend Sinclair, who is also more of an explorer than me, to combine our discoveries in the field of complex phenomena not that easily to describe just by today's state of magic. ...", + "Of course I am talking about ghosts. I know, I know. Hard to believe in those times of highly advanced magic we live in. Yet there are some things, we fail to explain. ...", + "And that is exactly where we come in! Oh, and you of course. We will not only explain them - we will ''remove'' them. Just tell me whenever you are ready to help us with our research.", }, npc, creature) npcHandler:setTopic(playerId, 17) elseif npcHandler:getTopic(playerId) == 18 then - npcHandler:say( - "Good. Take this wand - we call it a spirit meter - and go to the graveyard I have \z - marked on your map and take a few measurements on the graves.", - npc, - creature - ) + npcHandler:say("Good. Take this wand - we call it a spirit meter - and go to the graveyard I have marked on your map and take a few measurements on the graves.", npc, creature) player:setStorageValue(Storage.SpiritHunters.Mission01, 1) player:addItem(4049, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 19 then - npcHandler:say( - "Let me see the spirit meter. Hmmm... those are grave news you bring - uhm, you \z - know what I mean. But this is awesome! Now I know for sure that the calibration is \z - only some short bursts of magically enhanced energy away.", - npc, - creature - ) + npcHandler:say("Let me see the spirit meter. Hmmm... those are grave news you bring - uhm, you know what I mean. But this is awesome! Now I know for sure that the calibration is only some short bursts of magically enhanced energy away.", npc, creature) player:addExperience(500, true) player:addItem(3035, 5) - addEvent(function() - releasePlayer(npc, creature) - end, 1000) player:setStorageValue(Storage.SpiritHunters.Mission01, 2) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 27 then npcHandler:say({ - "Very well, hmmm, but this one might get a bit - unpleasant. What? No no, not for you. Probably only \z - for the person I want you to help me with. You know, I once had an {intern}. His name was {Jack}. ...", - "He was as eager as you to help me - quite a nice person, really. At the time he was still around I was \z - working on a device to transport its user to any specified point in time - be it back or to the future \z - if you know what I mean. ...", - "He was helping me quite a lot, no matter which task I applied to him. And one day we finally did it, our \z - tempus machina was up and running. He was certainly all man of action when he actually stepped into the \z - machine for our first run. ...", - "The device was designed for one person with enough room for some provisions and one or two books for reading \z - if one would land in some drab solitude. You never know, you know? So we fired it up and yes, it actually \z - worked! ...", + "Very well, hmmm, but this one might get a bit - unpleasant. What? No no, not for you. Probably only for the person I want you to help me with. You know, I once had an {intern}. His name was {Jack}. ...", + "He was as eager as you to help me - quite a nice person, really. At the time he was still around I was working on a device to transport its user to any specified point in time - be it back or to the future if you know what I mean. ...", + "He was helping me quite a lot, no matter which task I applied to him. And one day we finally did it, our tempus machina was up and running. He was certainly all man of action when he actually stepped into the machine for our first run. ...", + "The device was designed for one person with enough room for some provisions and one or two books for reading if one would land in some drab solitude. You never know, you know? So we fired it up and yes, it actually worked! ...", "He completely disappeared right before my eyes! Eureka! Well ahem, there was but one tiny little problem. ...", - "As all magical calibration was done from my lab I never thought about adding some sort of control to its \z - interior. In other words {Jack} has travelled in time, without any means to come back. ...", - "Sleepless days of intensive research, however, brought me to the conclusion that he was not actually \z - travelling to the future, but to another {dimension}, {parallel} to ours. There is still a chance to rescue \z - him - and you can help me. What do you say?", + "As all magical calibration was done from my lab I never thought about adding some sort of control to its interior. In other words {Jack} has travelled in time, without any means to come back. ...", + "Sleepless days of intensive research, however, brought me to the conclusion that he was not actually travelling to the future, but to another {dimension}, {parallel} to ours. There is still a chance to rescue him - and you can help me. What do you say?", }, npc, creature) npcHandler:setTopic(playerId, 28) elseif npcHandler:getTopic(playerId) == 28 then npcHandler:say({ - "You know, in some way you remind me of {Jack}. Well, I am glad you are up to this task - we just have \z - to get him back. I owe that to him and I owe it to science. Alright, now let me explain that whole \z - {dimensional} problem. ...", - "The bad news is, using the device at that state was not a good idea. We effectively caused a magical \z - distortion in the fabric of time, space and thus folded infinity - just a little. ...", + "You know, in some way you remind me of {Jack}. Well, I am glad you are up to this task - we just have to get him back. I owe that to him and I owe it to science. Alright, now let me explain that whole {dimensional} problem. ...", + "The bad news is, using the device at that state was not a good idea. We effectively caused a magical distortion in the fabric of time, space and thus folded infinity - just a little. ...", "The good news is that {Jack} is still on our world, and not even inconveniently far away. ...", - "Unfortunately in the current state of time, he was never interested in attending Edron Academy, he \z - never looked for a job to finance his studies and of course has never been one of my interns. ...", - "Since he was in the magic sphere during the launch, the time fold only affected his own {dimensional} \z - anchoring. ...", - "The number of parallel {dimensions} is endless and the fold made him slip into one completely different \z - course of time where he never was the person I once knew. ...", + "Unfortunately in the current state of time, he was never interested in attending Edron Academy, he never looked for a job to finance his studies and of course has never been one of my interns. ...", + "Since he was in the magic sphere during the launch, the time fold only affected his own {dimensional} anchoring. ...", + "The number of parallel {dimensions} is endless and the fold made him slip into one completely different course of time where he never was the person I once knew. ...", "Now you know it all. Still want to help?", }, npc, creature) npcHandler:setTopic(playerId, 29) elseif npcHandler:getTopic(playerId) == 29 then npcHandler:say({ - "Thank you. So here we are - now how to get {Jack} back to our {dimension}? Well, the answer to that \z - is easy. It is simply not possible. All my tests concerning the reversal of the process failed. ...", - "But {Jack} is not yet lost to us - if we can get him back to his former self! You have to tell him \z - about his former life, convince him, change his environment. But at first you will need to talk to him \z - and find out who exactly we are dealing with now. ...", + "Thank you. So here we are - now how to get {Jack} back to our {dimension}? Well, the answer to that is easy. It is simply not possible. All my tests concerning the reversal of the process failed. ...", + "But {Jack} is not yet lost to us - if we can get him back to his former self! You have to tell him about his former life, convince him, change his environment. But at first you will need to talk to him and find out who exactly we are dealing with now. ...", "I will mark his current location on your map, just ask him about me and see what happens - good luck.", }, npc, creature) - player:setStorageValue(Storage.SeaOfLight.Questline, 11) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, 11) player:setStorageValue(Storage.TibiaTales.DefaultStart, 1) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 30 then - npcHandler:say( - "Yes? And he didn't remember anything? Not even me? That's not good. Then we will have to \z - do everything ourselves. Are you ready to continue?", - npc, - creature - ) + npcHandler:say("Yes? And he didn't remember anything? Not even me? That's not good. Then we will have to do everything ourselves. Are you ready to continue?", npc, creature) npcHandler:setTopic(playerId, 31) elseif npcHandler:getTopic(playerId) == 31 then npcHandler:say({ - "A trigger is needed to make him recall what happened. First thing should be to change his \z - environment to be more... familiar. As soon as he will have the things he used to have around \z - him, his memories will come back. ...", - "I know that he used to have a very comfy red cushioned chair and an old globe which sat near \z - the middle of the room. He also used a smaller telescope and he had that extremely large amphora \z - in a corner. And... there was one other thing. ...", - "A rocking horse. He just loved it! Find these items, buy them if you need to and place them \z - where {Jack} lives. Ask him about the furniture and don't forget to tell me about his reaction!", + "A trigger is needed to make him recall what happened. First thing should be to change his environment to be more... familiar. As soon as he will have the things he used to have around him, his memories will come back. ...", + "I know that he used to have a very comfy red cushioned chair and an old globe which sat near the middle of the room. He also used a smaller telescope and he had that extremely large amphora in a corner. And... there was one other thing. ...", + "A rocking horse. He just loved it! Find these items, buy them if you need to and place them where {Jack} lives. Ask him about the furniture and don't forget to tell me about his reaction!", }, npc, creature) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 3) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 32 then npcHandler:say({ - "Alright listen. As long as his social environment accepts him as the person he is now, \z - he will never come free from the shackles that bind him to this alternate self. ...", + "Alright listen. As long as his social environment accepts him as the person he is now, he will never come free from the shackles that bind him to this alternate self. ...", "Oh, he has a sister you say? And his mother is living with them? ...", - "Hm... that's strange, I don't even recall his family. Never knew he had a mother and a \z - sister. Tell them the truth about him - maybe they will understand and even help him getting \z - this over with. ...", - "But be careful, the {dimensional} shift could mean that they will not even know what you're \z - talking about since they are more closely linked to him than anyone else.", + "Hm... that's strange, I don't even recall his family. Never knew he had a mother and a sister. Tell them the truth about him - maybe they will understand and even help him getting this over with. ...", + "But be careful, the {dimensional} shift could mean that they will not even know what you're talking about since they are more closely linked to him than anyone else.", }, npc, creature) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 5) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 33 then npcHandler:say({ - "Success!! Now it will be far easier to convince him of his true self! Excellent work. \z - Now the only thing left to do is to separate him from whatever still binds him to that place. \z - Did he develop any habits perhaps? ...", - "A hobby or something! Yes, ask him about his hobbies! Convince him somehow that anything he is \z - doing there does not match his true self - he didn't have any hobbies except a healthy interest in \z - science - you MUST convince him, no matter what! ...", + "Success!! Now it will be far easier to convince him of his true self! Excellent work. Now the only thing left to do is to separate him from whatever still binds him to that place. Did he develop any habits perhaps? ...", + "A hobby or something! Yes, ask him about his hobbies! Convince him somehow that anything he is doing there does not match his true self - he didn't have any hobbies except a healthy interest in science - you MUST convince him, no matter what! ...", "Or everything we achieved would be in vain. We can still save Jack! Now go and do what you must do.", }, npc, creature) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 7) @@ -553,14 +342,9 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "jack") then if player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 10 then npcHandler:say({ - "Well you know Jack - after all you talked to him in person. He will get over it. \z - As for the real Jack, my former intern... I am glad that nothing serious happened to him. ...", - "According to his letter, he did just fine so many years ago. He somehow managed to make a \z - name of himself when he cast some magic we enhanced through our research - of course no one \z - back then had ever seen such spells. ...", - "Oh and he sends his regards to... how did he put it - 'whoever is currently helping me getting \z - out of whatever mess I am currently in'. I... don't really know how this was meant but I \z - guess this is directed at... you!", + "Well you know Jack - after all you talked to him in person. He will get over it. As for the real Jack, my former intern... I am glad that nothing serious happened to him. ...", + "According to his letter, he did just fine so many years ago. He somehow managed to make a name of himself when he cast some magic we enhanced through our research - of course no one back then had ever seen such spells. ...", + "Oh and he sends his regards to... how did he put it - 'whoever is currently helping me getting out of whatever mess I am currently in'. I... don't really know how this was meant but I guess this is directed at... you!", }, npc, creature) npcHandler:setTopic(playerId, 0) end @@ -568,30 +352,15 @@ local function creatureSayCallback(npc, creature, type, message) local qStorage = player:getStorageValue(Storage.SpiritHunters.Mission01) if qStorage == -1 then if npcHandler:getTopic(playerId) == 15 then - npcHandler:say( - "Ah well, let's forget about the scientific details - you will do just fine as \z - long as you do exactly what I say. Ready for me to go on with your task?", - npc, - creature - ) + npcHandler:say("Ah well, let's forget about the scientific details - you will do just fine as long as you do exactly what I say. Ready for me to go on with your task?", npc, creature) npcHandler:setTopic(playerId, 16) end end elseif MsgContains(message, "no") then if npcHandler:getTopic(playerId) == 1 then - npcHandler:say( - "Yes, maybe it was the right decision. Astronomical research is \z - nothing for the faint-hearted.", - npc, - creature - ) + npcHandler:say("Yes, maybe it was the right decision. Astronomical research is nothing for the faint-hearted.", npc, creature) elseif npcHandler:getTopic(playerId) == 2 then - npcHandler:say( - "Well, the... what? You... mean you're no longer interested? I see, well \z - maybe I overestimated your spirit after all.", - npc, - creature - ) + npcHandler:say("Well, the... what? You... mean you're no longer interested? I see, well maybe I overestimated your spirit after all.", npc, creature) elseif npcHandler:getTopic(playerId) == 3 then npcHandler:say("Alright, alright. You'll never find out the true secrets of life with such attitude, hm.", npc, creature) elseif npcHandler:getTopic(playerId) == 4 then @@ -608,32 +377,20 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "machine") and player:getStorageValue(Storage.LiquidBlackQuest.Visitor) == 3 then npcHandler:say({ - "Ah, the machine you found at that island. Well, I built this thing to venture far beneath \z - the very soil we walk on. I suspected something there. Something deep down below. Something evil. \z - Even more so than the dreaded bugs which are crawling my study. ...", - "Drilling hole after hole only to get stuck in another hard, unbreakable sediment again and again, \z - I was about to quit this pointless enterprise. ...", - "However, the very last day I lingered on that island, I finally fell into a large hollow right \z - under the beach. My drill was shattered and the machine was not mobile anymore. ...", - "I am well aware that this may sound laughable now - at this part all of my colleagues burst into \z - laughter anyway - but suddenly there were stairs. Incredibly large stairs that led to the underworld. \z - A world deep under the sea - can you believe this?", + "Ah, the machine you found at that island. Well, I built this thing to venture far beneath the very soil we walk on. I suspected something there. Something deep down below. Something evil. Even more so than the dreaded bugs which are crawling my study. ...", + "Drilling hole after hole only to get stuck in another hard, unbreakable sediment again and again, I was about to quit this pointless enterprise. ...", + "However, the very last day I lingered on that island, I finally fell into a large hollow right under the beach. My drill was shattered and the machine was not mobile anymore. ...", + "I am well aware that this may sound laughable now - at this part all of my colleagues burst into laughter anyway - but suddenly there were stairs. Incredibly large stairs that led to the underworld. A world deep under the sea - can you believe this?", }, npc, creature) npcHandler:setTopic(playerId, 21) elseif MsgContains(message, "yes") and npcHandler:getTopic(playerId) == 21 and player:getStorageValue(Storage.LiquidBlackQuest.Visitor) == 3 then if player:getStorageValue(Storage.LiquidBlackQuest.Visitor) == 3 then npcHandler:say({ "You do? Well, the end of this story was that I had to leave the place. ...", - "I couldnt explore what lies below the stairs as there was an unpredictable stream. Diving \z - into these waters would have been an uncontrollable risk, even with the means to survive without any air. ...", - "So I used the portable teleporting device I installed into my machine in case of an emergency and went home. \z - I could only take the most important research documents with me and had to leave \z - most of my equipment in the cave. ...", - "Of course I also left my final notes with the coordinates there. And for the life of me I cannot remember where \z - I dug that stupid hole. ...", - "When I arrived at home I immediately started looking for a way to manoeuvre in these chaotic conditions once \z - I rediscovered the lost entrance. I never remembered it, but it seems you found it as you \z - indeed have my original notes. ...", + "I couldnt explore what lies below the stairs as there was an unpredictable stream. Diving into these waters would have been an uncontrollable risk, even with the means to survive without any air. ...", + "So I used the portable teleporting device I installed into my machine in case of an emergency and went home. I could only take the most important research documents with me and had to leave most of my equipment in the cave. ...", + "Of course I also left my final notes with the coordinates there. And for the life of me I cannot remember where I dug that stupid hole. ...", + "When I arrived at home I immediately started looking for a way to manoeuvre in these chaotic conditions once I rediscovered the lost entrance. I never remembered it, but it seems you found it as you indeed have my original notes. ...", "Oh and just in case you want to complete what I have started - feel free to do so. Up to it?", }, npc, creature) npcHandler:setTopic(playerId, 22) @@ -641,52 +398,34 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") and npcHandler:getTopic(playerId) == 22 and player:getStorageValue(Storage.LiquidBlackQuest.Visitor) == 3 then if player:getStorageValue(Storage.LiquidBlackQuest.Visitor) == 3 then npcHandler:say({ - "Well, if you really want to delve into this - I could use some help. So you have \z - found my {machine} on that island? And you found the notes with the coordinates? \z - Then you can find the entrance! ...", - "Just look for a large staircase with sprawling steps. There is an unpassable stream \z - there that will prevent you from venturing further on. But fear not, you can indeed \z - travel down there - with these small {enhancements} I created. ...", - "At first, take this gold for the passage by ship and return to the Gray Island from \z - where I started my expedition many years ago. From there you should find a way to reach \z - the Gray Beach of Quirefang as no ordinary ship can land there. ...", - "I will put this under your footgear. Here you go. And this in your nose. There. And \z - there will be no further problems for you down there. Except- ah, well youll find \z - out yourself soon enough, wont you?", + "Well, if you really want to delve into this - I could use some help. So you have found my {machine} on that island? And you found the notes with the coordinates? Then you can find the entrance! ...", + "Just look for a large staircase with sprawling steps. There is an unpassable stream there that will prevent you from venturing further on. But fear not, you can indeed travel down there - with these small {enhancements} I created. ...", + "At first, take this gold for the passage by ship and return to the Gray Island from where I started my expedition many years ago. From there you should find a way to reach the Gray Beach of Quirefang as no ordinary ship can land there. ...", + "I will put this under your footgear. Here you go. And this in your nose. There. And there will be no further problems for you down there. Except- ah, well youll find out yourself soon enough, wont you?", }, npc, creature) npcHandler:setTopic(playerId, 23) end elseif MsgContains(message, "yes") and npcHandler:getTopic(playerId) == 23 and player:getStorageValue(Storage.LiquidBlackQuest.Visitor) == 3 then if player:getStorageValue(Storage.LiquidBlackQuest.Visitor) == 3 then - npcHandler:say({ - "Then off you go! Im sorry that I cannot offer you any further help but Im \z - sure you will find support along your way. And - be careful. The sea can \z - appear pitch black down there.", - }, npc, creature) + npcHandler:say("Then off you go! Im sorry that I cannot offer you any further help but Im sure you will find support along your way. And - be careful. The sea can appear pitch black down there.", npc, creature) player:setStorageValue(Storage.LiquidBlackQuest.Visitor, 4) npcHandler:setTopic(playerId, 24) end elseif MsgContains(message, "task") then - if player:getStorageValue(Storage.SeaOfLight.Mission3) == 4 then + if player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission3) == 4 then end end if MsgContains(message, "rumours") then npcHandler:say({ - "There are rumours of aggressive fishmen in northern Tiquanda. We have to \z - find out if this is even remotely connected to the Njey. ...", - "What's puzzling me is that they were sighted above ground and then retreated \z - into a temple ruin. If we find that ruin, we could find out if there's a relation. ...", + "There are rumours of aggressive fishmen in northern Tiquanda. We have to find out if this is even remotely connected to the Njey. ...", + "What's puzzling me is that they were sighted above ground and then retreated into a temple ruin. If we find that ruin, we could find out if there's a relation. ...", "Are you willing to help me?", }, npc, creature) npcHandler:setTopic(playerId, 25) elseif MsgContains(message, "yes") and npcHandler:getTopic(playerId) == 25 then if npcHandler:getTopic(playerId) == 25 then - npcHandler:say({ - "Excellent, excellent. The rumours pointed to the north of Tiquanda, a \z - sunken temple probably half drowned in water. Return to me if you find \z - anything interesting!", - }, npc, creature) + npcHandler:say("Excellent, excellent. The rumours pointed to the north of Tiquanda, a sunken temple probably half drowned in water. Return to me if you find anything interesting!", npc, creature) player:setStorageValue(Storage.TheSecretLibrary.LiquidDeath, 1) npcHandler:setTopic(playerId, 0) end @@ -696,57 +435,38 @@ end keywordHandler:addKeyword({ "jack" }, StdModule.say, { npcHandler = npcHandler, - text = "He was the first one I ever hired as an intern to help me with my studies and research. He \z - did an exceptionally good job and I certainly don't know where I would stand today without him. \z - We have to save him |PLAYERNAME|!", + text = "He was the first one I ever hired as an intern to help me with my studies and research. He did an exceptionally good job and I certainly don't know where I would stand today without him. We have to save him |PLAYERNAME|!", }) keywordHandler:addKeyword({ "device" }, StdModule.say, { npcHandler = npcHandler, - text = "I heard of a device which would allow man to sail the sea of light. I call it the {Lightboat}, \z - probably the most important invention in our history. And I will not rest until I have found a way to \z - put the plan of its inventor into action.", + text = "I heard of a device which would allow man to sail the sea of light. I call it the {Lightboat}, probably the most important invention in our history. And I will not rest until I have found a way to put the plan of its inventor into action.", }) keywordHandler:addKeyword({ "lightboat" }, StdModule.say, { npcHandler = npcHandler, - text = "I heard of a device which would allow man to sail the sea of light. I call it the {Lightboat}, \z - probably the most important invention in our history. And I will not rest until I have found a way to \z - put the plan of its inventor into action.", + text = "I heard of a device which would allow man to sail the sea of light. I call it the {Lightboat}, probably the most important invention in our history. And I will not rest until I have found a way to put the plan of its inventor into action.", }) keywordHandler:addKeyword({ "magic device" }, StdModule.say, { npcHandler = npcHandler, - text = "I heard of a device which would allow man to sail the sea of light. I call it the {Lightboat}, \z - probably the most important invention in our history. And I will not rest until I have found a way to \z - put the plan of its inventor into action.", + text = "I heard of a device which would allow man to sail the sea of light. I call it the {Lightboat}, probably the most important invention in our history. And I will not rest until I have found a way to put the plan of its inventor into action.", }) keywordHandler:addKeyword({ "sea of light" }, StdModule.say, { npcHandler = npcHandler, - text = "The sea of light is what I call the endless arrangement of shiny stars in the night sky. If we \z - fail to complete the {magic device}, science will probably never uncover its secrets.", + text = "The sea of light is what I call the endless arrangement of shiny stars in the night sky. If we fail to complete the {magic device}, science will probably never uncover its secrets.", }) keywordHandler:addKeyword({ "mirror crystal" }, StdModule.say, { npcHandler = npcHandler, - text = "I found the cause of the initial failure. A rare component, a mirror crystal was used to store \z - magical energy. Miscalculations within the construction damaged this fragile power source. The unleashed \z - energy must have been devastating.", + text = "I found the cause of the initial failure. A rare component, a mirror crystal was used to store magical energy. Miscalculations within the construction damaged this fragile power source. The unleashed energy must have been devastating.", }) keywordHandler:addKeyword({ "lost mines" }, StdModule.say, { npcHandler = npcHandler, - text = "The people of Edron were digging there for minerals and gold. It seemed all that work was of \z - no avail when they finally hit the motherlode. Gems, rare crystals and... water. So much that it flooded \z - the whole system. And not a single soul escaped.", + text = "The people of Edron were digging there for minerals and gold. It seemed all that work was of no avail when they finally hit the motherlode. Gems, rare crystals and... water. So much that it flooded the whole system. And not a single soul escaped.", }) keywordHandler:addKeyword({ "collector" }, StdModule.say, { npcHandler = npcHandler, - text = "I heard rumours of a fabled creature whose traces were found on an island near Carlin. It \z - lives solely to collect all kinds of rare gems, crystals and minerals. Offering an item it does not \z - already own, reportedly allows passage into its lair.", + text = "I heard rumours of a fabled creature whose traces were found on an island near Carlin. It lives solely to collect all kinds of rare gems, crystals and minerals. Offering an item it does not already own, reportedly allows passage into its lair.", }) -npcHandler:setMessage( - MESSAGE_GREET, - "Hello |PLAYERNAME|! You're late, do you have no concept of time? \z -My mission is of utmost importance. If you are not interested in helping me, you might as well just leave." -) +npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|! You're late, do you have no concept of time? My mission is of utmost importance. If you are not interested in helping me, you might as well just leave.") npcHandler:setMessage(MESSAGE_FAREWELL, "Yes yes. Goodbye |PLAYERNAME|.") npcHandler:setMessage(MESSAGE_WALKAWAY, "Yes yes. Goodbye |PLAYERNAME|.") diff --git a/data-otservbr-global/scripts/actions/quests/sea_of_light/sea_of_light.lua b/data-otservbr-global/scripts/actions/quests/sea_of_light/sea_of_light.lua index 114a5990323..0e08b95fa43 100644 --- a/data-otservbr-global/scripts/actions/quests/sea_of_light/sea_of_light.lua +++ b/data-otservbr-global/scripts/actions/quests/sea_of_light/sea_of_light.lua @@ -2,13 +2,13 @@ local rareCrystal = Action() function rareCrystal.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.SeaOfLight.Questline) ~= 7 then + if player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 7 then return false end if toPosition == Position(32011, 31709, 7) then - player:setStorageValue(Storage.SeaOfLight.Questline, player:getStorageValue(Storage.SeaOfLight.Questline) + 1) - player:setStorageValue(Storage.SeaOfLight.Mission3, player:getStorageValue(Storage.SeaOfLight.Mission3) + 1) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) + 1) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission3, player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission3) + 1) player:teleportTo({ x = 32017, y = 31730, z = 8 }) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) item:remove() @@ -28,13 +28,13 @@ function collectorCorpse.onUse(player, item, fromPosition, target, toPosition, i return false end - if player:getStorageValue(Storage.SeaOfLight.Questline) ~= 8 then + if player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 8 then return false end player:say("You carefully put the mirror crystal into the astronomers's device.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.SeaOfLight.Questline, 9) - player:setStorageValue(Storage.SeaOfLight.Mission3, 3) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, 9) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Mission3, 3) item:transform(9699) end diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 47a1878eddb..f16614d1219 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -7,7 +7,9 @@ ItemAction = { -- In Service of Yalahar Quest { x = 32776, y = 31062, z = 7 }, { x = 32884, y = 31248, z = 8 }, - { x = 32884, y = 31248, z = 8 }, + { x = 32885, y = 31248, z = 8 }, + -- Sea of Light Quest + { x = 32011, y = 31709, z = 7 }, }, }, --Parchment room quest diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index e8fec0e5b4b..ef4540c24b1 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -658,15 +658,15 @@ function onUsePick(player, item, fromPosition, target, toPosition, isHotkey) toPosition:sendMagicEffect(CONST_ME_HITAREA) elseif target.itemid == 7806 then -- Sea of light quest - if player:getStorageValue(Storage.SeaOfLight.Questline) ~= 4 then + if player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 4 then return false end if toPosition == Position(33031, 31758, 8) then if math.random(100) <= 30 then - if player:getStorageValue(Storage.SeaOfLight.Questline) == 4 then + if player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) == 4 then player:addItem(9697, 1) - player:setStorageValue(Storage.SeaOfLight.Questline, player:getStorageValue(Storage.SeaOfLight.Questline) + 1) + player:setStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline, player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) + 1) player:say("*crush*", TALKTYPE_MONSTER_SAY) end else From 41c5bad81a4db7373dcac71a72a6aa00fddfeaeb Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 8 Aug 2024 15:02:36 +0000 Subject: [PATCH 087/112] Lua code format - (Stylua) --- data-otservbr-global/npc/shoddy_beggar.lua | 6 +++++- data-otservbr-global/npc/spectulus.lua | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/data-otservbr-global/npc/shoddy_beggar.lua b/data-otservbr-global/npc/shoddy_beggar.lua index 0a073b78968..76ebd24b6b2 100644 --- a/data-otservbr-global/npc/shoddy_beggar.lua +++ b/data-otservbr-global/npc/shoddy_beggar.lua @@ -87,7 +87,11 @@ local function creatureSayCallback(npc, creature, type, message) return true end - npcHandler:say(player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 1 and "Very kind indeed. Maybe you are not such a bad guy after all. Maybe I can even give it back to you one day... you know I was not always like that *mumbles*." or "Thank you very much... plans you say? I don't know what you are talking about. Plans for a magic... device? And the people call ME crazy.", npc, creature) + npcHandler:say( + player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 1 and "Very kind indeed. Maybe you are not such a bad guy after all. Maybe I can even give it back to you one day... you know I was not always like that *mumbles*." or "Thank you very much... plans you say? I don't know what you are talking about. Plans for a magic... device? And the people call ME crazy.", + npc, + creature + ) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then if not player:removeMoneyBank(1) then diff --git a/data-otservbr-global/npc/spectulus.lua b/data-otservbr-global/npc/spectulus.lua index e18f74678f3..3e91df467e7 100644 --- a/data-otservbr-global/npc/spectulus.lua +++ b/data-otservbr-global/npc/spectulus.lua @@ -249,7 +249,7 @@ local function creatureSayCallback(npc, creature, type, message) }, npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 12 then - npcHandler:say("Of course you are. And here we go. I have to ask some questions first. One: You aint afraid of no ghost, right?", npc,creature) + npcHandler:say("Of course you are. And here we go. I have to ask some questions first. One: You aint afraid of no ghost, right?", npc, creature) npcHandler:setTopic(playerId, 13) elseif npcHandler:getTopic(playerId) == 13 then npcHandler:say("Good. Two: You know that ghosts exist and/or have found and/or defeated one or more of them?", npc, creature) From 48b81e507fc31dcab67bfa07cdd7b85942e56521 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 8 Aug 2024 12:05:19 -0300 Subject: [PATCH 088/112] Update shoddy_beggar.lua --- data-otservbr-global/npc/shoddy_beggar.lua | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/data-otservbr-global/npc/shoddy_beggar.lua b/data-otservbr-global/npc/shoddy_beggar.lua index 76ebd24b6b2..0a073b78968 100644 --- a/data-otservbr-global/npc/shoddy_beggar.lua +++ b/data-otservbr-global/npc/shoddy_beggar.lua @@ -87,11 +87,7 @@ local function creatureSayCallback(npc, creature, type, message) return true end - npcHandler:say( - player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 1 and "Very kind indeed. Maybe you are not such a bad guy after all. Maybe I can even give it back to you one day... you know I was not always like that *mumbles*." or "Thank you very much... plans you say? I don't know what you are talking about. Plans for a magic... device? And the people call ME crazy.", - npc, - creature - ) + npcHandler:say(player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 1 and "Very kind indeed. Maybe you are not such a bad guy after all. Maybe I can even give it back to you one day... you know I was not always like that *mumbles*." or "Thank you very much... plans you say? I don't know what you are talking about. Plans for a magic... device? And the people call ME crazy.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then if not player:removeMoneyBank(1) then From 0fc518a7065def2188b39181e6e4fa9db8658ce4 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 8 Aug 2024 15:06:12 +0000 Subject: [PATCH 089/112] Lua code format - (Stylua) --- data-otservbr-global/npc/shoddy_beggar.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/data-otservbr-global/npc/shoddy_beggar.lua b/data-otservbr-global/npc/shoddy_beggar.lua index 0a073b78968..76ebd24b6b2 100644 --- a/data-otservbr-global/npc/shoddy_beggar.lua +++ b/data-otservbr-global/npc/shoddy_beggar.lua @@ -87,7 +87,11 @@ local function creatureSayCallback(npc, creature, type, message) return true end - npcHandler:say(player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 1 and "Very kind indeed. Maybe you are not such a bad guy after all. Maybe I can even give it back to you one day... you know I was not always like that *mumbles*." or "Thank you very much... plans you say? I don't know what you are talking about. Plans for a magic... device? And the people call ME crazy.", npc, creature) + npcHandler:say( + player:getStorageValue(Storage.Quest.U8_54.SeaOfLight.Questline) ~= 1 and "Very kind indeed. Maybe you are not such a bad guy after all. Maybe I can even give it back to you one day... you know I was not always like that *mumbles*." or "Thank you very much... plans you say? I don't know what you are talking about. Plans for a magic... device? And the people call ME crazy.", + npc, + creature + ) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then if not player:removeMoneyBank(1) then From e7e0c5b410eb4de5a5cf6eddf8445a36183777e9 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 8 Aug 2024 13:39:21 -0300 Subject: [PATCH 090/112] Tomes of Knowledge Quest --- data-otservbr-global/lib/core/storages.lua | 4 +++ data-otservbr-global/startup/tables/chest.lua | 29 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 499bc2fb0f7..d5a5ab7d6a2 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2298,6 +2298,10 @@ Storage = { CobraHead = 42760, OrcRaid = 42761, ZaoPalace = 42762, + ChestTomeOfKnowledge1 = 42763, + ChestTomeOfKnowledge2 = 42764, + ChestTomeOfKnowledge3 = 42765, + ChestTomeOfKnowledge4 = 42766, }, UnnaturalSelection = {}, -- 42781 - 42830 WarmasterOutfits = {}, -- 42831 - 42840 diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 1a9083bc2af..b872e1d40d1 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2488,6 +2488,35 @@ ChestUnique = { weight = 15.00, storage = Storage.Quest.U8_54.ChildrenOfTheRevolution.ChestTomeOfKnowledge2, }, + -- Tomes of Knowledge Quest + [6292] = { + itemId = 2472, + itemPos = { x = 33009, y = 31251, z = 8 }, + reward = { { 10217, 1 } }, + weight = 15.00, + storage = Storage.Quest.U8_54.TomesOfKnowledge.ChestTomeOfKnowledge1, + }, + [6293] = { + itemId = 2472, + itemPos = { x = 32978, y = 31427, z = 2 }, + reward = { { 10217, 1 } }, + weight = 15.00, + storage = Storage.Quest.U8_54.TomesOfKnowledge.ChestTomeOfKnowledge2, + }, + [6294] = { + itemId = 2472, + itemPos = { x = 33306, y = 31125, z = 9 }, + reward = { { 10217, 1 } }, + weight = 15.00, + storage = Storage.Quest.U8_54.TomesOfKnowledge.ChestTomeOfKnowledge3, + }, + [6295] = { + itemId = 2480, + itemPos = { x = 33157, y = 31229, z = 15 }, + reward = { { 10217, 1 } }, + weight = 15.00, + storage = Storage.Quest.U8_54.TomesOfKnowledge.ChestTomeOfKnowledge4, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) From 3de21dae1c928d6c2ae360f2343aac4b77208f2d Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 8 Aug 2024 15:19:10 -0300 Subject: [PATCH 091/112] Unnatural Selection Quest Quest OK. The Tasks are still missing. --- data-otservbr-global/lib/core/quests.lua | 14 +-- data-otservbr-global/lib/core/storages.lua | 22 +++-- data-otservbr-global/npc/lazaran.lua | 87 ++++++++++--------- data-otservbr-global/npc/ongulf.lua | 5 +- data-otservbr-global/npc/ulala.lua | 45 +++++----- .../actions/other/others/quest_system2.lua | 2 +- .../actions_mission5_ray_of_light.lua} | 6 +- ...vements_mission2_all_around_the_world.lua} | 4 +- ...ements_mission3_dance_dance_evolution.lua} | 18 ++-- .../startup/tables/door_quest.lua | 4 +- data-otservbr-global/startup/tables/item.lua | 15 ++++ 11 files changed, 123 insertions(+), 99 deletions(-) rename data-otservbr-global/scripts/{actions/quests/unnatural_selection/mission5_ray_of_light.lua => quests/unnatural_selection/actions_mission5_ray_of_light.lua} (54%) rename data-otservbr-global/scripts/{movements/quests/unnatural_selection/mission2_all_around_the_world.lua => quests/unnatural_selection/movements_mission2_all_around_the_world.lua} (92%) rename data-otservbr-global/scripts/{movements/quests/unnatural_selection/mission3_dance_dance_evolution.lua => quests/unnatural_selection/movements_mission3_dance_dance_evolution.lua} (67%) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 94214097320..1da85f1b644 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -4724,12 +4724,12 @@ if not Quests then }, [32] = { name = "Unnatural Selection", - startStorageId = Storage.UnnaturalSelection.Questline, + startStorageId = Storage.Quest.U8_54.UnnaturalSelection.Questline, startStorageValue = 1, missions = { [1] = { name = "Mission 1: Skulled", - storageId = Storage.UnnaturalSelection.Mission01, + storageId = Storage.Quest.U8_54.UnnaturalSelection.Mission01, missionId = 10330, startValue = 1, endValue = 3, @@ -4742,7 +4742,7 @@ if not Quests then }, [2] = { name = "Mission 2: All Around the World", - storageId = Storage.UnnaturalSelection.Mission02, + storageId = Storage.Quest.U8_54.UnnaturalSelection.Mission02, missionId = 10331, startValue = 1, endValue = 13, @@ -4776,7 +4776,7 @@ if not Quests then }, [3] = { name = "Mission 3: Dance Dance Evolution", - storageId = Storage.UnnaturalSelection.Mission03, + storageId = Storage.Quest.U8_54.UnnaturalSelection.Mission03, missionId = 10332, startValue = 1, endValue = 3, @@ -4789,7 +4789,7 @@ if not Quests then }, [4] = { name = "Mission 4: Bits and Pieces", - storageId = Storage.UnnaturalSelection.Mission04, + storageId = Storage.Quest.U8_54.UnnaturalSelection.Mission04, missionId = 10333, startValue = 1, endValue = 2, @@ -4801,7 +4801,7 @@ if not Quests then }, [5] = { name = "Mission 5: Ray of Light", - storageId = Storage.UnnaturalSelection.Mission05, + storageId = Storage.Quest.U8_54.UnnaturalSelection.Mission05, missionId = 10334, startValue = 1, endValue = 3, @@ -4814,7 +4814,7 @@ if not Quests then }, [6] = { name = "Mission 6: Firewater Burn", - storageId = Storage.UnnaturalSelection.Mission06, + storageId = Storage.Quest.U8_54.UnnaturalSelection.Mission06, missionId = 10335, startValue = 1, endValue = 3, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index d5a5ab7d6a2..bb287af27b0 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -720,17 +720,6 @@ Storage = { DeeplingAnchor = 51023, RoyalCostumeOutfit = 51026, }, - UnnaturalSelection = { - -- Reserved storage from 55159 - 51299 - Questline = 55159, - Mission01 = 51281, - Mission02 = 51282, - Mission03 = 51283, - Mission04 = 51284, - Mission05 = 51285, - Mission06 = 51286, - DanceStatus = 51287, - }, WrathoftheEmperor = { -- Reserved storage from 51300 - 51339 Questline = 51300, @@ -2303,7 +2292,16 @@ Storage = { ChestTomeOfKnowledge3 = 42765, ChestTomeOfKnowledge4 = 42766, }, - UnnaturalSelection = {}, -- 42781 - 42830 + UnnaturalSelection = { + Questline = 42781, + Mission01 = 42782, + Mission02 = 42783, + Mission03 = 42784, + Mission04 = 42785, + Mission05 = 42786, + Mission06 = 42787, + DanceStatus = 42788, + }, -- 42781 - 42830 WarmasterOutfits = {}, -- 42831 - 42840 }, U8_6 = { -- update 8.6 - Reserved Storages 42951 - 43200 diff --git a/data-otservbr-global/npc/lazaran.lua b/data-otservbr-global/npc/lazaran.lua index 663d965023e..58e3317a1f6 100644 --- a/data-otservbr-global/npc/lazaran.lua +++ b/data-otservbr-global/npc/lazaran.lua @@ -49,7 +49,6 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end -local TheNewFrontier = Storage.Quest.U8_54.TheNewFrontier local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() @@ -58,66 +57,71 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if MsgContains(message, "mission") and player:getStorageValue(TheNewFrontier.Questline) == 8 then - if npcHandler:getTopic(playerId) == 0 then + local TheNewFrontier = Storage.Quest.U8_54.TheNewFrontier + local UnnaturalSelection = Storage.Quest.U8_54.UnnaturalSelection + + if MsgContains(message, "mission") then + if npcHandler:getTopic(playerId) == 0 and player:getStorageValue(TheNewFrontier.Questline) == 8 then npcHandler:say("Me people wanting {peace}. No war with others. No war with {little men}. We few. We weak. Need {help}. We not wanting make {war}. No hurt.", npc, creature) npcHandler:setTopic(playerId, 10) - end - elseif MsgContains(message, "peace") and npcHandler:getTopic(playerId) == 10 and player:getStorageValue(TheNewFrontier.Questline) == 8 then - npcHandler:say("Me people wanting peace. No war with others. No war with little men.", npc, creature) - player:setStorageValue(TheNewFrontier.Questline, 9) - player:setStorageValue(TheNewFrontier.Mission03, 2) --Questlog, The New Frontier Quest "Mission 03: Strangers in the Night" - npcHandler:setTopic(playerId, 0) - elseif MsgContains(message, "help") then - npcHandler:say("You mean you want help us?", npc, creature) - npcHandler:setTopic(playerId, 11) - elseif MsgContains(message, "mission") and npcHandler:getTopic(playerId) == 12 and player:getStorageValue(Storage.UnnaturalSelection.Questline) < 1 and player:getStorageValue(TheNewFrontier.Mission03) == 3 then - npcHandler:say({ - "Big problem we have! Skull of first leader gone. He ancestor of whole tribe but died long ago in war. We have keep his skull on our sacred place. ...", - "Then one night, green men came with wolves... and one of wolves took skull and ran off chewing on it! We need back - many wisdom and power is in skull. Maybe they took to north fortress. But can be hard getting in. You try get our holy skull back?", - }, npc, creature) - npcHandler:setTopic(playerId, 1) - elseif MsgContains(message, "mission") and player:getStorageValue(Storage.UnnaturalSelection.Questline) >= 1 then - if player:getStorageValue(Storage.UnnaturalSelection.Questline) == 1 then + elseif npcHandler:getTopic(playerId) == 12 then + if player:getStorageValue(TheNewFrontier.Mission03) == 3 and player:getStorageValue(UnnaturalSelection.Questline) < 0 then + npcHandler:say({ + "Big problem we have! Skull of first leader gone. He ancestor of whole tribe but died long ago in war. We have keep his skull on our sacred place. ...", + "Then one night, green men came with wolves... and one of wolves took skull and ran off chewing on it! We need back - many wisdom and power is in skull. Maybe they took to north fortress. But can be hard getting in. You try get our holy skull back?", + }, npc, creature) + npcHandler:setTopic(playerId, 1) + end + elseif player:getStorageValue(UnnaturalSelection.Questline) == 1 then npcHandler:say("Oh! You found holy skull? In bone pile you found?! Thank Pandor you brought! Me can have it back?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 2 then + elseif player:getStorageValue(UnnaturalSelection.Questline) == 2 then npcHandler:say({ "You brought back skull of first leader. Hero of tribe! But we more missions to do. ...", "Me and Ulala talk about land outside. We wanting to see more of land! Land over big water! But us no can leave tribe. No can cross water. Only way is skull of first leader. ...", "What holy skull sees, tribe sees. That we believe. Can you bring holy skull over big water and show places?", }, npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 3 then + elseif player:getStorageValue(UnnaturalSelection.Questline) == 3 then npcHandler:say("You say you was to where sun is hot and burning? And where trees grow as high as mountain? And where Fasuon cries white tears? Me can't wait to see!! Can have holy skull back?", npc, creature) npcHandler:setTopic(playerId, 4) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 4 then + elseif player:getStorageValue(UnnaturalSelection.Questline) == 4 then npcHandler:say("We been weak for too long! We prepare for great hunt. But still need many doings! You can help us?", npc, creature) npcHandler:setTopic(playerId, 5) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 13 then + elseif player:getStorageValue(UnnaturalSelection.Questline) == 13 then npcHandler:say({ "You well did! Great hunt is under best signs now. We prepare weapons and paint faces and then go! ...", "No no, you no need to help us. But can prepare afterparty! Little men sent us stuff some time ago. Was strange water in there. Brown and stinky! But when we tried all tribe became veeeeeeery happy. ...", "Now brown water is gone and we sad! Can you bring POT of brown water for party after great hunt? Just bring to me and me trade for shiny treasure.", }, npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 14) - player:setStorageValue(Storage.UnnaturalSelection.Mission06, 2) --Questlog, Unnatural Selection Quest "Mission 6: Firewater Burn" + player:setStorageValue(UnnaturalSelection.Questline, 14) + player:setStorageValue(UnnaturalSelection.Mission06, 2) -- Questlog, Unnatural Selection Quest "Mission 6: Firewater Burn" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 14 then + elseif player:getStorageValue(UnnaturalSelection.Questline) == 14 then npcHandler:say("You bring us big pot of strange water from little men?", npc, creature) npcHandler:setTopic(playerId, 6) end + elseif MsgContains(message, "peace") then + if npcHandler:getTopic(playerId) == 10 and player:getStorageValue(TheNewFrontier.Questline) == 8 then + npcHandler:say("Me people wanting peace. No war with others. No war with little men.", npc, creature) + player:setStorageValue(TheNewFrontier.Questline, 9) + player:setStorageValue(TheNewFrontier.Mission03, 2) -- Questlog, The New Frontier Quest "Mission 03: Strangers in the Night" + npcHandler:setTopic(playerId, 0) + end + elseif MsgContains(message, "help") then + npcHandler:say("You mean you want help us?", npc, creature) + npcHandler:setTopic(playerId, 11) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("You hero of our tribe if bring back holy skull!", npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 1) - player:setStorageValue(Storage.UnnaturalSelection.Mission01, 1) --Questlog, Unnatural Selection Quest "Mission 1: Skulled" + player:setStorageValue(UnnaturalSelection.Questline, 1) + player:setStorageValue(UnnaturalSelection.Mission01, 1) -- Questlog, Unnatural Selection Quest "Mission 1: Skulled" npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then if player:removeItem(10159, 1) then npcHandler:say("Me thank you much! All wisdom safe again now.", npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 2) - player:setStorageValue(Storage.UnnaturalSelection.Mission01, 3) --Questlog, Unnatural Selection Quest "Mission 1: Skulled" + player:setStorageValue(UnnaturalSelection.Questline, 2) + player:setStorageValue(UnnaturalSelection.Mission01, 3) -- Questlog, Unnatural Selection Quest "Mission 1: Skulled" npcHandler:setTopic(playerId, 0) else npcHandler:say("You do not have it!", npc, creature) @@ -126,15 +130,15 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 3 then npcHandler:say("Here take holy skull. You bring where you think is good. See as much as possible! See where other people live!", npc, creature) player:addItem(10159, 1) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 3) - player:setStorageValue(Storage.UnnaturalSelection.Mission02, 1) --Questlog, Unnatural Selection Quest "Mission 2: All Around the World" + player:setStorageValue(UnnaturalSelection.Questline, 3) + player:setStorageValue(UnnaturalSelection.Mission02, 1) -- Questlog, Unnatural Selection Quest "Mission 2: All Around the World" npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 4 then - if player:getStorageValue(Storage.UnnaturalSelection.Mission02) == 12 and player:getItemCount(10159) >= 1 then + if player:getStorageValue(UnnaturalSelection.Mission02) == 12 and player:getItemCount(10159) >= 1 then npcHandler:say("We make big ritual soon and learn much about world outside. Me thank you many times for teaching us world. Very wise and adventurous you are!", npc, creature) player:removeItem(10159, 1) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 4) - player:setStorageValue(Storage.UnnaturalSelection.Mission02, 13) --Questlog, Unnatural Selection Quest "Mission 2: All Around the World" + player:setStorageValue(UnnaturalSelection.Questline, 4) + player:setStorageValue(UnnaturalSelection.Mission02, 13) -- Questlog, Unnatural Selection Quest "Mission 2: All Around the World" npcHandler:setTopic(playerId, 0) else npcHandler:say("The skull have not seen all yet!", npc, creature) @@ -142,15 +146,15 @@ local function creatureSayCallback(npc, creature, type, message) end elseif npcHandler:getTopic(playerId) == 5 then npcHandler:say("We need to calm and make happy gods. Best go to Ulala. She is priest of us and can tell what needs doing.", npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 5) - player:setStorageValue(Storage.UnnaturalSelection.Mission03, 1) --Questlog, Unnatural Selection Quest "Mission 3: Dance Dance Evolution" + player:setStorageValue(UnnaturalSelection.Questline, 5) + player:setStorageValue(UnnaturalSelection.Mission03, 1) -- Questlog, Unnatural Selection Quest "Mission 3: Dance Dance Evolution" npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 6 then if player:removeItem(3465, 1, 3) then npcHandler:say("We make big ritual soon and learn much about world outside. Me thank you many times for teaching us world. Very wise and adventurous you are!", npc, creature) player:addItem(10198, 1) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 15) - player:setStorageValue(Storage.UnnaturalSelection.Mission06, 3) --Questlog, Unnatural Selection Quest "Mission 6: Firewater Burn" + player:setStorageValue(UnnaturalSelection.Questline, 15) + player:setStorageValue(UnnaturalSelection.Mission06, 3) -- Questlog, Unnatural Selection Quest "Mission 6: Firewater Burn" npcHandler:setTopic(playerId, 0) else npcHandler:say("You do not have the brown strange water!", npc, creature) @@ -165,10 +169,11 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "little men") then npcHandler:say("We come and see little men. They like us, only very little. They having good weapon and armor, like the greens.", npc, creature) end + return true end -npcHandler:setMessage(MESSAGE_GREET, "Me greet.") +npcHandler:setMessage(MESSAGE_GREET, "Me greet. You no enemy of tribe.") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/ongulf.lua b/data-otservbr-global/npc/ongulf.lua index 70fbebe2eed..62e754e5cac 100644 --- a/data-otservbr-global/npc/ongulf.lua +++ b/data-otservbr-global/npc/ongulf.lua @@ -139,7 +139,10 @@ local function creatureSayCallback(npc, creature, type, message) player:setStorageValue(TheNewFrontier.Mission03, 1) -- Questlog, The New Frontier Quest "Mission 03: Strangers in the Night" npcHandler:setTopic(playerId, 0) elseif player:getStorageValue(TheNewFrontier.Questline) == 9 then - npcHandler:say({ "Primitive humans you say? These are most startling news, that's for sure. Well, I guess I'll send some victuals we can spare as a sign of our good will. ...", "However, our miners encountered another problem in the meantime. I'm afraid this will be your next {mission}" }, npc, creature) + npcHandler:say({ + "Primitive humans you say? These are most startling news, that's for sure. Well, I guess I'll send some victuals we can spare as a sign of our good will. ...", + "However, our miners encountered another problem in the meantime. I'm afraid this will be your next {mission}" + }, npc, creature) player:setStorageValue(TheNewFrontier.Questline, 10) player:setStorageValue(TheNewFrontier.Mission03, 3) -- Questlog, The New Frontier Quest "Mission 03: Strangers in the Night" npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/ulala.lua b/data-otservbr-global/npc/ulala.lua index 46582cfc734..d5d1063bc4c 100644 --- a/data-otservbr-global/npc/ulala.lua +++ b/data-otservbr-global/npc/ulala.lua @@ -58,60 +58,60 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.UnnaturalSelection.Questline) == 5 then + if player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline) == 5 then npcHandler:say({ "The great hunt! About to begin, but gods are not in favour of us yet. We need all help we get. We please Krunus with special nature dance. ...", "You seen Krunus altar south in camp, on mountain top? This is where dance is. If you do right steps Krunus will give you sign. If wrong, he not pleased. ...", "Do Krunus dance for us! Step and dance and turn around! You will know when you do good. Make {Krunus} happy and support our great hunt!", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 6 then + elseif player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline) == 6 then npcHandler:say("Come back if you finished the dance.", npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 7 then + elseif player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline) == 7 then npcHandler:say({ "You born dancer! Krunus is pleased and support the great hunt. But he easy to please! Pandor much harder. We weak, so he sad about us. ...", "Maybe we can please with sacrifice of body parts of our enemies. But you need help us get it! We much too weak. ...", "If you bring us 5 teeth of green men, 5 skin of horned ones and 5 skin of snakemen that already be good. Please help tribe make Pandor happy!", }, npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 8) - player:setStorageValue(Storage.UnnaturalSelection.Mission04, 1) --Questlog, Unnatural Selection Quest "Mission 4: Bits and Pieces" + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline, 8) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission04, 1) --Questlog, Unnatural Selection Quest "Mission 4: Bits and Pieces" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 8 then + elseif player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline) == 8 then npcHandler:say("Please help tribe make Pandor happy! Did you bring us what I asked?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 9 then + elseif player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline) == 9 then npcHandler:say({ "We need make sure Fasuon is on our side. There is laaaaaaaarge crystal on top of mountain. Don't know where come from, was there before us. Problem is - way is infested with creatures! ...", "Creatures from the other side of mountain. Bony! Scary! We too weak to go through there, can just run and hope to survive.. but you do better! ...", "Please find great crystal of Fasuon and pray there for his support!", }, npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 10) - player:setStorageValue(Storage.UnnaturalSelection.Mission05, 1) --Questlog, Unnatural Selection Quest "Mission 5: Ray of Light" + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline, 10) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission05, 1) --Questlog, Unnatural Selection Quest "Mission 5: Ray of Light" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 10 then + elseif player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline) == 10 then npcHandler:say("Please find great crystal of Fasuon and pray there for his support!", npc, creature) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 11 then + elseif player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline) == 11 then npcHandler:say("You prayed to Fasuon! Me saw ray of lights on mountain top! Beautiful it was. Me thank you for your help. Great hunt almost can't go wrong now!", npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 12) - player:setStorageValue(Storage.UnnaturalSelection.Mission05, 3) --Questlog, Unnatural Selection Quest "Mission 5: Ray of Light" + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline, 12) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission05, 3) --Questlog, Unnatural Selection Quest "Mission 5: Ray of Light" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.UnnaturalSelection.Questline) == 12 then + elseif player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline) == 12 then npcHandler:say({ "Uzroth very easy to anger. You been great help so far but me think that need to pray to Uzroth meself. Only me understand what he wants at time and he is veeeeeery moody. Cannot risk to make angry! ...", "So me will do when you gone. But me thank you very much. Go speak Lazaran and tell the gods are pleased now.", }, npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 13) - player:setStorageValue(Storage.UnnaturalSelection.Mission06, 1) --Questlog, Unnatural Selection Quest "Mission 6: Firewater Burn" + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline, 13) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission06, 1) --Questlog, Unnatural Selection Quest "Mission 6: Firewater Burn" npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "krunus") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("Krunus is God for plants and birth. He hidden in all that grows.", npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 6) - player:setStorageValue(Storage.UnnaturalSelection.Mission03, 2) --Questlog, Unnatural Selection Quest "Mission 3: Dance Dance Evolution" - player:setStorageValue(Storage.UnnaturalSelection.DanceStatus, 1) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline, 6) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission03, 2) --Questlog, Unnatural Selection Quest "Mission 3: Dance Dance Evolution" + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.DanceStatus, 1) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "yes") then @@ -121,8 +121,8 @@ local function creatureSayCallback(npc, creature, type, message) player:removeItem(5878, 5) player:removeItem(5876, 5) npcHandler:say("Me thank you! Me will bring sacrifice for Pandor. He surely be pleased with our work. Well your work, but me won't tell him. Teehee.", npc, creature) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 9) - player:setStorageValue(Storage.UnnaturalSelection.Mission04, 2) --Questlog, Unnatural Selection Quest "Mission 4: Bits and Pieces" + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline, 9) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission04, 2) --Questlog, Unnatural Selection Quest "Mission 4: Bits and Pieces" npcHandler:setTopic(playerId, 0) else npcHandler:say("You do not have these things!", npc, creature) @@ -132,6 +132,9 @@ local function creatureSayCallback(npc, creature, type, message) end return true end + +npcHandler:setMessage(MESSAGE_GREET, "Spirits welcome you.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua index 58ada830acd..1fc69647305 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system2.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system2.lua @@ -126,7 +126,7 @@ local config = { items = { { itemId = 10159 }, }, - storage = Storage.UnnaturalSelection.Mission01, + storage = Storage.Quest.U8_54.UnnaturalSelection.Mission01, formerValue = 1, newValue = 2, say = "You dig out a skull from the pile of bones. That must be the skull Lazaran talked about.", diff --git a/data-otservbr-global/scripts/actions/quests/unnatural_selection/mission5_ray_of_light.lua b/data-otservbr-global/scripts/quests/unnatural_selection/actions_mission5_ray_of_light.lua similarity index 54% rename from data-otservbr-global/scripts/actions/quests/unnatural_selection/mission5_ray_of_light.lua rename to data-otservbr-global/scripts/quests/unnatural_selection/actions_mission5_ray_of_light.lua index 680e8473e5b..df34bd30b2a 100644 --- a/data-otservbr-global/scripts/actions/quests/unnatural_selection/mission5_ray_of_light.lua +++ b/data-otservbr-global/scripts/quests/unnatural_selection/actions_mission5_ray_of_light.lua @@ -1,8 +1,8 @@ local unnatural = Action() function unnatural.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.UnnaturalSelection.Mission05) == 1 then - player:setStorageValue(Storage.UnnaturalSelection.Questline, 11) - player:setStorageValue(Storage.UnnaturalSelection.Mission05, 2) --Questlog, Unnatural Selection Quest "Mission 5: Ray of Light" + if player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission05) == 1 then + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline, 11) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission05, 2) --Questlog, Unnatural Selection Quest "Mission 5: Ray of Light" player:say("A ray of sunlight comes down from the heaven and hits the crystal. Wow. That probably means Fasuon is supporting.", TALKTYPE_MONSTER_SAY) toPosition:sendMagicEffect(CONST_ME_HOLYAREA) end diff --git a/data-otservbr-global/scripts/movements/quests/unnatural_selection/mission2_all_around_the_world.lua b/data-otservbr-global/scripts/quests/unnatural_selection/movements_mission2_all_around_the_world.lua similarity index 92% rename from data-otservbr-global/scripts/movements/quests/unnatural_selection/mission2_all_around_the_world.lua rename to data-otservbr-global/scripts/quests/unnatural_selection/movements_mission2_all_around_the_world.lua index 11a5cc6e653..194fe3c9250 100644 --- a/data-otservbr-global/scripts/movements/quests/unnatural_selection/mission2_all_around_the_world.lua +++ b/data-otservbr-global/scripts/quests/unnatural_selection/movements_mission2_all_around_the_world.lua @@ -76,13 +76,13 @@ function mission2AllAroundTheWorld.onStepIn(creature, item, position, fromPositi return true end - local targetValue = config[player:getStorageValue(Storage.UnnaturalSelection.Mission02)] + local targetValue = config[player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission02)] if not targetValue then return true end if table.contains(targetValue.position, player:getPosition()) and player:getItemCount(10159) >= 1 then --Questlog, Unnatural Selection Quest "Mission 2: All Around the World" - player:setStorageValue(Storage.UnnaturalSelection.Mission02, player:getStorageValue(Storage.UnnaturalSelection.Mission02) + 1) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission02, player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission02) + 1) player:say(targetValue.text, TALKTYPE_MONSTER_SAY) end return true diff --git a/data-otservbr-global/scripts/movements/quests/unnatural_selection/mission3_dance_dance_evolution.lua b/data-otservbr-global/scripts/quests/unnatural_selection/movements_mission3_dance_dance_evolution.lua similarity index 67% rename from data-otservbr-global/scripts/movements/quests/unnatural_selection/mission3_dance_dance_evolution.lua rename to data-otservbr-global/scripts/quests/unnatural_selection/movements_mission3_dance_dance_evolution.lua index 41208f873f6..ace12727ff1 100644 --- a/data-otservbr-global/scripts/movements/quests/unnatural_selection/mission3_dance_dance_evolution.lua +++ b/data-otservbr-global/scripts/quests/unnatural_selection/movements_mission3_dance_dance_evolution.lua @@ -17,8 +17,6 @@ local config = { [16] = Position(32991, 31496, 1), } --- Missing: CONST_ME_CARNIPHILA effects when dancing (pattern unknown) - local mission3DanceDanceEvolution = MoveEvent() function mission3DanceDanceEvolution.onStepIn(creature, item, position, fromPosition) @@ -27,35 +25,37 @@ function mission3DanceDanceEvolution.onStepIn(creature, item, position, fromPosi return true end - local dancePosition = config[player:getStorageValue(Storage.UnnaturalSelection.DanceStatus)] + local dancePosition = config[player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.DanceStatus)] if not dancePosition then return true end if position ~= dancePosition then - player:setStorageValue(Storage.UnnaturalSelection.DanceStatus, 1) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.DanceStatus, 1) player:say("You did it wrong. now you have to start again.", TALKTYPE_MONSTER_SAY) config[1]:sendMagicEffect(CONST_ME_SMALLPLANTS) + config[1]:sendMagicEffect(CONST_ME_CARNIPHILA) -- Adicionando o efeito CARNIPHILA aqui return true end - local danceStatus = player:getStorageValue(Storage.UnnaturalSelection.DanceStatus) + local danceStatus = player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.DanceStatus) if danceStatus == 1 then player:say("Dance for the mighty Krunus!", TALKTYPE_MONSTER_SAY) end --Questlog, Unnatural Selection Quest "Mission 2: All Around the World" - player:setStorageValue(Storage.UnnaturalSelection.DanceStatus, danceStatus + 1) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.DanceStatus, danceStatus + 1) - local nextpos = config[player:getStorageValue(Storage.UnnaturalSelection.DanceStatus)] + local nextpos = config[player:getStorageValue(Storage.Quest.U8_54.UnnaturalSelection.DanceStatus)] if nextpos then nextpos:sendMagicEffect(CONST_ME_SMALLPLANTS) + nextpos:sendMagicEffect(CONST_ME_CARNIPHILA) end if danceStatus + 1 > #config then --Questlog, Unnatural Selection Quest "Mission 3: Dance Dance Evolution" - player:setStorageValue(Storage.UnnaturalSelection.Mission03, 3) - player:setStorageValue(Storage.UnnaturalSelection.Questline, 7) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Mission03, 3) + player:setStorageValue(Storage.Quest.U8_54.UnnaturalSelection.Questline, 7) player:say("Krunus should be pleased.", TALKTYPE_MONSTER_SAY) player:addAchievement("Talented Dancer") end diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index fa6117b16e5..85317456cc8 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -284,7 +284,7 @@ QuestDoorAction = { itemPos = { { x = 33076, y = 31176, z = 8 } }, }, -- Unnatural selection door - [Storage.UnnaturalSelection.Mission01] = { + [Storage.Quest.U8_54.UnnaturalSelection.Mission01] = { itemId = false, itemPos = { { x = 33046, y = 31302, z = 7 } }, }, @@ -476,7 +476,7 @@ QuestDoorAction = { itemPos = { { x = 33330, y = 31411, z = 8 } }, }, -- Unnatural selection door - [Storage.UnnaturalSelection.Mission05] = { + [Storage.Quest.U8_54.UnnaturalSelection.Mission05] = { itemId = false, itemPos = { { x = 32982, y = 31439, z = 3 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index f16614d1219..4e52b3bf784 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -351,6 +351,21 @@ ItemAction = { { x = 33187, y = 31205, z = 7 }, }, }, + -- Unnatural Selection Quest + [12333] = { + itemId = 10195, + itemPos = { + {x = 32990, y = 31496, z = 1}, + {x = 32990, y = 31497, z = 1}, + {x = 32990, y = 31498, z = 1}, + {x = 32991, y = 31496, z = 1}, + {x = 32991, y = 31497, z = 1}, + {x = 32991, y = 31498, z = 1}, + {x = 32992, y = 31496, z = 1}, + {x = 32992, y = 31497, z = 1}, + {x = 32992, y = 31498, z = 1}, + }, + }, -- The Thieves Guild Quest [12501] = { itemId = 7890, From ed7e5b2ae5581c05b4dba84af80086e3f8e85ec7 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 8 Aug 2024 18:20:02 +0000 Subject: [PATCH 092/112] Lua code format - (Stylua) --- data-otservbr-global/npc/ongulf.lua | 2 +- data-otservbr-global/startup/tables/item.lua | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/data-otservbr-global/npc/ongulf.lua b/data-otservbr-global/npc/ongulf.lua index 62e754e5cac..aff4fe2df5e 100644 --- a/data-otservbr-global/npc/ongulf.lua +++ b/data-otservbr-global/npc/ongulf.lua @@ -141,7 +141,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif player:getStorageValue(TheNewFrontier.Questline) == 9 then npcHandler:say({ "Primitive humans you say? These are most startling news, that's for sure. Well, I guess I'll send some victuals we can spare as a sign of our good will. ...", - "However, our miners encountered another problem in the meantime. I'm afraid this will be your next {mission}" + "However, our miners encountered another problem in the meantime. I'm afraid this will be your next {mission}", }, npc, creature) player:setStorageValue(TheNewFrontier.Questline, 10) player:setStorageValue(TheNewFrontier.Mission03, 3) -- Questlog, The New Frontier Quest "Mission 03: Strangers in the Night" diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 4e52b3bf784..e4da2255a87 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -355,15 +355,15 @@ ItemAction = { [12333] = { itemId = 10195, itemPos = { - {x = 32990, y = 31496, z = 1}, - {x = 32990, y = 31497, z = 1}, - {x = 32990, y = 31498, z = 1}, - {x = 32991, y = 31496, z = 1}, - {x = 32991, y = 31497, z = 1}, - {x = 32991, y = 31498, z = 1}, - {x = 32992, y = 31496, z = 1}, - {x = 32992, y = 31497, z = 1}, - {x = 32992, y = 31498, z = 1}, + { x = 32990, y = 31496, z = 1 }, + { x = 32990, y = 31497, z = 1 }, + { x = 32990, y = 31498, z = 1 }, + { x = 32991, y = 31496, z = 1 }, + { x = 32991, y = 31497, z = 1 }, + { x = 32991, y = 31498, z = 1 }, + { x = 32992, y = 31496, z = 1 }, + { x = 32992, y = 31497, z = 1 }, + { x = 32992, y = 31498, z = 1 }, }, }, -- The Thieves Guild Quest From cce9c507f15e95adc4da972f520a521dd767e246 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 8 Aug 2024 15:21:42 -0300 Subject: [PATCH 093/112] This is in the previous quests --- data-otservbr-global/lib/core/storages.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index bb287af27b0..4ab7801580c 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2302,7 +2302,6 @@ Storage = { Mission06 = 42787, DanceStatus = 42788, }, -- 42781 - 42830 - WarmasterOutfits = {}, -- 42831 - 42840 }, U8_6 = { -- update 8.6 - Reserved Storages 42951 - 43200 AFathersBurden = {}, From b3cf0019f04a0fa8e287ab3c44fc123eb4bbebc3 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Thu, 8 Aug 2024 15:55:41 -0300 Subject: [PATCH 094/112] An Interest In Botany Quest --- data-otservbr-global/lib/core/quests.lua | 2 +- data-otservbr-global/lib/core/storages.lua | 73 ++++++++++--------- data-otservbr-global/npc/rabaz.lua | 10 +-- .../scripts/actions/tools/skinning.lua | 8 +- data-otservbr-global/startup/tables/chest.lua | 8 ++ .../startup/tables/door_quest.lua | 2 +- 6 files changed, 57 insertions(+), 46 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 1da85f1b644..8b2bfd73c4f 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -4522,7 +4522,7 @@ if not Quests then }, [5] = { name = "An Interest In Botany", - storageId = Storage.TibiaTales.AnInterestInBotany, + storageId = Storage.TibiaTales.AnInterestInBotany.Questline, missionId = 10321, startValue = 1, endValue = 4, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 4ab7801580c..01f1801772b 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -791,46 +791,49 @@ Storage = { DefaultStart = 51480, UltimateBoozeQuest = 51481, AgainstTheSpiderCult = 51482, - AnInterestInBotany = 51483, - AnInterestInBotanyChestDoor = 51484, - AritosTask = 51485, - ToAppeaseTheMightyQuest = 51486, - IntoTheBonePit = 51487, - TheExterminator = 51488, - AritosTaskDoor = 51489, + AnInterestInBotany = { + Questline = 51483, + ChestDoor = 51484, + BotanyAlmanach = 51485, + }, + AritosTask = 51486, + ToAppeaseTheMightyQuest = 51487, + IntoTheBonePit = 51488, + TheExterminator = 51489, + AritosTaskDoor = 51490, RestInHallowedGround = { - Questline = 51495, - HolyWater = 51496, + Questline = 51491, + HolyWater = 51492, Graves = { - Grave1 = 51501, - Grave2 = 51502, - Grave3 = 51503, - Grave4 = 51504, - Grave5 = 51505, - Grave6 = 51506, - Grave7 = 51507, - Grave8 = 51508, - Grave9 = 51509, - Grave10 = 51510, - Grave11 = 51511, - Grave12 = 51512, - Grave13 = 51513, - Grave14 = 51514, - Grave15 = 51515, - Grave16 = 51516, + Grave1 = 51493, + Grave2 = 51494, + Grave3 = 51495, + Grave4 = 51496, + Grave5 = 51497, + Grave6 = 51498, + Grave7 = 51499, + Grave8 = 51500, + Grave9 = 51501, + Grave10 = 51502, + Grave11 = 51503, + Grave12 = 51504, + Grave13 = 51505, + Grave14 = 51506, + Grave15 = 51507, + Grave16 = 51508, }, }, JackFutureQuest = { - QuestLine = 51520, - Furniture01 = 51521, - Furniture02 = 51522, - Furniture03 = 51523, - Furniture04 = 51524, - Furniture05 = 51525, - Mother = 51526, - Sister = 51527, - Statue = 51528, - LastMissionState = 51529, + QuestLine = 51509, + Furniture01 = 51510, + Furniture02 = 51511, + Furniture03 = 51512, + Furniture04 = 51513, + Furniture05 = 51514, + Mother = 51515, + Sister = 51516, + Statue = 51517, + LastMissionState = 51518, }, TheCursedCrystal = { Oneeyedjoe = 51530, diff --git a/data-otservbr-global/npc/rabaz.lua b/data-otservbr-global/npc/rabaz.lua index e532e7def66..79786f59cc4 100644 --- a/data-otservbr-global/npc/rabaz.lua +++ b/data-otservbr-global/npc/rabaz.lua @@ -147,7 +147,7 @@ local function creatureSayCallback(npc, creature, type, message) local categoryTable = itemsTable[message:lower()] if MsgContains(message, "mission") then - if player:getStorageValue(Storage.TibiaTales.AnInterestInBotany) < 1 then + if player:getStorageValue(Storage.TibiaTales.AnInterestInBotany.Questline) < 1 then npcHandler:setTopic(playerId, 1) npcHandler:say({ "Why yes, there is indeed some minor issue I could need your help with. I was always a friend of nature and it was not recently I discovered the joys of plants, growths, of all the flora around us. ...", @@ -160,15 +160,15 @@ local function creatureSayCallback(npc, creature, type, message) "Once you find what I need, best use a knife to carefully cut and gather a leaf or a scrap of their integument and press it directly under their appropriate entry into my botanical almanach. ...", "Simply return to me after you have done that and we will discuss your reward. What do you say, are you in?", }, npc, creature) - elseif player:getStorageValue(Storage.TibiaTales.AnInterestInBotany) == 3 then + elseif player:getStorageValue(Storage.TibiaTales.AnInterestInBotany.Questline) == 3 then npcHandler:setTopic(playerId, 2) npcHandler:say("Well fantastic work, you gathered both samples! Now I can continue my work on the almanach, thank you very much for your help indeed. Can I take a look at my book please?", npc, creature) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then player:setStorageValue(Storage.TibiaTales.DefaultStart, 1) - player:setStorageValue(Storage.TibiaTales.AnInterestInBotany, 1) - player:setStorageValue(Storage.TibiaTales.AnInterestInBotanyChestDoor, 0) + player:setStorageValue(Storage.TibiaTales.AnInterestInBotany.Questline, 1) + player:setStorageValue(Storage.TibiaTales.AnInterestInBotany.ChestDoor, 0) npcHandler:say("Yes? Yes! That's the enthusiasm I need! Remember to bring a sharp knife to gather the samples, plants - even mutated deformed plants - are very sensitive you know. Off you go and be careful out there, Zao is no place for the feint hearted mind you.", npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 2 then @@ -176,7 +176,7 @@ local function creatureSayCallback(npc, creature, type, message) player:addItem(11700, 1) player:addItem(3035, 10) player:addExperience(3000, true) - player:setStorageValue(Storage.TibiaTales.AnInterestInBotany, 4) + player:setStorageValue(Storage.TibiaTales.AnInterestInBotany.Questline, 4) npcHandler:say({ "Ah, thank you. Now look at that texture and fine colour, simply marvellous. ...", "I hope the sun in the steppe did not exhaust you too much? Shellshock. A dangerous foe in the world of field science and exploration. ...", diff --git a/data-otservbr-global/scripts/actions/tools/skinning.lua b/data-otservbr-global/scripts/actions/tools/skinning.lua index f6785f91378..3a029b52d11 100644 --- a/data-otservbr-global/scripts/actions/tools/skinning.lua +++ b/data-otservbr-global/scripts/actions/tools/skinning.lua @@ -150,13 +150,13 @@ function skinning.onUse(player, item, fromPosition, target, toPosition, isHotkey player:say("You carve a solid bowl of the chunk of wood.", TALKTYPE_MONSTER_SAY) return true -- An Interest In Botany Quest - elseif target.itemid == 10735 and player:getItemCount(11699) > 0 and player:getStorageValue(Storage.TibiaTales.AnInterestInBotany) == 1 then + elseif target.itemid == 10735 and player:getItemCount(11699) > 0 and player:getStorageValue(Storage.TibiaTales.AnInterestInBotany.Questline) == 1 then player:say("The plant feels cold but dry and very soft. You streak the plant gently with your knife and put a fragment in the almanach.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.TibiaTales.AnInterestInBotany, 2) + player:setStorageValue(Storage.TibiaTales.AnInterestInBotany.Questline, 2) return true - elseif target.itemid == 10697 and player:getItemCount(11699) > 0 and player:getStorageValue(Storage.TibiaTales.AnInterestInBotany) == 2 then + elseif target.itemid == 10697 and player:getItemCount(11699) > 0 and player:getStorageValue(Storage.TibiaTales.AnInterestInBotany.Questline) == 2 then player:say("You cut a leaf from a branch and put it in the almanach. It smells strangely sweet and awfully bitter at the same time.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.TibiaTales.AnInterestInBotany, 3) + player:setStorageValue(Storage.TibiaTales.AnInterestInBotany.Questline, 3) return true elseif target.itemid == 8181 and player:getStorageValue(789100) <= 1 then player:say("You got Neutral matter.", TALKTYPE_MONSTER_SAY) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index b872e1d40d1..73669a74286 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2517,6 +2517,14 @@ ChestUnique = { weight = 15.00, storage = Storage.Quest.U8_54.TomesOfKnowledge.ChestTomeOfKnowledge4, }, + -- An Interest In Botany Quest + [6296] = { + itemId = 2469, + itemPos = { x = 33004, y = 31530, z = 10 }, + reward = { { 11699, 1 } }, + weight = 15.00, + storage = Storage.TibiaTales.AnInterestInBotany.BotanyAlmanach, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 85317456cc8..939b2809df1 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -592,7 +592,7 @@ QuestDoorAction = { itemId = false, itemPos = { { x = 32608, y = 31516, z = 14 } }, }, - [Storage.TibiaTales.AnInterestInBotanyChestDoor] = { + [Storage.TibiaTales.AnInterestInBotany.ChestDoor] = { itemId = false, itemPos = { { x = 33007, y = 31536, z = 10 } }, }, From 6232e783c36eb11d0e1b6d4de60ceb65b4aa3b83 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Fri, 9 Aug 2024 16:56:05 -0300 Subject: [PATCH 095/112] Wrath of the Emperor Quest This quest was one of the most complex. --- data-otservbr-global/lib/core/quests.lua | 32 +++---- data-otservbr-global/lib/core/storages.lua | 80 ++++++++-------- .../npc/a_sleeping_dragon.lua | 67 ++++++------- .../npc/awarness_of_the_emperor.lua | 21 ++--- data-otservbr-global/npc/chartan.lua | 22 +++-- data-otservbr-global/npc/gate_guardian.lua | 8 +- .../npc/ghost_of_a_priest.lua | 14 +-- data-otservbr-global/npc/izsh.lua | 5 +- .../npc/lizard_tunnel_guard.lua | 4 +- data-otservbr-global/npc/zalamon.lua | 42 ++++----- data-otservbr-global/npc/zizzle.lua | 30 +++--- data-otservbr-global/npc/zlak.lua | 22 ++--- data-otservbr-global/npc/zumtah.lua | 10 +- .../actions/other/others/quest_system1.lua | 2 +- .../creaturescripts/customs/freequests.lua | 38 ++++---- .../actions_zalamon_door.lua | 2 +- .../actions_mission01_crate.lua} | 2 +- .../actions_mission01_lights.lua} | 0 ...ission02_firstcontact_repair_teleport.lua} | 6 +- .../actions_mission03_the_keeper.lua} | 16 ++-- ...sion04_sacrament_of_the_snake_sceptre.lua} | 6 +- .../actions_mission08_doors.lua} | 0 ...ions_mission08_uninvited_guests_lever.lua} | 0 ...mission09_the_sleeping_dragon_mixture.lua} | 4 +- ...ission10_a_message_of_freedom_sceptre.lua} | 30 +++--- .../actions_mission11_payback_time_lever.lua} | 6 +- .../actions_mission12_just_rewards.lua} | 9 +- .../creaturescripts_bosses_kill.lua} | 2 +- .../creaturescripts_keeper_kill.lua} | 2 +- ...eaturescripts_lizard_magistratus_kill.lua} | 6 +- .../creaturescripts_lizard_noble_kill.lua} | 4 +- .../creaturescripts_zalamon_kill.lua} | 2 +- .../globalevents_crate.lua | 41 ++++++++ .../movements_boss_teleport.lua} | 11 ++- .../wrath_of_the_emperor/movements_crate.lua} | 7 +- .../movements_keeper.lua} | 0 .../movements_prison.lua} | 8 +- .../movements_teleports_access.lua} | 14 +-- data-otservbr-global/startup/tables/chest.lua | 30 ++++++ .../startup/tables/door_quest.lua | 12 +-- data-otservbr-global/startup/tables/item.lua | 93 +++++++++++++++++++ data-otservbr-global/startup/tables/lever.lua | 14 +++ data/scripts/lib/register_actions.lua | 4 +- 43 files changed, 453 insertions(+), 275 deletions(-) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission01_crate.lua => quests/wrath_of_the_emperor/actions_mission01_crate.lua} (87%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission01_lights.lua => quests/wrath_of_the_emperor/actions_mission01_lights.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission02_firstcontact_repair_teleport.lua => quests/wrath_of_the_emperor/actions_mission02_firstcontact_repair_teleport.lua} (87%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission03_the_keeper.lua => quests/wrath_of_the_emperor/actions_mission03_the_keeper.lua} (51%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission04_sacrament_of_the_snake_sceptre.lua => quests/wrath_of_the_emperor/actions_mission04_sacrament_of_the_snake_sceptre.lua} (67%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission08_doors.lua => quests/wrath_of_the_emperor/actions_mission08_doors.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission08_uninvited_guests_lever.lua => quests/wrath_of_the_emperor/actions_mission08_uninvited_guests_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission09_the_sleeping_dragon_mixture.lua => quests/wrath_of_the_emperor/actions_mission09_the_sleeping_dragon_mixture.lua} (63%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission10_a_message_of_freedom_sceptre.lua => quests/wrath_of_the_emperor/actions_mission10_a_message_of_freedom_sceptre.lua} (54%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission11_payback_time_lever.lua => quests/wrath_of_the_emperor/actions_mission11_payback_time_lever.lua} (85%) rename data-otservbr-global/scripts/{actions/quests/wrath_of_the_emperor/mission12_just_rewards.lua => quests/wrath_of_the_emperor/actions_mission12_just_rewards.lua} (62%) rename data-otservbr-global/scripts/{creaturescripts/quests/wrath_of_the_emperor/bosses_kill.lua => quests/wrath_of_the_emperor/creaturescripts_bosses_kill.lua} (93%) rename data-otservbr-global/scripts/{creaturescripts/quests/wrath_of_the_emperor/keeper_kill.lua => quests/wrath_of_the_emperor/creaturescripts_keeper_kill.lua} (63%) rename data-otservbr-global/scripts/{creaturescripts/quests/wrath_of_the_emperor/lizard_magistratus_kill.lua => quests/wrath_of_the_emperor/creaturescripts_lizard_magistratus_kill.lua} (56%) rename data-otservbr-global/scripts/{creaturescripts/quests/wrath_of_the_emperor/lizard_noble_kill.lua => quests/wrath_of_the_emperor/creaturescripts_lizard_noble_kill.lua} (62%) rename data-otservbr-global/scripts/{creaturescripts/quests/wrath_of_the_emperor/zalamon_kill.lua => quests/wrath_of_the_emperor/creaturescripts_zalamon_kill.lua} (93%) create mode 100644 data-otservbr-global/scripts/quests/wrath_of_the_emperor/globalevents_crate.lua rename data-otservbr-global/scripts/{movements/quests/wrath_of_the_emperor/boss_teleport.lua => quests/wrath_of_the_emperor/movements_boss_teleport.lua} (83%) rename data-otservbr-global/scripts/{movements/quests/wrath_of_the_emperor/crate.lua => quests/wrath_of_the_emperor/movements_crate.lua} (97%) rename data-otservbr-global/scripts/{movements/quests/wrath_of_the_emperor/keeper.lua => quests/wrath_of_the_emperor/movements_keeper.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/wrath_of_the_emperor/prison.lua => quests/wrath_of_the_emperor/movements_prison.lua} (60%) rename data-otservbr-global/scripts/{movements/quests/wrath_of_the_emperor/teleports_access.lua => quests/wrath_of_the_emperor/movements_teleports_access.lua} (68%) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 8b2bfd73c4f..d344c123821 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -4988,12 +4988,12 @@ if not Quests then }, [34] = { name = "Wrath of the Emperor", - startStorageId = Storage.WrathoftheEmperor.Questline, + startStorageId = Storage.Quest.U8_6.WrathOfTheEmperor.Questline, startStorageValue = 1, missions = { [1] = { name = "Mission 01: Catering the Lions Den", - storageId = Storage.WrathoftheEmperor.Mission01, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission01, missionId = 10348, startValue = 1, endValue = 3, @@ -5007,7 +5007,7 @@ if not Quests then }, [2] = { name = "Mission 02: First Contact", - storageId = Storage.WrathoftheEmperor.Mission02, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission02, missionId = 10349, startValue = 1, endValue = 3, @@ -5022,7 +5022,7 @@ if not Quests then }, [3] = { name = "Mission 03: The Keeper", - storageId = Storage.WrathoftheEmperor.Mission03, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission03, missionId = 10350, startValue = 1, endValue = 3, @@ -5035,7 +5035,7 @@ if not Quests then }, [4] = { name = "Mission 04: Sacrament of the Snake", - storageId = Storage.WrathoftheEmperor.Mission04, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission04, missionId = 10351, startValue = 1, endValue = 3, @@ -5051,7 +5051,7 @@ if not Quests then }, [5] = { name = "Mission 05: New in Town", - storageId = Storage.WrathoftheEmperor.Mission05, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission05, missionId = 10352, startValue = 1, endValue = 3, @@ -5063,27 +5063,27 @@ if not Quests then }, [6] = { name = "Mission 06: The Office Job", - storageId = Storage.WrathoftheEmperor.Mission06, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission06, missionId = 10353, startValue = 0, - endValue = 4, + endValue = 5, description = function(player) - return string.format("Kill four Magistrati in the office building. Then report back to Zlak. You have killed %d magistrati so far.", (math.max(player:getStorageValue(Storage.WrathoftheEmperor.Mission06), 0))) + return string.format("Kill four Magistrati in the office building. Then report back to Zlak. You have killed %d magistrati so far.", (math.max(player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission06), 1))) end, }, [7] = { name = "Mission 07: A Noble Cause", - storageId = Storage.WrathoftheEmperor.Mission07, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission07, missionId = 10354, startValue = 0, endValue = 6, description = function(player) - return string.format("Kill six nobles in the city and report back to Zlak. You have killed %d nobles so far.", (math.max(player:getStorageValue(Storage.WrathoftheEmperor.Mission07), 0))) + return string.format("Kill six nobles in the city and report back to Zlak. You have killed %d nobles so far.", (math.max(player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission07), 0))) end, }, [8] = { name = "Mission 08: Uninvited Guests", - storageId = Storage.WrathoftheEmperor.Mission08, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission08, missionId = 10355, startValue = 1, endValue = 2, @@ -5094,7 +5094,7 @@ if not Quests then }, [9] = { name = "Mission 09: The Sleeping Dragon", - storageId = Storage.WrathoftheEmperor.Mission09, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission09, missionId = 10356, startValue = 1, endValue = 2, @@ -5106,7 +5106,7 @@ if not Quests then }, [10] = { name = "Mission 10: A Message of Freedom", - storageId = Storage.WrathoftheEmperor.Mission10, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission10, missionId = 10357, startValue = 1, endValue = 6, @@ -5128,7 +5128,7 @@ if not Quests then }, [11] = { name = "Mission 11: Payback Time", - storageId = Storage.WrathoftheEmperor.Mission11, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission11, missionId = 10358, startValue = 1, endValue = 2, @@ -5140,7 +5140,7 @@ if not Quests then }, [12] = { name = "Mission 12: Just Rewards", - storageId = Storage.WrathoftheEmperor.Mission12, + storageId = Storage.Quest.U8_6.WrathOfTheEmperor.Mission12, missionId = 10359, startValue = 0, endValue = 1, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 01f1801772b..09d0b55a2e0 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -720,44 +720,6 @@ Storage = { DeeplingAnchor = 51023, RoyalCostumeOutfit = 51026, }, - WrathoftheEmperor = { - -- Reserved storage from 51300 - 51339 - Questline = 51300, - Mission01 = 51301, - Mission02 = 51302, - Mission03 = 51303, - Mission04 = 51304, - Mission05 = 51305, - Mission06 = 51306, - Mission07 = 51307, - Mission08 = 51308, - Mission09 = 51309, - Mission10 = 51310, - Mission11 = 51311, - Mission12 = 51312, - Message = 51313, --1068 - GuardcaughtYou = 51314, --1062 - ZumtahStatus = 51315, --1066 - PrisonReleaseStatus = 51316, --1067 - GhostOfAPriest01 = 51317, --1070 - GhostOfAPriest02 = 51318, --1071 - GhostOfAPriest03 = 51319, --1072 - InterdimensionalPotion = 51320, --1084 - BossStatus = 51321, --1090 - -- unused platinumReward = 51322, - -- unused backpackReward = 51323, - MainReward = 51324, - TeleportAccess = { - Rebel = 51325, - Zlak = 51326, - Zizzle = 51327, - SleepingDragon = 51328, - InnerSanctum = 51329, - AwarnessEmperor = 51330, - Wote10 = 51331, - BossRoom = 51332, - }, - }, Postman = { -- Reserved storage from 51360 - 51389 Mission01 = 51360, @@ -2308,10 +2270,48 @@ Storage = { }, U8_6 = { -- update 8.6 - Reserved Storages 42951 - 43200 AFathersBurden = {}, - AnInterestInBotany = {}, TheSpiritWillGetYou = {}, WayfarerOutfits = {}, - WrathOfTheEmperor = {}, + WrathOfTheEmperor = { + Questline = 43000, + Mission01 = 43001, + Mission02 = 43002, + Mission03 = 43003, + Mission04 = 43004, + Mission05 = 43005, + Mission06 = 43006, + Mission07 = 43007, + Mission08 = 43008, + Mission09 = 43009, + Mission10 = 43010, + Mission11 = 43011, + Mission12 = 43012, + Message = 43013, --1068 + GuardcaughtYou = 43014, --1062 + ZumtahStatus = 43015, --1066 + PrisonReleaseStatus = 43017, --1067 + GhostOfAPriest01 = 43018, --1070 + GhostOfAPriest02 = 43019, --1071 + GhostOfAPriest03 = 43020, --1072 + InterdimensionalPotion = 43021, --1084 + BossStatus = 43022, --1090 + -- unused platinumReward = 43023, + -- unused backpackReward = 43024, + MainReward = 43025, + TeleportAccess = { + Rebel = 43026, + Zlak = 43027, + Zizzle = 43028, + SleepingDragon = 43029, + InnerSanctum = 43030, + AwarnessEmperor = 43031, + Wote10 = 43032, + BossRoom = 43033, + }, + Chest100PlatinumCoins = 43034, + ChestBag = 43035, + ChestItems = 43036, + }, }, U8_61 = { -- update 8.61 - Reserved Storages 43201 - 43230 RiseOfDevovorga = {}, diff --git a/data-otservbr-global/npc/a_sleeping_dragon.lua b/data-otservbr-global/npc/a_sleeping_dragon.lua index 698533ebf1a..89f98bf9da8 100644 --- a/data-otservbr-global/npc/a_sleeping_dragon.lua +++ b/data-otservbr-global/npc/a_sleeping_dragon.lua @@ -47,7 +47,7 @@ end local function greetCallback(npc, creature) local playerId = creature:getId() - if Player(creature):getStorageValue(Storage.WrathoftheEmperor.Questline) == 27 then + if Player(creature):getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 27 then npcHandler:setMessage(MESSAGE_GREET, "ZzzzZzzZz...chrrr...") else npcHandler:setMessage(MESSAGE_GREET, "Greetings, {wayfarer}.") @@ -63,8 +63,8 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 27 then - if (message == "SOLOSARASATIQUARIUM") and player:getStorageValue(Storage.WrathoftheEmperor.InterdimensionalPotion) == 1 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 27 then + if (message == "SOLOSARASATIQUARIUM") and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.InterdimensionalPotion) == 1 then npcHandler:say({ "Dragon dreams are golden. ...", "A broad darkness surrounds you as if a heavy curtain is closing before your eyes. After what seems like minutes of floating through emptiness, you get the feeling as if a hole opens in the dark before you. ...", @@ -123,25 +123,21 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("You head north passing countless stones in the crimson sea of stones beneath your feet.", npc, creature) npcHandler:setTopic(playerId, 14) elseif message:lower() == "use attachment" and npcHandler:getTopic(playerId) == 14 then + npcHandler:say("Avoiding the bright light, you carefully put the attachment on top of the strange socket. ...", npc, creature) + npcHandler:setTopic(playerId, 15) + elseif message:lower() == "take mirror" and npcHandler:getTopic(playerId) == 15 then npcHandler:say({ - "Avoiding the bright light, you carefully put the attachment on top of the strange socket. ...", "As your eyes adjust to the sudden reduction of brightness, you see the giant wings of the gate before you move to the side. You can also make out something shiny on the ground.", + "You pick the mirror from the ground.", }, npc, creature) - npcHandler:setTopic(playerId, 15) - elseif message:lower() == "take mirror" and npcHandler:getTopic(playerId) == 15 then - npcHandler:say("You pick the mirror from the ground.", npc, creature) npcHandler:setTopic(playerId, 16) elseif message:lower() == "north" and npcHandler:getTopic(playerId) == 16 then - npcHandler:say({ - "Your path to the north is open. You pass the gigantic gate wings to your left and right as you advance. After about an hour of travel you hear a slight rustling in the distance. You head further into that direction. ...", - "The rustling gets louder until you come to a small dune. Behind it you find the source of the noise.", - }, npc, creature) + npcHandler:say("Your path to the north is open. You pass the gigantic gate wings to your left and right as you advance. After about an hour of travel you hear a slight rustling in the distance. You head further into that direction. ...", npc, creature) npcHandler:setTopic(playerId, 17) elseif message:lower() == "use model" and npcHandler:getTopic(playerId) == 17 then npcHandler:say({ "You lunge out and throw the model far into the water. As nothing happens, you turn your back to the ocean. ...", "The very moment you walk down the dune to head back south, rays of light burst over your head in a shock wave that makes you tumble down the rest of the hill. ...", - "You can also hear a deep loud scraping for several minutes somewhere far in the west.", }, npc, creature) npcHandler:setTopic(playerId, 18) elseif message:lower() == "south" and npcHandler:getTopic(playerId) == 18 then @@ -162,34 +158,31 @@ local function creatureSayCallback(npc, creature, type, message) elseif message:lower() == "west" and npcHandler:getTopic(playerId) == 23 then npcHandler:say("You leave the massive open gate behind you and go to the west. ", npc, creature) npcHandler:setTopic(playerId, 24) - elseif message:lower() == "bastesh" and npcHandler:getTopic(playerId) == 24 then - npcHandler:say("This huge statue of Bastesh is made from onyx, and thrones on a large plateau which can be reached by a sprawling stairway. She holds a large {sapphire} in her hands. ", npc, creature) + elseif message:lower() == "take sapphire" and npcHandler:getTopic(playerId) == 24 then + npcHandler:say("You carefully remove the sapphire from Bastesh's grasp.", npc, creature) npcHandler:setTopic(playerId, 25) - elseif message:lower() == "take sapphire" and npcHandler:getTopic(playerId) == 25 then - npcHandler:say("You carefully remove the sapphire from Bastesh's grasp. ", npc, creature) + elseif message:lower() == "east" and npcHandler:getTopic(playerId) == 25 then + npcHandler:say("You head back to the east and to the plateau.", npc, creature) npcHandler:setTopic(playerId, 26) - elseif message:lower() == "east" and npcHandler:getTopic(playerId) == 26 then - npcHandler:say("You head back to the east and to the plateau. ", npc, creature) + elseif message:lower() == "south" and npcHandler:getTopic(playerId) == 26 then + npcHandler:say("You head back south to the site with the onyx lookout.", npc, creature) npcHandler:setTopic(playerId, 27) - elseif message:lower() == "south" and npcHandler:getTopic(playerId) == 27 then - npcHandler:say("You head back south to the site with the onyx lookout. ", npc, creature) + elseif message:lower() == "east" and npcHandler:getTopic(playerId) == 27 then + npcHandler:say("You return to the plateau in the east.", npc, creature) npcHandler:setTopic(playerId, 28) - elseif message:lower() == "east" and npcHandler:getTopic(playerId) == 28 then - npcHandler:say("You return to the plateau in the east. ", npc, creature) + elseif message:lower() == "use stand" and npcHandler:getTopic(playerId) == 28 then + npcHandler:say("You put the stand into a small recess you find near the middle of the plateau.", npc, creature) npcHandler:setTopic(playerId, 29) - elseif message:lower() == "use stand" and npcHandler:getTopic(playerId) == 29 then - npcHandler:say("You put the stand into a small recess you find near the middle of the plateau. ", npc, creature) + elseif message:lower() == "use ruby" and npcHandler:getTopic(playerId) == 29 then + npcHandler:say("As the ruby slips into the notch, the strong red of the stone intensifies a thousandfold. You fear to hurt your eyes and turn away immediately. The ray seems to be directed to the centre of the plateau with astounding precision.", npc, creature) npcHandler:setTopic(playerId, 30) - elseif message:lower() == "use ruby" and npcHandler:getTopic(playerId) == 30 then - npcHandler:say("As the ruby slips into the notch, the strong red of the stone intensifies a thousandfold. You fear to hurt your eyes and turn away immediately. The ray seems to be directed to the centre of the plateau with astounding precision. ", npc, creature) + elseif message:lower() == "use sapphire" and npcHandler:getTopic(playerId) == 30 then + npcHandler:say("As the sapphire slips into the notch, the deep blue of the stone intensifies a thousandfold. You fear to hurt your eyes and turn away immediately. The ray seems to be directed to the centre of the plateau with astounding precision.", npc, creature) npcHandler:setTopic(playerId, 31) - elseif message:lower() == "use sapphire" and npcHandler:getTopic(playerId) == 31 then - npcHandler:say("As the sapphire slips into the notch, the deep blue of the stone intensifies a thousandfold. You fear to hurt your eyes and turn away immediately. The ray seems to be directed to the centre of the plateau with astounding precision. ", npc, creature) + elseif message:lower() == "use emerald" and npcHandler:getTopic(playerId) == 31 then + npcHandler:say("As the emerald slips into the notch, the vibrant green of the stone intensifies a thousandfold. You fear to hurt your eyes and turn away immediately. The ray seems to be directed to the centre of the plateau with astounding precision.", npc, creature) npcHandler:setTopic(playerId, 32) - elseif message:lower() == "use emerald" and npcHandler:getTopic(playerId) == 32 then - npcHandler:say("As the emerald slips into the notch, the vibrant green of the stone intensifies a thousandfold. You fear to hurt your eyes and turn away immediately. The ray seems to be directed to the centre of the plateau with astounding precision. ", npc, creature) - npcHandler:setTopic(playerId, 33) - elseif message:lower() == "use mirror" and npcHandler:getTopic(playerId) == 33 then + elseif message:lower() == "use mirror" and npcHandler:getTopic(playerId) == 32 then npcHandler:say({ "With your eyes covered and avoiding direct sight of the rays, you put the mirror into the stand. ...", "Instinctively you run to a larger emerald bluff near the raise to find cover. Mere seconds after you claimed the sturdy shelter, a deep dark humming starts to swirl through the air. ...", @@ -200,11 +193,11 @@ local function creatureSayCallback(npc, creature, type, message) "The growl transforms into a scream, everything around you seems to compress. As you press yourself tightly against the bluff, everything falls silent and in a split second, the dark being dissolves into bursts of blackness. You wake.", }, npc, creature) player:addAchievement("Wayfarer") - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 28) - player:setStorageValue(Storage.WrathoftheEmperor.Mission09, 2) --Questlog, Wrath of the Emperor "Mission 09: The Sleeping Dragon" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 28) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission09, 2) --Questlog, Wrath of the Emperor "Mission 09: The Sleeping Dragon" npcHandler:setTopic(playerId, 0) end - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 28 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 28 then if MsgContains(message, "wayfarer") then npcHandler:say("I call you the wayfarer. You travelled through my dreams. You ultimately freed my mind. My mind accepted you and so will I.", npc, creature) elseif MsgContains(message, "mission") then @@ -223,8 +216,8 @@ local function creatureSayCallback(npc, creature, type, message) "The transfer was successful. ...", "You are now prepared to enter the realm of the evildoer. I am grateful for your help, wayfarer. Should you seek my council, use this charm I cede to you. For my spirit will guide you wherever you are. May you enjoy a sheltered future, you shall prevail.", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 29) - player:setStorageValue(Storage.WrathoftheEmperor.Mission10, 1) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 29) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission10, 1) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" player:addItem(10343, 1) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/awarness_of_the_emperor.lua b/data-otservbr-global/npc/awarness_of_the_emperor.lua index b8dd66675ca..ab8269493d3 100644 --- a/data-otservbr-global/npc/awarness_of_the_emperor.lua +++ b/data-otservbr-global/npc/awarness_of_the_emperor.lua @@ -46,7 +46,7 @@ npcType.onCloseChannel = function(npc, creature) end local function greetCallback(npc, creature) - if Player(creature):getStorageValue(Storage.WrathoftheEmperor.Questline) < 31 then + if Player(creature):getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) < 31 then npcHandler:setMessage(MESSAGE_GREET, "I am not here to fight you, fool. Like it or not, we will have to work together to stop the catastrophe you and that priest have initiated.") else npcHandler:setMessage(MESSAGE_GREET, "Greetings, mortal. Be aware that you are trying my patience while we are talking.") @@ -64,7 +64,7 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "mission") then local player = Player(creature) - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 30 and player:getStorageValue(Storage.WrathoftheEmperor.BossStatus) == 5 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 30 and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus) == 5 then npcHandler:say({ "The amplified force of the snake god is tearing the land apart. It is using my crystals in a reverse way to drain the vital force from the land and its inhabitants to fuel its power. ...", "I will withstand its influence as good as possible and slow this process. You will have to fight its worldly incarnation though. ...", @@ -74,7 +74,7 @@ local function creatureSayCallback(npc, creature, type, message) "Be prepared for the fight of your life! Are you ready?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 32 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 32 then npcHandler:say({ "So you have mastered the crisis you invoked with your foolishness. I should crush you for your involvement right here and now. ...", "But such an act would bring me down to your own barbaric level and only fuel the corruption that destroys the land that I own. Therefore I will not only spare your miserable life but show your the generosity of the dragon emperor. ...", @@ -82,19 +82,18 @@ local function creatureSayCallback(npc, creature, type, message) "I grant you three chests - filled to the lid with platinum coins, a house in the city in which you may reside, a set of the finest armor Zao has to offer, and a casket of never-ending mana. ...", "Speak with magistrate Izsh in the ministry about your reward. And now leave before I change my mind!", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.TeleportAccess.SleepingDragon, 2) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 33) - player:setStorageValue(Storage.WrathoftheEmperor.Mission12, 0) --Questlog, Wrath of the Emperor "Mission 12: Just Rewards" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.SleepingDragon, 2) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 33) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then local player = Player(creature) player:teleportTo(Position(33360, 31397, 9)) - player:setStorageValue(Storage.WrathoftheEmperor.TeleportAccess.AwarnessEmperor, 1) - player:setStorageValue(Storage.WrathoftheEmperor.TeleportAccess.Wote10, 1) - player:setStorageValue(Storage.WrathoftheEmperor.TeleportAccess.BossRoom, 1) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 31) - player:setStorageValue(Storage.WrathoftheEmperor.Mission11, 1) --Questlog, Wrath of the Emperor "Mission 11: Payback Time" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.AwarnessEmperor, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Wote10, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.BossRoom, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 31) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission11, 1) --Questlog, Wrath of the Emperor "Mission 11: Payback Time" npcHandler:say("So be it!", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/chartan.lua b/data-otservbr-global/npc/chartan.lua index 8be69fc06da..41be66800c9 100644 --- a/data-otservbr-global/npc/chartan.lua +++ b/data-otservbr-global/npc/chartan.lua @@ -54,13 +54,13 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 2 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 2 then npcHandler:say("Mhm, what are you doing here. Who zent you? ", npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 3 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 3 then npcHandler:say("Zo are you ready to get zomezing done?", npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 5 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 5 then npcHandler:say("Zo? Did you find a way to reztore ze teleporter? ", npc, creature) npcHandler:setTopic(playerId, 3) end @@ -74,8 +74,8 @@ local function creatureSayCallback(npc, creature, type, message) "I zee. Interezting. ... ", "You being here meanz we have eztablished connectionz to ze zouz. Finally. And you are going to help uz. Well, zere iz zertainly a lot for you to do. Zo better get ztarted. ", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 3) - player:setStorageValue(Storage.WrathoftheEmperor.Mission01, 3) --Questlog, Wrath of the Emperor "Mission 01: Catering the Lions Den" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 3) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission01, 3) --Questlog, Wrath of the Emperor "Mission 01: Catering the Lions Den" npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "yes") then @@ -87,23 +87,25 @@ local function creatureSayCallback(npc, creature, type, message) "Zere were meanz to activate teleporterz zomewhere in ze complex. But zinze you cannot reach all ze roomz, I guezz you will have to improvize. ... ", "Here iz ze key to ze entranze to ze complex. Figure zomezing out, reztore ze teleporter zo we can get back to ze plainz in ze zouz. ", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 4) - player:setStorageValue(Storage.WrathoftheEmperor.Mission02, 1) --Questlog, Wrath of the Emperor "Mission 02: First Contact" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 4) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission02, 1) --Questlog, Wrath of the Emperor "Mission 02: First Contact" npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then npcHandler:say({ "You did it! Zere waz zome kind of zparkle and I zink it iz working again - oh pleaze feel free to try it, I uhm, I will wait here and be ready juzt in caze zomezing uhm happenz to you. ... ", "And if you head to Zalamon, be zure to inform him about our zituation. Food rationz are running low and we are ztill not well equipped. We need to eztablish a working zupply line. ", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.TeleportAccess.Rebel, 1) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 6) - player:setStorageValue(Storage.WrathoftheEmperor.Mission02, 3) --Questlog, Wrath of the Emperor "Mission 02: First Contact" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Rebel, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 6) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission02, 3) --Questlog, Wrath of the Emperor "Mission 02: First Contact" npcHandler:setTopic(playerId, 0) end end return true end +npcHandler:setMessage(MESSAGE_GREET, "Great Znake forgive me to converze wiz ziz unworzy blankzkin.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/gate_guardian.lua b/data-otservbr-global/npc/gate_guardian.lua index 026db634934..cef450aedb2 100644 --- a/data-otservbr-global/npc/gate_guardian.lua +++ b/data-otservbr-global/npc/gate_guardian.lua @@ -54,15 +54,15 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") or MsgContains(message, "pass") then - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 13 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 13 then npcHandler:say("You want entranzzze to zzze zzzity?", npc, creature) npcHandler:setTopic(playerId, 1) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say("Mh, zzzezzze paperzzz zzzeem legit, I have orderzzz to let you pazzz. Zzzo be it.", npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 22) - player:setStorageValue(Storage.WrathoftheEmperor.Mission05, 2) --Questlog, Wrath of the Emperor "Mission 05: New in Town" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 22) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission05, 2) --Questlog, Wrath of the Emperor "Mission 05: New in Town" player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(Position(33114, 31197, 7), false) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) @@ -72,6 +72,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "Chhhhzzz. Ugly humanzzz! You better have a good reazzzon to be here!") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/npc/ghost_of_a_priest.lua b/data-otservbr-global/npc/ghost_of_a_priest.lua index b73a40fbea1..0469ec86d5d 100644 --- a/data-otservbr-global/npc/ghost_of_a_priest.lua +++ b/data-otservbr-global/npc/ghost_of_a_priest.lua @@ -54,8 +54,8 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") or MsgContains(message, "sceptre") then - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 10 then - if player:getPosition().z == 12 and player:getStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest01) < 1 and npcHandler:getTopic(playerId) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 10 then + if player:getPosition().z == 12 and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.GhostOfAPriest01) < 1 and npcHandler:getTopic(playerId) ~= 1 then npcHandler:say({ "Although we are willing to hand this item to you, there is something you have to understand: There is no such thing as 'the' sceptre. ...", "Those sceptres are created for special purposes each time anew. Therefore you will have to create one on your own. It will be your {mission} to find us three keepers and to get the three parts of the holy sceptre. ...", @@ -68,13 +68,13 @@ local function creatureSayCallback(npc, creature, type, message) "The equivalent of 5000 gold will do. Are you willing to make such a donation?", }, npc, creature) npcHandler:setTopic(playerId, 2) - elseif player:getPosition().z == 13 and player:getStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest02) < 1 then + elseif player:getPosition().z == 13 and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.GhostOfAPriest02) < 1 then npcHandler:say({ "Even though we are spirits, we can't create anything out of thin air. You will have to donate some precious metal which we can drain for energy and substance. ...", "The equivalent of 5000 gold will do. Are you willing to make such a donation?", }, npc, creature) npcHandler:setTopic(playerId, 3) - elseif player:getPosition().z == 14 and player:getStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest03) < 1 then + elseif player:getPosition().z == 14 and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.GhostOfAPriest03) < 1 then npcHandler:say({ "Even though we are spirits, we can't create anything out of thin air. You will have to donate some precious metal which we can drain for energy and substance. ...", "The equivalent of 5000 gold will do. Are you willing to make such a donation?", @@ -85,7 +85,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 2 then if player:getMoney() + player:getBankBalance() >= 5000 then - player:setStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest01, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.GhostOfAPriest01, 1) player:removeMoneyBank(5000) player:addItem(11368, 1) npcHandler:say("So be it! Here is my part of the sceptre. Combine it with the other parts on the altar of the Great Snake in the depths of this temple.", npc, creature) @@ -93,7 +93,7 @@ local function creatureSayCallback(npc, creature, type, message) end elseif npcHandler:getTopic(playerId) == 3 then if player:getMoney() + player:getBankBalance() >= 5000 then - player:setStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest02, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.GhostOfAPriest02, 1) player:removeMoneyBank(5000) player:addItem(11369, 1) npcHandler:say("So be it! Here is my part of the sceptre. Combine it with the other parts on the altar of the Great Snake in the depths of this temple.", npc, creature) @@ -101,7 +101,7 @@ local function creatureSayCallback(npc, creature, type, message) end elseif npcHandler:getTopic(playerId) == 4 then if player:getMoney() + player:getBankBalance() >= 5000 then - player:setStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest03, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.GhostOfAPriest03, 1) player:removeMoneyBank(5000) player:addItem(11370, 1) npcHandler:say("So be it! Here is my part of the sceptre. Combine it with the other parts on the altar of the Great Snake in the depths of this temple.", npc, creature) diff --git a/data-otservbr-global/npc/izsh.lua b/data-otservbr-global/npc/izsh.lua index 2da27ccc1a5..05573cf44aa 100644 --- a/data-otservbr-global/npc/izsh.lua +++ b/data-otservbr-global/npc/izsh.lua @@ -54,7 +54,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if Player(creature):getStorageValue(Storage.WrathoftheEmperor.Questline) == 33 then + if Player(creature):getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 33 then npcHandler:say("Oh yez, let me zee ze documentz. Here we go: zree cheztz filled wiz platinum, one houze, a zet of elite armor, and an unending mana cazket. Iz ziz correct?", npc, creature) npcHandler:setTopic(playerId, 1) end @@ -71,7 +71,8 @@ local function creatureSayCallback(npc, creature, type, message) "You will find your rewardz in one of ze old zupply zellarz. Beware of ze ratz zough. ...", "Ze rednezz of your faze and ze zound you make wiz your teez iz obviouzly a zign of gratitude of your zpeziez! I am flattered, but pleaze leave now az I have to attend to zome important buzinezz.", }, npc, creature) - Player(creature):setStorageValue(Storage.WrathoftheEmperor.Questline, 34) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 34) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission12, 0) --Questlog, Wrath of the Emperor "Mission 12: Just Rewards" npcHandler:setTopic(playerId, 0) end return true diff --git a/data-otservbr-global/npc/lizard_tunnel_guard.lua b/data-otservbr-global/npc/lizard_tunnel_guard.lua index 4fa13285212..dc836ebcebf 100644 --- a/data-otservbr-global/npc/lizard_tunnel_guard.lua +++ b/data-otservbr-global/npc/lizard_tunnel_guard.lua @@ -49,8 +49,8 @@ local function greetCallback(npc, creature) local player = Player(creature) local playerId = player:getId() - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) >= 2 then - player:setStorageValue(Storage.WrathoftheEmperor.GuardcaughtYou, 1) + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) >= 2 then + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.GuardcaughtYou, 1) player:removeCondition(CONDITION_OUTFIT) player:removeItem(11328, 1) player:teleportTo(Position(33361, 31206, 8)) diff --git a/data-otservbr-global/npc/zalamon.lua b/data-otservbr-global/npc/zalamon.lua index a2fe866ede3..555f1349471 100644 --- a/data-otservbr-global/npc/zalamon.lua +++ b/data-otservbr-global/npc/zalamon.lua @@ -163,16 +163,16 @@ local function creatureSayCallback(npc, creature, type, message) -- CHILDREN OF REVOLUTION QUEST -- WRATH OF THE EMPEROR QUEST - elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 21 and player:getStorageValue(Storage.WrathoftheEmperor.Questline) < 1 then + elseif player:getStorageValue(Storage.Quest.U8_54.ChildrenOfTheRevolution.Questline) == 21 and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) < 1 then npcHandler:say({ "Zze attackzz have weakened our enemy zzignificantly. Yet, your quezzt continuezz. Bezzidezz zzome tazzkzz you could take, zze zzreat of zze emperor izz zztill hanging over our headzz like a rain cloud. ... ", "Zzo, are you indeed willing to continue zze fight for our cauzze? ", }, npc, creature) npcHandler:setTopic(playerId, 14) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 1 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 1 then npcHandler:say("Ah you have returned. I azzume you already found zzome itemzz to build a proper dizzguizze? ", npc, creature) npcHandler:setTopic(playerId, 16) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 6 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 6 then npcHandler:say({ "You ezztablished zze connection to zze hideout, good. But zzizz izz no time to rezzt. Your new tazzk will be quite different. ... ", "Zze gardenzz are plagued by a creature. Zze former keeper of zzizz garden became an abomination of madnezz zzat needzz to be zztopped. ... ", @@ -181,10 +181,10 @@ local function creatureSayCallback(npc, creature, type, message) "Now go - what are you waiting for, zzoftzzkin? Ready to finish what needzz to be finished? ", }, npc, creature) npcHandler:setTopic(playerId, 19) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 8 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 8 then npcHandler:say("Zzo... you finished him. Show me hizz head, will you? ", npc, creature) npcHandler:setTopic(playerId, 20) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 9 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 9 then npcHandler:say({ "At zze dawn of time, zze children of zze Great Zznake were numerouzz. Zzey daringly colonizzed many partzz of zze world. But all bravery did not help againzzt zze sheer number of enemiezz zzey encountered. ... ", "And while zze entitiezz zze unbelieverzz call godzz battled for power out of vanity, zze fazze of zze world changed violently. ... ", @@ -197,13 +197,13 @@ local function creatureSayCallback(npc, creature, type, message) "A shaft, a cuzzp, and an emerald form a zzeptre of zzuch power zzat zze partzz were hidden and are now guarded by vile creaturezz. ... ", "Find it. Retrieve it. And bring it back to me. ", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 10) - player:setStorageValue(Storage.WrathoftheEmperor.Mission04, 1) --Questlog, Wrath of the Emperor "Mission 04: Sacrament of the Snake" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 10) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission04, 1) --Questlog, Wrath of the Emperor "Mission 04: Sacrament of the Snake" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 11 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 11 then npcHandler:say("You - azzembled zze zzeptre? Hand it out, give it to me, will you? ", npc, creature) npcHandler:setTopic(playerId, 21) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 12 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 12 then npcHandler:say({ "Now we need to get clozzer to zze emperor himzzelf. A hive of beezz would defend zzeir queen wizz zzeir lives in cazze an enemy gained entranzze. Zzizz makezz a formidable defenzze line, nearly inviolable. ... ", "But a zztranger directly in zze midzzt of zze hive will be acczzepted - after all it izz not pozzible to overcome zzuch a formidable defenzze which izz nearly inviolable, or izz it? Ha. ... ", @@ -212,8 +212,8 @@ local function creatureSayCallback(npc, creature, type, message) "We have alzzo forged zome paperzz for you and zzent zzem to zze zzity. Your victory in zze arena iz well known in our land. Wizz zze help of zzezze paperzz you will pretend zzat zzome of zze higher officialzz want to talk to you about your battle. ... ", "Zzizz way you will be able to enter zze zzity of zze dragon emperor and meet our contact zzere in zze imperial offizze. He will give you zze next inzztructionzz. ", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 13) - player:setStorageValue(Storage.WrathoftheEmperor.Mission05, 1) --Questlog, Wrath of the Emperor "Mission 05: New in Town" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 13) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission05, 1) --Questlog, Wrath of the Emperor "Mission 05: New in Town" npcHandler:setTopic(playerId, 0) -- WRATH OF THE EMPEROR QUEST end @@ -360,8 +360,8 @@ local function creatureSayCallback(npc, creature, type, message) "One of zzem izz uzzed azz a maintenanzze connection by enemy lizardzz. To enter it, you will have to uzze a dizzguizze. Zzomezzing like a crate perhapzz. ... ", "Mh, if you can find zzome nailzz - 3 should be enough - and 1 piezze of wood, I should be able to create an appropriate cazzing. Return to me if you found zze itemzz and we will talk about zze next zztep. ", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 1) - player:setStorageValue(Storage.WrathoftheEmperor.Mission01, 1) --Questlog, Wrath of the Emperor "Mission 01: Catering the Lions Den" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission01, 1) --Questlog, Wrath of the Emperor "Mission 01: Catering the Lions Den" npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 16 then npcHandler:say({ @@ -373,8 +373,8 @@ local function creatureSayCallback(npc, creature, type, message) if player:getItemCount(953) >= 3 and player:getItemCount(5901) >= 1 then player:removeItem(5901, 1) player:removeItem(953, 3) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 2) - player:setStorageValue(Storage.WrathoftheEmperor.Mission01, 2) --Questlog, Wrath of the Emperor "Mission 01: Catering the Lions Den" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 2) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission01, 2) --Questlog, Wrath of the Emperor "Mission 01: Catering the Lions Den" player:addItem(11328, 1) npcHandler:say({ "Alright. Let uzz create a crate. Hm. Let me zzee. ... ", @@ -394,21 +394,21 @@ local function creatureSayCallback(npc, creature, type, message) "Fine. I guezz poizzoning zzome of hizz plantzz will be enough to lure him out of hizz conzzealment. Zzizz plant poizzon here should allow you to do zzome zzignificant damage, take it. ... ", "You can find him eazzt of zze corrupted gardenzz. Zzere uzzed to be a zzmall domizzile zzere but it hazz probably been conzzumed by zze corruption zzo beware. And now - go. ", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 7) - player:setStorageValue(Storage.WrathoftheEmperor.Mission03, 1) --Questlog, Wrath of the Emperor "Mission 03: The Keeper" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 7) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03, 1) --Questlog, Wrath of the Emperor "Mission 03: The Keeper" player:addItem(11364, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 20 then if player:removeItem(11367, 1) then npcHandler:say("Zzizz izz not hizz head but clearly belonged to zze keeper. I - I am imprezzed. You can go now. Leave me alone for a zzecond. ", npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 9) - player:setStorageValue(Storage.WrathoftheEmperor.Mission03, 3) --Questlog, Wrath of the Emperor "Mission 03: The Keeper" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 9) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03, 3) --Questlog, Wrath of the Emperor "Mission 03: The Keeper" npcHandler:setTopic(playerId, 0) end elseif npcHandler:getTopic(playerId) == 21 then if player:removeItem(11371, 1) then - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 12) - player:setStorageValue(Storage.WrathoftheEmperor.Mission04, 3) --Questlog, Wrath of the Emperor "Mission 04: Sacrament of the Snake" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 12) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission04, 3) --Questlog, Wrath of the Emperor "Mission 04: Sacrament of the Snake" npcHandler:say("Finally. At lazzt. Zze zzeptre izz - ourzz. Ourzz of courzze. A weapon we should uzze wizzely for our cauzze. I need a zzecond or two. Do you leave me already? ", npc, creature) npcHandler:setTopic(playerId, 0) end diff --git a/data-otservbr-global/npc/zizzle.lua b/data-otservbr-global/npc/zizzle.lua index 4313f142a9b..e0f87074172 100644 --- a/data-otservbr-global/npc/zizzle.lua +++ b/data-otservbr-global/npc/zizzle.lua @@ -54,14 +54,14 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 25 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 25 then npcHandler:say("You made it! Az zoon az you are prepared, I will brief you for your nexzt mizzion. ", npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Mission08, 2) --Questlog, Wrath of the Emperor "Mission 08: Uninvited Guests" - player:setStorageValue(Storage.WrathoftheEmperor.Mission09, 0) --door access - player:setStorageValue(Storage.WrathoftheEmperor.TeleportAccess.Zizzle, 3) --teleport access - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 26) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission08, 2) --Questlog, Wrath of the Emperor "Mission 08: Uninvited Guests" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission09, 0) --door access + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Zizzle, 3) --teleport access + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 26) npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 26 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 26 then npcHandler:say({ "Ze dragon emperor controlz ze whole empire wiz hiz willpower. But even he iz not powerful enough to uze ziz control continuouzly wizout zome form of aid. ... ", "Wiz ze ancient zeptre zat you acquired for uz earlier, I can charge ozer zeptrez wiz azpectz of power of ze Great Znake. If you manage to touch one of ze tranzmitter cryztalz wiz ze zeptre, itz godly power will realign ze cryztal. ...", @@ -72,8 +72,8 @@ local function creatureSayCallback(npc, creature, type, message) "A zignificant part of ze emperor'z power iz uzed to reztrain ze dragon. Ze only way to free him will be to enter hiz dreamz. Are you prepared for ziz?", }, npc, creature) npcHandler:setTopic(playerId, 1) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 29 then - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) < 30 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 29 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) < 30 then npcHandler:say({ "You freed ze dragon! And you pozzezz ze key to enter ze inner realmz of ze emperor, well done. ...", "Now you are ready to reach ze inner zanctum of ze emperor. Zalamon'z revelationz showed him zat zere are four cryztalz channelling ze will of ze emperor into ze land. ...", @@ -84,10 +84,10 @@ local function creatureSayCallback(npc, creature, type, message) "I recommend not to go alone becauze it will be very dangerouz - but ALL of you will have to uze zeir zeptre replicaz on ze emperor'z remainz to prozeed! ...", "You will need it. Now go to the north of Sleeping Dragon room, {dont need talk} with he! Good luck.", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.TeleportAccess.InnerSanctum, 1) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 30) - player:setStorageValue(Storage.WrathoftheEmperor.Mission10, 2) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" - player:setStorageValue(Storage.WrathoftheEmperor.BossStatus, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.InnerSanctum, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 30) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission10, 2) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus, 1) player:addItem(11362, 1) npcHandler:setTopic(playerId, 0) else @@ -101,9 +101,9 @@ local function creatureSayCallback(npc, creature, type, message) "Drink it and when you are cloze to ze dragon zpeak: Z...z.. well, juzt take ze sheet wiz ze word and read it yourzelf. A lot of rebelz have died to retrieve ziz information, uze it wizely. ...", "Now go and try to find a way to reach ze emperor and to free ze land from it'z opprezzor. Onze you have found a way, return to me and I will explain what to do wiz ze cryztalz. May ze Great Znake guide you!", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.TeleportAccess.SleepingDragon, 1) - player:setStorageValue(Storage.WrathoftheEmperor.Mission09, 1) --Questlog, Wrath of the Emperor "Mission 08: Uninvited Guests" - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 27) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.SleepingDragon, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission09, 1) --Questlog, Wrath of the Emperor "Mission 08: Uninvited Guests" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 27) player:addItem(11372, 1) player:addItem(11426, 1) end diff --git a/data-otservbr-global/npc/zlak.lua b/data-otservbr-global/npc/zlak.lua index c1dd6fc5802..3a2030bab96 100644 --- a/data-otservbr-global/npc/zlak.lua +++ b/data-otservbr-global/npc/zlak.lua @@ -54,27 +54,27 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 22 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 22 then npcHandler:say({ "Ze rumour mill iz quite fazt. Ezpecially when zomeone unuzual az you enterz ze zity. Zoon zey will learn zat you have no reazon to be here and our raze will be buzted. ...", "Zo we have to ztrike fazt and quickly. You will have to eliminate zome high ranking key officialz. I zink killing four of zem should be enough. ...", "Ziz will dizrupt ze order in ze zity zignificantly zinze zo much dependz on bureaucracy and ze chain of command. Only chaoz and dizorganization will enable me to help you with ze next ztep in ze plan.", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.TeleportAccess.Zlak, 1) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 23) - player:setStorageValue(Storage.WrathoftheEmperor.Mission05, 3) --Questlog, Wrath of the Emperor "Mission 05: New in Town" - player:setStorageValue(Storage.WrathoftheEmperor.Mission06, 0) --Questlog, Wrath of the Emperor "Mission 06: The Office Job" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Zlak, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 23) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission05, 3) --Questlog, Wrath of the Emperor "Mission 05: New in Town" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission06, 0) --Questlog, Wrath of the Emperor "Mission 06: The Office Job" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 23 and player:getStorageValue(Storage.WrathoftheEmperor.Mission06) == 4 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 23 and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission06) == 5 then npcHandler:say({ "Chaoz and panic are already zpreading. Your barbaric brutality iz frightening effectively. I could acquire a key zat we need to get you into ze palaze itzelf. But zere are ztill too many guardz and elite zquadz even for you to fight. ...", "I need you to enter ze zity and zlay at leazt zix noblez. Ze otherz will feel zreatened and call guardz to zemzelvez, and ze dragon kingz will accuze each ozer to be rezponzible for zlaying zeir pet noblez. ...", "Zat should enable uz to give you at leazt a chanze to attack ze palaze.", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 24) - player:setStorageValue(Storage.WrathoftheEmperor.Mission07, 0) --Questlog, Wrath of the Emperor "Mission 07: A Noble Cause" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 24) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission07, 0) --Questlog, Wrath of the Emperor "Mission 07: A Noble Cause" npcHandler:setTopic(playerId, 0) - elseif player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 24 and player:getStorageValue(Storage.WrathoftheEmperor.Mission07) == 6 then + elseif player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 24 and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission07) == 6 then if npcHandler:getTopic(playerId) ~= 1 then npcHandler:say({ "Word of your deedz iz already zpreading like a wildfire. Zalamon'z plan to unleash zome murderouz beaztz in ze zity workz almozt too well. You are already becoming zome kind of legend with which motherz frighten zeir unruly hatchlingz. ...", @@ -88,8 +88,8 @@ local function creatureSayCallback(npc, creature, type, message) "Meanwhile, you will take ze old ezcape tunnel zat leadz from ze abandoned bazement in ze norz of ze miniztry to a lift zat endz zomewhere in ze palaze. ...", "When everyzing workz according to ze plan, you will meet Zalamon zomewhere in the underground part of ze palaze.", }, npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.Mission08, 1) --Questlog, Wrath of the Emperor "Mission 08: Uninvited Guests" - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 25) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission08, 1) --Questlog, Wrath of the Emperor "Mission 08: Uninvited Guests" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 25) npcHandler:setTopic(playerId, 0) end end diff --git a/data-otservbr-global/npc/zumtah.lua b/data-otservbr-global/npc/zumtah.lua index 97ba7b3c779..b4d1e1d45e1 100644 --- a/data-otservbr-global/npc/zumtah.lua +++ b/data-otservbr-global/npc/zumtah.lua @@ -58,7 +58,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "exit") then - if player:getStorageValue(Storage.WrathoftheEmperor.ZumtahStatus) ~= 1 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.ZumtahStatus) ~= 1 then if npcHandler:getTopic(playerId) < 1 then npcHandler:say("You are searching for the way out? Do you want to go home? Are you homesick, nostalgic, allergic? I am sorry. You will stay. Muhahahaha. Haha. Are you giving up then?", npc, creature) npcHandler:setTopic(playerId, 1) @@ -66,7 +66,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("A what? I don't even know what you're talking about, human. If you aren't just giving up - will you kindly change the topic please?", npc, creature) npcHandler:setTopic(playerId, 4) elseif npcHandler:getTopic(playerId) == 6 then - npcHandler:say("I'm not sure, there is an entry, though. Muhahaha. And isn't that enough after all?", npc, creature) + npcHandler:say("Haha, no! No. Why don't you just stop asking me that and start enjoying your stay here?", npc, creature) npcHandler:setTopic(playerId, 7) elseif npcHandler:getTopic(playerId) == 10 then npcHandler:say("Oh, you mean - if I have ever been out of here in those 278 years? Well, I - I can't remember. No, I can't remember. Sorry.", npc, creature) @@ -87,13 +87,13 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 14 then npcHandler:say({ "Alright, as I said you are free now. There will not be an outside for the next three centuries, but you - go. ...", "Oh and I recovered the strange crate you where hiding in, it will wait for you at the exit since you can't carry it as... a beetle, muhaha. Yes, you shall now crawl through the passage as a beetle. There you go." }, npc, creature) npcHandler:setTopic(playerId, 0) - player:setStorageValue(Storage.WrathoftheEmperor.ZumtahStatus, 1) - player:setStorageValue(Storage.WrathoftheEmperor.PrisonReleaseStatus, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.ZumtahStatus, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.PrisonReleaseStatus, 1) player:addCondition(condition) end else npcHandler:say("It's you, why did they throw you in here again? Anyway, I will just transform you once more. I also recovered your crate which will wait for you at the exit. There, feel free to go.", npc, creature) - player:setStorageValue(Storage.WrathoftheEmperor.PrisonReleaseStatus, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.PrisonReleaseStatus, 1) player:addCondition(condition) end elseif MsgContains(message, "no") then diff --git a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua index 1c2808523a6..ea7e629a95f 100644 --- a/data-otservbr-global/scripts/actions/other/others/quest_system1.lua +++ b/data-otservbr-global/scripts/actions/other/others/quest_system1.lua @@ -1,7 +1,7 @@ local specialQuests = { -- {x = 32311, y = 32211, z = 8} [51400] = Storage.Quest.U8_2.TheThievesGuildQuest.Reward, - [51324] = Storage.WrathoftheEmperor.MainReward, + [51324] = Storage.Quest.U8_6.WrathOfTheEmperor.MainReward, -- {x = 32232, y = 31066, z = 7} [51715] = Storage.Quest.U8_0.BarbarianArena.RewardGreenhorn, -- {x = 32232, y = 31059, z = 7} diff --git a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua index 388b73d28f4..d3d8fb36bc4 100644 --- a/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua +++ b/data-otservbr-global/scripts/creaturescripts/customs/freequests.lua @@ -249,17 +249,17 @@ local questTable = { { storage = Storage.Quest.U7_8.FriendsAndTraders.TheMermaidMarina, storageValue = 2 }, { storage = Storage.Quest.U7_8.FriendsAndTraders.TheBlessedStake, storageValue = 12 }, { storage = 100157, storageValue = 1 }, - { storage = Storage.WrathoftheEmperor.Questline, storageValue = 29 }, - { storage = Storage.WrathoftheEmperor.Mission01, storageValue = 3 }, - { storage = Storage.WrathoftheEmperor.Mission02, storageValue = 3 }, - { storage = Storage.WrathoftheEmperor.Mission03, storageValue = 3 }, - { storage = Storage.WrathoftheEmperor.Mission04, storageValue = 3 }, - { storage = Storage.WrathoftheEmperor.Mission05, storageValue = 3 }, - { storage = Storage.WrathoftheEmperor.Mission06, storageValue = 4 }, - { storage = Storage.WrathoftheEmperor.Mission07, storageValue = 6 }, - { storage = Storage.WrathoftheEmperor.Mission08, storageValue = 2 }, - { storage = Storage.WrathoftheEmperor.Mission09, storageValue = 2 }, - { storage = Storage.WrathoftheEmperor.Mission10, storageValue = 1 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Questline, storageValue = 29 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission01, storageValue = 3 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission02, storageValue = 3 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission03, storageValue = 3 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission04, storageValue = 3 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission05, storageValue = 3 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission06, storageValue = 4 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission07, storageValue = 6 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission08, storageValue = 2 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission09, storageValue = 2 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.Mission10, storageValue = 1 }, { storage = Storage.Quest.U7_6.TheApeCity.Started, storageValue = 1 }, { storage = Storage.Quest.U7_6.TheApeCity.Questline, storageValue = 18 }, { storage = Storage.BanutaSecretTunnel.DeeperBanutaShortcut, storageValue = 1 }, @@ -319,14 +319,14 @@ local questTable = { { storage = Storage.Quest.U12_00.TheDreamCourts.AndrewDoor, storageValue = 1 }, - { storage = Storage.WrathoftheEmperor.TeleportAccess.AwarnessEmperor, storageValue = 1 }, - { storage = Storage.WrathoftheEmperor.TeleportAccess.BossRoom, storageValue = 1 }, - { storage = Storage.WrathoftheEmperor.TeleportAccess.InnerSanctum, storageValue = 1 }, - { storage = Storage.WrathoftheEmperor.TeleportAccess.Rebel, storageValue = 1 }, - { storage = Storage.WrathoftheEmperor.TeleportAccess.SleepingDragon, storageValue = 2 }, - { storage = Storage.WrathoftheEmperor.TeleportAccess.Wote10, storageValue = 1 }, - { storage = Storage.WrathoftheEmperor.TeleportAccess.Zizzle, storageValue = 1 }, - { storage = Storage.WrathoftheEmperor.TeleportAccess.Zlak, storageValue = 1 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.AwarnessEmperor, storageValue = 1 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.BossRoom, storageValue = 1 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.InnerSanctum, storageValue = 1 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Rebel, storageValue = 1 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.SleepingDragon, storageValue = 2 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Wote10, storageValue = 1 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Zizzle, storageValue = 1 }, + { storage = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Zlak, storageValue = 1 }, { storage = Storage.TheSecretLibrary.FalconBastionAccess, storageValue = 1 }, { storage = Storage.TheSecretLibrary.LowerBastionAccess, storageValue = 1 }, diff --git a/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_zalamon_door.lua b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_zalamon_door.lua index 82932833c41..ecb3ecd9843 100644 --- a/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_zalamon_door.lua +++ b/data-otservbr-global/scripts/quests/children_of_the_revolution/actions_zalamon_door.lua @@ -3,7 +3,7 @@ local TheNewFrontier = Storage.Quest.U8_54.TheNewFrontier local childrenZalamon = Action() function childrenZalamon.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(TheNewFrontier.Mission08) >= 2 and player:getStorageValue(Storage.WrathoftheEmperor.Mission11) < 2 then + if player:getStorageValue(TheNewFrontier.Mission08) >= 2 and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission11) < 2 then if item.itemid == 9874 then player:teleportTo(toPosition, true) item:transform(item.itemid + 1) diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission01_crate.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission01_crate.lua similarity index 87% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission01_crate.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission01_crate.lua index 1fc09485898..8f4fa8fc4f8 100644 --- a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission01_crate.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission01_crate.lua @@ -4,7 +4,7 @@ condition:setTicks(-1) local wrathEmperorMiss1Crate = Action() function wrathEmperorMiss1Crate.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 2 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 2 then player:say("You remove its top and pull the crate over yourself. Inside it is stifling and you can barely see a thing when looking outward.", TALKTYPE_MONSTER_SAY) player:addCondition(condition) player:getPosition():sendMagicEffect(CONST_ME_POFF) diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission01_lights.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission01_lights.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission01_lights.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission01_lights.lua diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission02_firstcontact_repair_teleport.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission02_firstcontact_repair_teleport.lua similarity index 87% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission02_firstcontact_repair_teleport.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission02_firstcontact_repair_teleport.lua index 2fd2d315621..ab5b28f8150 100644 --- a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission02_firstcontact_repair_teleport.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission02_firstcontact_repair_teleport.lua @@ -39,9 +39,9 @@ function wrathEmperorMiss2FirstContact.onUse(player, item, fromPosition, target, elseif item.itemid == 11334 and target.actionid == 8025 then player:say("As you give the coal into the pool the corrupted fluid begins to dissolve, leaving purified, refreshing water.", TALKTYPE_MONSTER_SAY) item:remove() - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 4 then - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 5) - player:setStorageValue(Storage.WrathoftheEmperor.Mission02, 2) --Questlog, Wrath of the Emperor "Mission 02: First Contact" + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 4 then + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 5) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission02, 2) --Questlog, Wrath of the Emperor "Mission 02: First Contact" end for i = 1, 4 do waterpos[i]:sendMagicEffect(CONST_ME_GREEN_RINGS) diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission03_the_keeper.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission03_the_keeper.lua similarity index 51% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission03_the_keeper.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission03_the_keeper.lua index ea8d7d09571..8dfb9c82da5 100644 --- a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission03_the_keeper.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission03_the_keeper.lua @@ -1,25 +1,25 @@ local function revertKeeperstorage() - Game.setStorageValue(Storage.WrathoftheEmperor.Mission03, 0) + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03, 0) end local wrathEmperorMiss3Keeper = Action() function wrathEmperorMiss3Keeper.onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.itemid == 11364 and target.actionid == 8026 then - if Game.getStorageValue(Storage.WrathoftheEmperor.Mission03) < 5 then - Game.setStorageValue(Storage.WrathoftheEmperor.Mission03, math.max(0, Game.getStorageValue(Storage.WrathoftheEmperor.Mission03)) + 1) + if Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03) < 5 then + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03, math.max(0, Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03)) + 1) player:say("The plant twines and twiggles even more than before, it almost looks as it would scream great pain.", TALKTYPE_MONSTER_SAY) - elseif Game.getStorageValue(Storage.WrathoftheEmperor.Mission03) == 5 then + elseif Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03) == 5 then player:removeItem(11364, 1) - Game.setStorageValue(Storage.WrathoftheEmperor.Mission03, 6) + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03, 6) toPosition:sendMagicEffect(CONST_ME_YELLOW_RINGS) Game.createMonster("the keeper", { x = 33171, y = 31058, z = 11 }) Position({ x = 33171, y = 31058, z = 11 }):sendMagicEffect(CONST_ME_TELEPORT) addEvent(revertKeeperstorage, 60 * 1000) end elseif item.itemid == 11360 then - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 7 then - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 8) - player:setStorageValue(Storage.WrathoftheEmperor.Mission03, 2) --Questlog, Wrath of the Emperor "Mission 03: The Keeper" + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 7 then + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 8) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03, 2) --Questlog, Wrath of the Emperor "Mission 03: The Keeper" player:addItem(11367, 1) end end diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission04_sacrament_of_the_snake_sceptre.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission04_sacrament_of_the_snake_sceptre.lua similarity index 67% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission04_sacrament_of_the_snake_sceptre.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission04_sacrament_of_the_snake_sceptre.lua index 8fcecb1769b..84f4d026569 100644 --- a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission04_sacrament_of_the_snake_sceptre.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission04_sacrament_of_the_snake_sceptre.lua @@ -1,13 +1,13 @@ local wrathEmperorMiss4Sacrament = Action() function wrathEmperorMiss4Sacrament.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getItemCount(11368) >= 1 and player:getItemCount(11369) >= 1 and player:getItemCount(11370) >= 1 and player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 10 then + if player:getItemCount(11368) >= 1 and player:getItemCount(11369) >= 1 and player:getItemCount(11370) >= 1 and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 10 then player:removeItem(11368, 1) player:removeItem(11369, 1) player:removeItem(11370, 1) player:addItem(11371, 1) player:getPosition():sendMagicEffect(CONST_ME_HOLYAREA) - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 11) - player:setStorageValue(Storage.WrathoftheEmperor.Mission04, 2) --Questlog, Wrath of the Emperor "Mission 04: Sacrament of the Snake" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 11) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission04, 2) --Questlog, Wrath of the Emperor "Mission 04: Sacrament of the Snake" end item:transform(item.itemid == 2772 and 2773 or 2772) return true diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission08_doors.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission08_doors.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission08_doors.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission08_doors.lua diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission08_uninvited_guests_lever.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission08_uninvited_guests_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission08_uninvited_guests_lever.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission08_uninvited_guests_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission09_the_sleeping_dragon_mixture.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission09_the_sleeping_dragon_mixture.lua similarity index 63% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission09_the_sleeping_dragon_mixture.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission09_the_sleeping_dragon_mixture.lua index 2b3d496a277..b1af0fa6c72 100644 --- a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission09_the_sleeping_dragon_mixture.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission09_the_sleeping_dragon_mixture.lua @@ -1,10 +1,10 @@ local wrathEmperorMiss9Sleeping = Action() function wrathEmperorMiss9Sleeping.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.WrathoftheEmperor.InterdimensionalPotion) == 1 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.InterdimensionalPotion) == 1 then return true end - player:setStorageValue(Storage.WrathoftheEmperor.InterdimensionalPotion, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.InterdimensionalPotion, 1) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) item:remove() diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission10_a_message_of_freedom_sceptre.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission10_a_message_of_freedom_sceptre.lua similarity index 54% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission10_a_message_of_freedom_sceptre.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission10_a_message_of_freedom_sceptre.lua index b4bb8b26500..806f7956398 100644 --- a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission10_a_message_of_freedom_sceptre.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission10_a_message_of_freedom_sceptre.lua @@ -13,34 +13,34 @@ function wrathEmperorMiss10Message.onUse(player, item, fromPosition, target, toP Game.setStorageValue(target.uid - 4, 1) elseif target.itemid == 11361 then if toPosition.x > 33034 and toPosition.x < 33071 and toPosition.y > 31079 and toPosition.y < 31102 then - if player:getStorageValue(Storage.WrathoftheEmperor.BossStatus) == 1 then - player:setStorageValue(Storage.WrathoftheEmperor.BossStatus, 2) - player:setStorageValue(Storage.WrathoftheEmperor.Mission10, 3) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus) == 1 then + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus, 2) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission10, 3) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" player:say("The sceptre is almost torn from your hand as you banish the presence of the emperor.", TALKTYPE_MONSTER_SAY) end elseif toPosition.x > 33080 and toPosition.x < 33111 and toPosition.y > 31079 and toPosition.y < 31100 then - if player:getStorageValue(Storage.WrathoftheEmperor.BossStatus) == 2 then - player:setStorageValue(Storage.WrathoftheEmperor.BossStatus, 3) - player:setStorageValue(Storage.WrathoftheEmperor.Mission10, 4) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus) == 2 then + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus, 3) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission10, 4) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" player:say("The sceptre is almost torn from your hand as you banish the presence of the emperor.", TALKTYPE_MONSTER_SAY) end elseif toPosition.x > 33078 and toPosition.x < 33112 and toPosition.y > 31106 and toPosition.y < 31127 then - if player:getStorageValue(Storage.WrathoftheEmperor.BossStatus) == 3 then - player:setStorageValue(Storage.WrathoftheEmperor.BossStatus, 4) - player:setStorageValue(Storage.WrathoftheEmperor.Mission10, 5) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus) == 3 then + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus, 4) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission10, 5) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" player:say("The sceptre is almost torn from your hand as you banish the presence of the emperor.", TALKTYPE_MONSTER_SAY) end elseif toPosition.x > 33035 and toPosition.x < 33069 and toPosition.y > 31107 and toPosition.y < 31127 then - if player:getStorageValue(Storage.WrathoftheEmperor.BossStatus) == 4 then - player:setStorageValue(Storage.WrathoftheEmperor.BossStatus, 5) - player:setStorageValue(Storage.WrathoftheEmperor.Mission10, 6) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus) == 4 then + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus, 5) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission10, 6) --Questlog, Wrath of the Emperor "Mission 10: A Message of Freedom" player:say("The sceptre is almost torn from your hand as you banish the presence of the emperor.", TALKTYPE_MONSTER_SAY) end end elseif target.itemid == 11429 then - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 31 then - player:setStorageValue(Storage.WrathoftheEmperor.Questline, 32) - player:setStorageValue(Storage.WrathoftheEmperor.Mission11, 2) --Questlog, Wrath of the Emperor "Mission 11: Payback Time" + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 31 then + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline, 32) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission11, 2) --Questlog, Wrath of the Emperor "Mission 11: Payback Time" end player:say("NOOOoooooooo...!", TALKTYPE_MONSTER_SAY, false, player, toPosition) player:say("This should have dealt the deathblow to the snake things' ambitions.", TALKTYPE_MONSTER_SAY) diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission11_payback_time_lever.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission11_payback_time_lever.lua similarity index 85% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission11_payback_time_lever.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission11_payback_time_lever.lua index a32caefdea2..79a216a19aa 100644 --- a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission11_payback_time_lever.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission11_payback_time_lever.lua @@ -15,13 +15,13 @@ local config = { local wrathEmperorMiss11Payback = Action() function wrathEmperorMiss11Payback.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if Game.getStorageValue(Storage.WrathoftheEmperor.Mission11) == 1 then + if Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission11) == 1 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The arena is already in use.") return true end - Game.setStorageValue(Storage.WrathoftheEmperor.Mission11, 1) - addEvent(Game.setStorageValue, 10 * 60000, Storage.WrathoftheEmperor.Mission11, 0) + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission11, 1) + addEvent(Game.setStorageValue, 10 * 60000, Storage.Quest.U8_6.WrathOfTheEmperor.Mission11, 0) local monsters = Game.getSpectators(config.arenaPosition, false, false, 10, 10, 10, 10) local spectator diff --git a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission12_just_rewards.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission12_just_rewards.lua similarity index 62% rename from data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission12_just_rewards.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission12_just_rewards.lua index b50531b6436..04650628430 100644 --- a/data-otservbr-global/scripts/actions/quests/wrath_of_the_emperor/mission12_just_rewards.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission12_just_rewards.lua @@ -1,14 +1,11 @@ local wrathEmperorMiss12Just = Action() + function wrathEmperorMiss12Just.onUse(player, item, fromPosition, target, toPosition, isHotkey) - if player:getStorageValue(Storage.WrathoftheEmperor.Mission12) == 0 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission12) == 0 then player:addOutfit(366, 0) player:addOutfit(367, 0) - player:addOutfit(366, 1) - player:addOutfit(367, 1) - player:addOutfit(366, 2) - player:addOutfit(367, 2) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found some clothes in wardrobe") - player:setStorageValue(Storage.WrathoftheEmperor.Mission12, 1) --Questlog, Wrath of the Emperor "Mission 12: Just Rewards" + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission12, 1) --Questlog, Wrath of the Emperor "Mission 12: Just Rewards" player:setStorageValue(1150, 1) else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The wardrobe is empty.") diff --git a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/bosses_kill.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_bosses_kill.lua similarity index 93% rename from data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/bosses_kill.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_bosses_kill.lua index 37a823a67ac..6fe0de0f933 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/bosses_kill.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_bosses_kill.lua @@ -17,7 +17,7 @@ local bosses = { }, } -local bossesKill = CreatureEvent("WrathOfTheEmperorBossDeat") +local bossesKill = CreatureEvent("WrathOfTheEmperorBossDeath") function bossesKill.onDeath(creature) local bossConfig = bosses[creature:getName():lower()] if not bossConfig then diff --git a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/keeper_kill.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_keeper_kill.lua similarity index 63% rename from data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/keeper_kill.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_keeper_kill.lua index 5be3f6f6dbe..0cff2eaf502 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/keeper_kill.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_keeper_kill.lua @@ -1,6 +1,6 @@ local keeperKill = CreatureEvent("TheKeeperDeath") function keeperKill.onDeath(creature) - Game.setStorageValue(Storage.WrathoftheEmperor.Mission03, 0) + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission03, 0) return true end diff --git a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/lizard_magistratus_kill.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_lizard_magistratus_kill.lua similarity index 56% rename from data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/lizard_magistratus_kill.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_lizard_magistratus_kill.lua index 8be99184fda..894eb1a5c8f 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/lizard_magistratus_kill.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_lizard_magistratus_kill.lua @@ -1,9 +1,9 @@ local lizardMagistratusKill = CreatureEvent("LizardMagistratusDeath") function lizardMagistratusKill.onDeath(creature, _corpse, _lastHitKiller, mostDamageKiller) onDeathForParty(creature, mostDamageKiller, function(creature, player) - local storage = player:getStorageValue(Storage.WrathoftheEmperor.Mission06) - if storage >= 0 and storage < 4 then - player:setStorageValue(Storage.WrathoftheEmperor.Mission06, math.max(1, storage) + 1) + local storage = player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission06) + if storage >= 0 and storage < 5 then + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission06, math.max(1, storage) + 1) end end) return true diff --git a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/lizard_noble_kill.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_lizard_noble_kill.lua similarity index 62% rename from data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/lizard_noble_kill.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_lizard_noble_kill.lua index 112feffa73f..5b3483a8137 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/lizard_noble_kill.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_lizard_noble_kill.lua @@ -1,9 +1,9 @@ local lizardNobleKill = CreatureEvent("LizardNobleDeath") function lizardNobleKill.onDeath(creature, _corpse, _lastHitKiller, mostDamageKiller) onDeathForParty(creature, mostDamageKiller, function(creature, player) - local storage = player:getStorageValue(Storage.WrathoftheEmperor.Mission07) + local storage = player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission07) if storage >= 0 and storage < 6 then - player:setStorageValue(Storage.WrathoftheEmperor.Mission07, math.max(1, storage) + 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission07, math.max(1, storage) + 1) end end) return true diff --git a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/zalamon_kill.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_zalamon_kill.lua similarity index 93% rename from data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/zalamon_kill.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_zalamon_kill.lua index 349c704ca64..db0f3e3e0f3 100644 --- a/data-otservbr-global/scripts/creaturescripts/quests/wrath_of_the_emperor/zalamon_kill.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_zalamon_kill.lua @@ -16,7 +16,7 @@ local bossForms = { local zalamonKill = CreatureEvent("ZalamonDeath") function zalamonKill.onDeath(creature) if creature:getName():lower() == "mutated zalamon" then - Game.setStorageValue(Storage.WrathoftheEmperor.Mission11, -1) + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Mission11, -1) return true end diff --git a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/globalevents_crate.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/globalevents_crate.lua new file mode 100644 index 00000000000..b8ae49b1ee6 --- /dev/null +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/globalevents_crate.lua @@ -0,0 +1,41 @@ +local trapDoors = { + { Position(33385, 31139, 8) }, + { Position(33385, 31134, 8) }, + { Position(33385, 31126, 8) }, + { Position(33385, 31119, 8) }, + { Position(33385, 31118, 8) }, + { Position(33380, 31093, 8) }, + { Position(33380, 31085, 8) }, +} + +local itemIds = {11257, 11258} + +local toggleTrapDoors = GlobalEvent("toggleTrapDoors") + +function toggleTrapDoors.onThink(interval) + for _, position in ipairs(trapDoors) do + local tile = Tile(position[1]) + if tile then + local currentItem = nil + for _, item in ipairs(tile:getItems()) do + if item:getId() == 11257 or item:getId() == 11258 then + currentItem = item + break + end + end + + local newItemId = 11257 + if currentItem then + newItemId = (currentItem:getId() == 11257) and 11258 or 11257 + currentItem:transform(newItemId) + else + Game.createItem(newItemId, 1, position[1]) + end + end + end + return true +end + +toggleTrapDoors:interval(10000) -- 10 seconds +toggleTrapDoors:register() + diff --git a/data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/boss_teleport.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_boss_teleport.lua similarity index 83% rename from data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/boss_teleport.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_boss_teleport.lua index a4056d81e83..11c84501a2d 100644 --- a/data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/boss_teleport.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_boss_teleport.lua @@ -29,12 +29,14 @@ function bossTeleport.onStepIn(creature, item, position, fromPosition) if not teleport then return true end - if player:getStorageValue(Storage.WrathoftheEmperor.TeleportAccess.Wote10) == 1 then + + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Wote10) == 1 then player:teleportTo(teleport.destination) teleport.destination:sendMagicEffect(CONST_ME_TELEPORT) return true end - if player:getStorageValue(Storage.WrathoftheEmperor.BossStatus) == 5 then + + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus) == 5 then local destination = Position(33072, 31151, 15) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(destination) @@ -42,7 +44,9 @@ function bossTeleport.onStepIn(creature, item, position, fromPosition) return true end - if player:getStorageValue(Storage.WrathoftheEmperor.BossStatus) ~= item.uid - 3188 then + local expectedStatus = item.uid - 3188 + + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.BossStatus) ~= expectedStatus then player:teleportTo(fromPosition, true) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Go to another Teleport or take mission with Zizzle.") return true @@ -54,6 +58,7 @@ function bossTeleport.onStepIn(creature, item, position, fromPosition) else player:teleportTo(teleport.destination) end + return true end diff --git a/data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/crate.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua similarity index 97% rename from data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/crate.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua index c078b0ccc1d..8052a0fc2bc 100644 --- a/data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/crate.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua @@ -219,7 +219,7 @@ local positions = { function catchPlayer(player) player:removeCondition(CONDITION_OUTFIT) player:removeItem(11328, 1) - player:setStorageValue(Storage.WrathoftheEmperor.GuardcaughtYou, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.GuardcaughtYou, 1) player:teleportTo({ x = 33361, y = 31206, z = 8 }, false) player:say("The guards have spotted you. You were forcibly dragged into a small cell. It looks like you need to build another disguise.", TALKTYPE_MONSTER_SAY) return true @@ -257,9 +257,9 @@ function crate.onStepIn(creature, item, position, fromPosition, toPosition) end end elseif j >= 21 and j <= 25 then - if player:getPosition() == Position(positions[j]) and player:getStorageValue(Storage.WrathoftheEmperor.Message) ~= 1 then + if player:getPosition() == Position(positions[j]) and player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Message) ~= 1 then player:say("Guards heavily patrol this area. Try to stay hidden and do not draw any attention to yourself by trying to attack.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.WrathoftheEmperor.Message, 1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Message, 1) end elseif j >= 26 and j <= 175 then if player:getPosition() == Position(positions[j]) then @@ -299,3 +299,4 @@ for index, value in pairs(positions) do crate:position(value) end crate:register() + diff --git a/data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/keeper.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_keeper.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/keeper.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_keeper.lua diff --git a/data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/prison.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_prison.lua similarity index 60% rename from data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/prison.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_prison.lua index 3e2b1d53958..9adb8c92079 100644 --- a/data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/prison.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_prison.lua @@ -2,7 +2,7 @@ local prison = MoveEvent() function prison.onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() - if not player or player:getStorageValue(Storage.WrathoftheEmperor.PrisonReleaseStatus) ~= 1 then + if not player or player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.PrisonReleaseStatus) ~= 1 then return true end @@ -10,13 +10,13 @@ function prison.onStepIn(creature, item, position, fromPosition) player:removeCondition(CONDITION_OUTFIT) end - player:setStorageValue(Storage.WrathoftheEmperor.PrisonReleaseStatus, 0) - player:setStorageValue(Storage.WrathoftheEmperor.GuardcaughtYou, -1) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.PrisonReleaseStatus, 0) + player:setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.GuardcaughtYou, -1) local destination = Position(33359, 31183, 8) player:teleportTo(destination) position:sendMagicEffect(CONST_ME_TELEPORT) destination:sendMagicEffect(CONST_ME_TELEPORT) - if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 2 then + if player:getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Questline) == 2 then player:addItem(11328) end return true diff --git a/data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/teleports_access.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_teleports_access.lua similarity index 68% rename from data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/teleports_access.lua rename to data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_teleports_access.lua index 9b39cf1f5fc..069b90389c0 100644 --- a/data-otservbr-global/scripts/movements/quests/wrath_of_the_emperor/teleports_access.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_teleports_access.lua @@ -31,13 +31,13 @@ local positions = { } local config = { - { Access = Storage.WrathoftheEmperor.TeleportAccess.Rebel, teleportPos = Position(33136, 31248, 6), destinationA = Position(33211, 31065, 9), destinationB = Position(33138, 31248, 6) }, - { Access = Storage.WrathoftheEmperor.TeleportAccess.Zlak, teleportPos = Position(33216, 31067, 9), destinationA = Position(33078, 31219, 8), destinationB = Position(33216, 31069, 9) }, - { Access = Storage.WrathoftheEmperor.TeleportAccess.Zizzle, teleportPos = Position(33084, 31213, 8), destinationA = Position(33094, 31122, 12), destinationB = Position(33083, 31214, 8), itemPos = Position(33086, 31214, 8) }, - { Access = Storage.WrathoftheEmperor.TeleportAccess.SleepingDragon, teleportPos = Position(33111, 31123, 12), destinationA = Position(33240, 31247, 10), destinationB = Position(33109, 31122, 12), destinationC = Position(33028, 31086, 13) }, - { Access = Storage.WrathoftheEmperor.TeleportAccess.AwarnessEmperor, teleportPos = Position(33072, 31150, 15), destinationA = Position(33361, 31397, 9), destinationB = Position(33071, 31152, 15) }, - { Access = Storage.WrathoftheEmperor.TeleportAccess.BossRoom, teleportPos = Position(33136, 31249, 6), destinationA = Position(33360, 31397, 9), destinationB = Position(33138, 31249, 6) }, - { Access = Storage.WrathoftheEmperor.TeleportAccess.InnerSanctum, teleportPos = Position(33028, 31084, 13), destinationA = Position(33109, 31122, 12), destinationB = Position(33028, 31086, 13) }, + { Access = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Rebel, teleportPos = Position(33136, 31248, 6), destinationA = Position(33211, 31065, 9), destinationB = Position(33138, 31248, 6) }, + { Access = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Zlak, teleportPos = Position(33216, 31067, 9), destinationA = Position(33078, 31219, 8), destinationB = Position(33216, 31069, 9) }, + { Access = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.Zizzle, teleportPos = Position(33084, 31213, 8), destinationA = Position(33094, 31122, 12), destinationB = Position(33083, 31214, 8), itemPos = Position(33086, 31214, 8) }, + { Access = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.SleepingDragon, teleportPos = Position(33111, 31123, 12), destinationA = Position(33240, 31247, 10), destinationB = Position(33109, 31122, 12), destinationC = Position(33028, 31086, 13) }, + { Access = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.AwarnessEmperor, teleportPos = Position(33072, 31150, 15), destinationA = Position(33361, 31397, 9), destinationB = Position(33071, 31152, 15) }, + { Access = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.BossRoom, teleportPos = Position(33136, 31249, 6), destinationA = Position(33360, 31397, 9), destinationB = Position(33138, 31249, 6) }, + { Access = Storage.Quest.U8_6.WrathOfTheEmperor.TeleportAccess.InnerSanctum, teleportPos = Position(33028, 31084, 13), destinationA = Position(33109, 31122, 12), destinationB = Position(33028, 31086, 13) }, } local function tpX(i, player, position) diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index 73669a74286..6c2033edb64 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -2525,6 +2525,36 @@ ChestUnique = { weight = 15.00, storage = Storage.TibiaTales.AnInterestInBotany.BotanyAlmanach, }, + -- Wrath of the Emperor Quest + [6297] = { + itemId = 2469, + itemPos = { x = 33073, y = 31169, z = 8 }, + reward = { { 3035, 100 } }, + weight = 10.00, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.Chest100PlatinumCoins, + }, + [6298] = { + itemId = 2472, + itemPos = { x = 33074, y = 31169, z = 8 }, + container = 2853, + reward = { { 11695, 1 }, { 10326, 1 }, { 5801, 1 }, { 3041, 1 }, { 3027, 10 }, { 9058, 5 }, { 5882, 10 }, { 3043, 10 } }, + weight = 151.00, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.ChestBag, + }, + [6299] = { + itemId = 2473, + itemPos = { x = 33078, y = 31170, z = 8 }, + reward = { { 11686, 1 } }, + weight = 130.00, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.ChestItems, + }, + [6300] = { + itemId = 2473, + itemPos = { x = 33080, y = 31170, z = 8 }, + reward = { { 11689, 1 } }, + weight = 43.00, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.ChestItems, + }, -- Reward of others scrips files (varied rewards) -- The First dragon Quest -- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua) diff --git a/data-otservbr-global/startup/tables/door_quest.lua b/data-otservbr-global/startup/tables/door_quest.lua index 939b2809df1..de2e9854342 100644 --- a/data-otservbr-global/startup/tables/door_quest.lua +++ b/data-otservbr-global/startup/tables/door_quest.lua @@ -271,15 +271,15 @@ QuestDoorAction = { itemPos = { { x = 33470, y = 32786, z = 11 } }, }, -- Wrath of the emperor door - [Storage.WrathoftheEmperor.Mission02] = { + [Storage.Quest.U8_6.WrathOfTheEmperor.Mission02] = { itemId = false, itemPos = { { x = 33242, y = 31051, z = 10 } }, }, - [Storage.WrathoftheEmperor.Mission08] = { + [Storage.Quest.U8_6.WrathOfTheEmperor.Mission08] = { itemId = false, itemPos = { { x = 33080, y = 31164, z = 8 } }, }, - [Storage.WrathoftheEmperor.Mission12] = { + [Storage.Quest.U8_6.WrathOfTheEmperor.Mission12] = { itemId = false, itemPos = { { x = 33076, y = 31176, z = 8 } }, }, @@ -758,7 +758,7 @@ QuestDoorAction = { itemId = false, itemPos = { { x = 33047, y = 31295, z = 7 } }, }, - [Storage.WrathoftheEmperor.Mission06] = { + [Storage.Quest.U8_6.WrathOfTheEmperor.Mission06] = { itemId = false, itemPos = { { x = 33080, y = 31215, z = 7 }, @@ -766,14 +766,14 @@ QuestDoorAction = { { x = 33090, y = 31190, z = 7 }, }, }, - [Storage.WrathoftheEmperor.Mission07] = { + [Storage.Quest.U8_6.WrathOfTheEmperor.Mission07] = { itemId = false, itemPos = { { x = 33073, y = 31170, z = 7 }, { x = 33074, y = 31170, z = 7 }, }, }, - [Storage.WrathoftheEmperor.Mission09] = { + [Storage.Quest.U8_6.WrathOfTheEmperor.Mission09] = { itemId = false, itemPos = { { x = 33083, y = 31216, z = 8 } }, }, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index e4da2255a87..ba781a5b6fa 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -261,6 +261,62 @@ ItemAction = { { x = 33293, y = 31122, z = 5 }, }, }, + -- Wrath of the Emperor Quest + [8024] = { + itemId = false, + itemPos = { + {x = 33250, y = 31067, z = 10}, + {x = 33251, y = 31064, z = 10}, + {x = 33251, y = 31066, z = 10}, + {x = 33251, y = 31067, z = 10}, + {x = 33252, y = 31065, z = 10}, + {x = 33250, y = 31068, z = 10}, + {x = 33251, y = 31065, z = 10}, + {x = 33250, y = 31064, z = 10}, + {x = 33250, y = 31065, z = 10}, + {x = 33250, y = 31066, z = 10}, + }, + }, + [8025] = { + itemId = false, + itemPos = { + {x = 33282, y = 31037, z = 10}, + {x = 33282, y = 31036, z = 10}, + {x = 33282, y = 31036, z = 10}, + }, + }, + [8026] = { + itemId = false, + itemPos = { + {x = 33168, y = 31073, z = 11}, + {x = 33179, y = 31072, z = 11}, + {x = 33175, y = 31078, z = 11}, + {x = 33181, y = 31078, z = 11}, + {x = 33183, y = 31076, z = 11}, + {x = 33176, y = 31082, z = 11}, + {x = 33184, y = 31072, z = 11}, + {x = 33161, y = 31061, z = 11}, + {x = 33167, y = 31060, z = 11}, + {x = 33161, y = 31066, z = 11}, + {x = 33164, y = 31064, z = 11}, + {x = 33165, y = 31067, z = 11}, + {x = 33161, y = 31070, z = 11}, + {x = 33182, y = 31059, z = 11}, + {x = 33177, y = 31062, z = 11}, + {x = 33180, y = 31063, z = 11}, + {x = 33178, y = 31067, z = 11}, + {x = 33182, y = 31066, z = 11}, + {x = 33170, y = 31068, z = 11}, + {x = 33176, y = 31070, z = 11}, + {x = 33182, y = 31071, z = 11}, + {x = 33183, y = 31069, z = 11}, + {x = 33161, y = 31074, z = 11}, + {x = 33167, y = 31075, z = 11}, + {x = 33164, y = 31076, z = 11}, + {x = 33166, y = 31081, z = 11}, + {x = 33165, y = 31084, z = 11}, + }, + }, -- The Pits of Inferno Quest [8815] = { itemId = false, @@ -1394,6 +1450,43 @@ ItemUnique = { itemId = 9874, itemPos = { x = 33348, y = 31412, z = 8 }, }, + -- Wrath of the Emperor Quest + [3189] = { + itemId = 1949, + itemPos = { x = 33052, y = 31083, z = 14 }, + }, + [3190] = { + itemId = 1949, + itemPos = { x = 33098, y = 31083, z = 14 }, + }, + [3191] = { + itemId = 1949, + itemPos = { x = 33101, y = 31118, z = 14 }, + }, + [3192] = { + itemId = 1949, + itemPos = { x = 33059, y = 31122, z = 14 }, + }, + [3193] = { + itemId = 11427, + itemPos = { x = 33048, y = 31085, z = 15 }, + }, + [3194] = { + itemId = 11427, + itemPos = { x = 33094, y = 31087, z = 15 }, + }, + [3195] = { + itemId = 11427, + itemPos = { x = 33095, y = 31110, z = 15 }, + }, + [3196] = { + itemId = 11427, + itemPos = { x = 33048, y = 31111, z = 15 }, + }, + [3200] = { + itemId = 11431, + itemPos = { x = 33073, y = 31173, z = 8 }, + }, -- Barbarian Arena Quest [3264] = { itemId = 10145, diff --git a/data-otservbr-global/startup/tables/lever.lua b/data-otservbr-global/startup/tables/lever.lua index 015403c1cc7..3405b60769a 100644 --- a/data-otservbr-global/startup/tables/lever.lua +++ b/data-otservbr-global/startup/tables/lever.lua @@ -209,6 +209,11 @@ LeverUnique = { itemId = 2772, itemPos = { x = 32862, y = 32555, z = 11 }, }, + -- Wrath of the Emperor Quest + [1053] = { + itemId = 2772, + itemPos = { x = 32801, y = 32640, z = 15 }, + }, -- Dreamers Challenge Quest [2004] = { itemId = 2772, @@ -329,6 +334,15 @@ LeverUnique = { itemId = 2772, itemPos = { x = 32833, y = 32224, z = 14 }, }, + -- Wrath of the Emperor Quest + [3184] = { + itemId = 2772, + itemPos = { x = 33078, y = 31079, z = 13 }, + }, + [3185] = { + itemId = 2772, + itemPos = { x = 33082, y = 31109, z = 2 }, + }, -- The Pits of Inferno Quest [3300] = { itemId = 2772, diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index ef4540c24b1..6d5a05a4c98 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -486,8 +486,8 @@ function onUseShovel(player, item, fromPosition, target, toPosition, isHotkey) Game.createMonster("Scarab", toPosition) end toPosition:sendMagicEffect(CONST_ME_POFF) - -- Rookgaard tutorial island - elseif target.itemid == 351 and target.actionid == 8024 then + -- Wrath of the Emperor Quest + elseif target.actionid == 8024 then player:addItem(11341, 1) player:say("You dig out a handful of earth from this sacred place.", TALKTYPE_MONSTER_SAY) elseif target.itemid == 7749 and player:getStorageValue(Storage.Quest.U8_2.TheBeginningQuest.TutorialHintsStorage) < 20 then From 342a471c1d42afbb1d47341be4983eb8cb49275c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 9 Aug 2024 19:57:06 +0000 Subject: [PATCH 096/112] Lua code format - (Stylua) --- .../globalevents_crate.lua | 57 +++++++------ .../wrath_of_the_emperor/movements_crate.lua | 1 - data-otservbr-global/startup/tables/item.lua | 80 +++++++++---------- 3 files changed, 68 insertions(+), 70 deletions(-) diff --git a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/globalevents_crate.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/globalevents_crate.lua index b8ae49b1ee6..03755606ca3 100644 --- a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/globalevents_crate.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/globalevents_crate.lua @@ -1,41 +1,40 @@ local trapDoors = { - { Position(33385, 31139, 8) }, - { Position(33385, 31134, 8) }, - { Position(33385, 31126, 8) }, - { Position(33385, 31119, 8) }, - { Position(33385, 31118, 8) }, - { Position(33380, 31093, 8) }, - { Position(33380, 31085, 8) }, + { Position(33385, 31139, 8) }, + { Position(33385, 31134, 8) }, + { Position(33385, 31126, 8) }, + { Position(33385, 31119, 8) }, + { Position(33385, 31118, 8) }, + { Position(33380, 31093, 8) }, + { Position(33380, 31085, 8) }, } -local itemIds = {11257, 11258} +local itemIds = { 11257, 11258 } local toggleTrapDoors = GlobalEvent("toggleTrapDoors") function toggleTrapDoors.onThink(interval) - for _, position in ipairs(trapDoors) do - local tile = Tile(position[1]) - if tile then - local currentItem = nil - for _, item in ipairs(tile:getItems()) do - if item:getId() == 11257 or item:getId() == 11258 then - currentItem = item - break - end - end + for _, position in ipairs(trapDoors) do + local tile = Tile(position[1]) + if tile then + local currentItem = nil + for _, item in ipairs(tile:getItems()) do + if item:getId() == 11257 or item:getId() == 11258 then + currentItem = item + break + end + end - local newItemId = 11257 - if currentItem then - newItemId = (currentItem:getId() == 11257) and 11258 or 11257 - currentItem:transform(newItemId) - else - Game.createItem(newItemId, 1, position[1]) - end - end - end - return true + local newItemId = 11257 + if currentItem then + newItemId = (currentItem:getId() == 11257) and 11258 or 11257 + currentItem:transform(newItemId) + else + Game.createItem(newItemId, 1, position[1]) + end + end + end + return true end toggleTrapDoors:interval(10000) -- 10 seconds toggleTrapDoors:register() - diff --git a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua index 8052a0fc2bc..afc62d6ca67 100644 --- a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua @@ -299,4 +299,3 @@ for index, value in pairs(positions) do crate:position(value) end crate:register() - diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index ba781a5b6fa..3abca076b9d 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -265,56 +265,56 @@ ItemAction = { [8024] = { itemId = false, itemPos = { - {x = 33250, y = 31067, z = 10}, - {x = 33251, y = 31064, z = 10}, - {x = 33251, y = 31066, z = 10}, - {x = 33251, y = 31067, z = 10}, - {x = 33252, y = 31065, z = 10}, - {x = 33250, y = 31068, z = 10}, - {x = 33251, y = 31065, z = 10}, - {x = 33250, y = 31064, z = 10}, - {x = 33250, y = 31065, z = 10}, - {x = 33250, y = 31066, z = 10}, + { x = 33250, y = 31067, z = 10 }, + { x = 33251, y = 31064, z = 10 }, + { x = 33251, y = 31066, z = 10 }, + { x = 33251, y = 31067, z = 10 }, + { x = 33252, y = 31065, z = 10 }, + { x = 33250, y = 31068, z = 10 }, + { x = 33251, y = 31065, z = 10 }, + { x = 33250, y = 31064, z = 10 }, + { x = 33250, y = 31065, z = 10 }, + { x = 33250, y = 31066, z = 10 }, }, }, [8025] = { itemId = false, itemPos = { - {x = 33282, y = 31037, z = 10}, - {x = 33282, y = 31036, z = 10}, - {x = 33282, y = 31036, z = 10}, + { x = 33282, y = 31037, z = 10 }, + { x = 33282, y = 31036, z = 10 }, + { x = 33282, y = 31036, z = 10 }, }, }, [8026] = { itemId = false, itemPos = { - {x = 33168, y = 31073, z = 11}, - {x = 33179, y = 31072, z = 11}, - {x = 33175, y = 31078, z = 11}, - {x = 33181, y = 31078, z = 11}, - {x = 33183, y = 31076, z = 11}, - {x = 33176, y = 31082, z = 11}, - {x = 33184, y = 31072, z = 11}, - {x = 33161, y = 31061, z = 11}, - {x = 33167, y = 31060, z = 11}, - {x = 33161, y = 31066, z = 11}, - {x = 33164, y = 31064, z = 11}, - {x = 33165, y = 31067, z = 11}, - {x = 33161, y = 31070, z = 11}, - {x = 33182, y = 31059, z = 11}, - {x = 33177, y = 31062, z = 11}, - {x = 33180, y = 31063, z = 11}, - {x = 33178, y = 31067, z = 11}, - {x = 33182, y = 31066, z = 11}, - {x = 33170, y = 31068, z = 11}, - {x = 33176, y = 31070, z = 11}, - {x = 33182, y = 31071, z = 11}, - {x = 33183, y = 31069, z = 11}, - {x = 33161, y = 31074, z = 11}, - {x = 33167, y = 31075, z = 11}, - {x = 33164, y = 31076, z = 11}, - {x = 33166, y = 31081, z = 11}, - {x = 33165, y = 31084, z = 11}, + { x = 33168, y = 31073, z = 11 }, + { x = 33179, y = 31072, z = 11 }, + { x = 33175, y = 31078, z = 11 }, + { x = 33181, y = 31078, z = 11 }, + { x = 33183, y = 31076, z = 11 }, + { x = 33176, y = 31082, z = 11 }, + { x = 33184, y = 31072, z = 11 }, + { x = 33161, y = 31061, z = 11 }, + { x = 33167, y = 31060, z = 11 }, + { x = 33161, y = 31066, z = 11 }, + { x = 33164, y = 31064, z = 11 }, + { x = 33165, y = 31067, z = 11 }, + { x = 33161, y = 31070, z = 11 }, + { x = 33182, y = 31059, z = 11 }, + { x = 33177, y = 31062, z = 11 }, + { x = 33180, y = 31063, z = 11 }, + { x = 33178, y = 31067, z = 11 }, + { x = 33182, y = 31066, z = 11 }, + { x = 33170, y = 31068, z = 11 }, + { x = 33176, y = 31070, z = 11 }, + { x = 33182, y = 31071, z = 11 }, + { x = 33183, y = 31069, z = 11 }, + { x = 33161, y = 31074, z = 11 }, + { x = 33167, y = 31075, z = 11 }, + { x = 33164, y = 31076, z = 11 }, + { x = 33166, y = 31081, z = 11 }, + { x = 33165, y = 31084, z = 11 }, }, }, -- The Pits of Inferno Quest From fb4f4fd7f080fe46ae9f46e120a9df0c375ed460 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Fri, 9 Aug 2024 17:05:45 -0300 Subject: [PATCH 097/112] Storage organization - Wrath of The Emperor --- data-otservbr-global/lib/core/storages.lua | 23 ++++++++---------- .../actions_mission01_lights.lua | 24 +++++++++---------- .../creaturescripts_bosses_kill.lua | 8 +++---- .../movements_boss_teleport.lua | 8 +++---- .../wrath_of_the_emperor/movements_crate.lua | 6 ++--- 5 files changed, 33 insertions(+), 36 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 09d0b55a2e0..b6333e819ad 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2311,6 +2311,16 @@ Storage = { Chest100PlatinumCoins = 43034, ChestBag = 43035, ChestItems = 43036, + Light01 = 43037, + Light02 = 43038, + Light03 = 43039, + Light04 = 43040, + Bosses = { + Fury = 43041, + Wrath = 43042, + Scorn = 43043, + Spite = 43044, + }, }, }, U8_61 = { -- update 8.61 - Reserved Storages 43201 - 43230 @@ -2928,19 +2938,6 @@ GlobalStorage = { }, Mouthpiece = 60114, }, - WrathOfTheEmperor = { - -- Reserved storage from 60120 - 60139 - Light01 = 60120, - Light02 = 60121, - Light03 = 60122, - Light04 = 60123, - Bosses = { - Fury = 60130, - Wrath = 60131, - Scorn = 60132, - Spite = 60133, - }, - }, TheOrderOfTheLion = { -- Reserved storage from 60170 - 60171 Drume = { diff --git a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission01_lights.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission01_lights.lua index 0aa09ce5f3b..bf38e4f8dd0 100644 --- a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission01_lights.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/actions_mission01_lights.lua @@ -15,9 +15,9 @@ end local wrathEmperorMiss1Light = Action() function wrathEmperorMiss1Light.onUse(player, item, fromPosition, target, toPosition, isHotkey) if fromPosition == Position(positions[1]) then - if Game.getStorageValue(GlobalStorage.WrathOfTheEmperor.Light01) ~= 1 then - Game.setStorageValue(GlobalStorage.WrathOfTheEmperor.Light01, 1) - addEvent(Game.setStorageValue, 20 * 1000, GlobalStorage.WrathOfTheEmperor.Light01, 0) + if Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light01) ~= 1 then + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light01, 1) + addEvent(Game.setStorageValue, 20 * 1000, Storage.Quest.U8_6.WrathOfTheEmperor.Light01, 0) local pos = { Position(33369, 31075, 8), Position(33372, 31075, 8), @@ -29,9 +29,9 @@ function wrathEmperorMiss1Light.onUse(player, item, fromPosition, target, toPosi end end elseif fromPosition == Position(positions[2]) then - if Game.getStorageValue(GlobalStorage.WrathOfTheEmperor.Light02) ~= 1 then - Game.setStorageValue(GlobalStorage.WrathOfTheEmperor.Light02, 1) - addEvent(Game.setStorageValue, 20 * 1000, GlobalStorage.WrathOfTheEmperor.Light02, 0) + if Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light02) ~= 1 then + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light02, 1) + addEvent(Game.setStorageValue, 20 * 1000, Storage.Quest.U8_6.WrathOfTheEmperor.Light02, 0) local pos = { Position(33357, 31077, 8), Position(33360, 31079, 8), @@ -42,9 +42,9 @@ function wrathEmperorMiss1Light.onUse(player, item, fromPosition, target, toPosi end end elseif fromPosition == Position(positions[3]) then - if Game.getStorageValue(GlobalStorage.WrathOfTheEmperor.Light04) ~= 1 then - Game.setStorageValue(GlobalStorage.WrathOfTheEmperor.Light04, 1) - addEvent(Game.setStorageValue, 20 * 1000, GlobalStorage.WrathOfTheEmperor.Light04, 0) + if Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light04) ~= 1 then + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light04, 1) + addEvent(Game.setStorageValue, 20 * 1000, Storage.Quest.U8_6.WrathOfTheEmperor.Light04, 0) local wallItem, pos for i = 1, 4 do pos = Position(33355, 31067 + i, 9) @@ -72,9 +72,9 @@ function wrathEmperorMiss1Light.onUse(player, item, fromPosition, target, toPosi end end elseif fromPosition == Position(positions[4]) then - if Game.getStorageValue(GlobalStorage.WrathOfTheEmperor.Light03) ~= 1 then - Game.setStorageValue(GlobalStorage.WrathOfTheEmperor.Light03, 1) - addEvent(Game.setStorageValue, 20 * 1000, GlobalStorage.WrathOfTheEmperor.Light03, 0) + if Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light03) ~= 1 then + Game.setStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light03, 1) + addEvent(Game.setStorageValue, 20 * 1000, Storage.Quest.U8_6.WrathOfTheEmperor.Light03, 0) local pos = Position(33346, 31074, 8) transformLamp(pos, 10493, 10478) addEvent(transformLamp, 20 * 1000, pos, 10478, 10493) diff --git a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_bosses_kill.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_bosses_kill.lua index 6fe0de0f933..4bd0c94dbf0 100644 --- a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_bosses_kill.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/creaturescripts_bosses_kill.lua @@ -1,19 +1,19 @@ local bosses = { ["fury of the emperor"] = { position = Position(33048, 31085, 15), - storage = GlobalStorage.WrathOfTheEmperor.Bosses.Fury, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.Bosses.Fury, }, ["wrath of the emperor"] = { position = Position(33094, 31087, 15), - storage = GlobalStorage.WrathOfTheEmperor.Bosses.Wrath, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.Bosses.Wrath, }, ["scorn of the emperor"] = { position = Position(33095, 31110, 15), - storage = GlobalStorage.WrathOfTheEmperor.Bosses.Scorn, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.Bosses.Scorn, }, ["spite of the emperor"] = { position = Position(33048, 31111, 15), - storage = GlobalStorage.WrathOfTheEmperor.Bosses.Spite, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.Bosses.Spite, }, } diff --git a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_boss_teleport.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_boss_teleport.lua index 11c84501a2d..900dda522f7 100644 --- a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_boss_teleport.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_boss_teleport.lua @@ -1,19 +1,19 @@ local teleports = { [3189] = { destination = Position(33041, 31086, 15), - storage = GlobalStorage.WrathOfTheEmperor.Bosses.Fury, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.Bosses.Fury, }, [3190] = { destination = Position(33091, 31083, 15), - storage = GlobalStorage.WrathOfTheEmperor.Bosses.Wrath, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.Bosses.Wrath, }, [3191] = { destination = Position(33094, 31118, 15), - storage = GlobalStorage.WrathOfTheEmperor.Bosses.Scorn, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.Bosses.Scorn, }, [3192] = { destination = Position(33038, 31119, 15), - storage = GlobalStorage.WrathOfTheEmperor.Bosses.Spite, + storage = Storage.Quest.U8_6.WrathOfTheEmperor.Bosses.Spite, }, } diff --git a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua index afc62d6ca67..54ef675a36e 100644 --- a/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua +++ b/data-otservbr-global/scripts/quests/wrath_of_the_emperor/movements_crate.lua @@ -267,19 +267,19 @@ function crate.onStepIn(creature, item, position, fromPosition, toPosition) end elseif j >= 176 and j <= 183 then if player:getPosition() == Position(positions[j]) then - if Game.getStorageValue(GlobalStorage.WrathOfTheEmperor.Light01) ~= 1 then + if Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light01) ~= 1 then catchPlayer(player) end end elseif j >= 184 and j <= 197 then if player:getPosition() == Position(positions[j]) then - if Game.getStorageValue(GlobalStorage.WrathOfTheEmperor.Light02) ~= 1 then + if Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light02) ~= 1 then catchPlayer(player) end end elseif j >= 198 and j <= 204 then if player:getPosition() == Position(positions[j]) then - if Game.getStorageValue(GlobalStorage.WrathOfTheEmperor.Light03) ~= 1 then + if Game.getStorageValue(Storage.Quest.U8_6.WrathOfTheEmperor.Light03) ~= 1 then catchPlayer(player) end end From 8847596d8a8b4ed034fc940e213c0f033be03294 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Fri, 9 Aug 2024 20:59:24 -0300 Subject: [PATCH 098/112] Rottin Wood and the Married Men Quest --- data-otservbr-global/lib/core/storages.lua | 19 ++- .../travelling_merchant.lua | 97 +++++++++++ data-otservbr-global/npc/rottin_wood.lua | 153 +++++++++++------- .../rottin_wood_and_married_men/trap.lua | 72 --------- .../scripts/actions/tools/hammer.lua | 4 +- .../scripts/actions/tools/present.lua | 2 +- .../scripts/actions/tools/skinning.lua | 5 + .../actions_broken_wall.lua} | 4 +- .../actions_corpse.lua} | 8 +- .../actions_trap.lua | 115 +++++++++++++ data-otservbr-global/startup/tables/item.lua | 31 ++++ 11 files changed, 360 insertions(+), 150 deletions(-) create mode 100644 data-otservbr-global/monster/quests/rottin_wood_and_the_married_men_quest/travelling_merchant.lua delete mode 100644 data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/trap.lua rename data-otservbr-global/scripts/{actions/quests/rottin_wood_and_married_men/broken_wall.lua => quests/rottin_wood_and_married_men/actions_broken_wall.lua} (75%) rename data-otservbr-global/scripts/{actions/quests/rottin_wood_and_married_men/corpse.lua => quests/rottin_wood_and_married_men/actions_corpse.lua} (60%) create mode 100644 data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_trap.lua diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index b6333e819ad..473b251f1a4 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -1051,15 +1051,6 @@ Storage = { Questline = 52311, }, }, - RottinWoodAndMaried = { - -- Reserved storage from 52340 - 52349 - Questline = 52340, - RottinStart = 52341, - Trap = 52342, - Corpse = 52343, - Time = 52344, - Mission03 = 52345, - }, TheMummysCurse = { -- Reserved storage from 52350 - 52359 Time1 = 52351, @@ -2335,7 +2326,15 @@ Storage = { JackToTheFuture = {}, LastCreepStanding = {}, ResearchAndDevelopment = {}, - RottinWoodAndTheMarriedMen = {}, + RottinWoodAndTheMarriedMen = { + Questline = 43231, + RottinStart = 43232, + Trap = 43233, + Corpse = 43234, + Time = 43235, + Mission03 = 43236, + FirstTime = 43237, + }, Spirithunters = {}, TheColoursOfMagic = {}, }, diff --git a/data-otservbr-global/monster/quests/rottin_wood_and_the_married_men_quest/travelling_merchant.lua b/data-otservbr-global/monster/quests/rottin_wood_and_the_married_men_quest/travelling_merchant.lua new file mode 100644 index 00000000000..0046c0a594d --- /dev/null +++ b/data-otservbr-global/monster/quests/rottin_wood_and_the_married_men_quest/travelling_merchant.lua @@ -0,0 +1,97 @@ +local mType = Game.createMonsterType("Travelling Merchant") +local monster = {} + +monster.description = "a travelling merchant" +monster.experience = 0 +monster.outfit = { + lookType = 132, + lookHead = 112, + lookBody = 109, + lookLegs = 109, + lookFeet = 95, + lookAddons = 0, + lookMount = 0, +} + + +monster.health = 110 +monster.maxHealth = 110 +monster.race = "blood" +monster.corpse = 18042 +monster.speed = 86 +monster.manaCost = 390 + +monster.changeTarget = { + interval = 4000, + chance = 10, +} + +monster.strategiesTarget = { + nearest = 100, +} + +monster.flags = { + summonable = true, + attackable = true, + hostile = true, + convinceable = true, + pushable = true, + rewardBoss = false, + illusionable = true, + canPushItems = true, + canPushCreatures = false, + staticAttackChance = 90, + targetDistance = 4, + runHealth = 0, + healthHidden = false, + isBlockable = false, + canWalkOnEnergy = false, + canWalkOnFire = false, + canWalkOnPoison = false, +} + +monster.light = { + level = 0, + color = 0, +} + +monster.voices = { + interval = 5000, + chance = 10, +} + +monster.loot = { +} + +monster.attacks = { + { name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -45 }, + { name = "combat", interval = 2000, chance = 15, type = COMBAT_PHYSICALDAMAGE, minDamage = 0, maxDamage = -40, range = 5, shootEffect = CONST_ANI_THROWINGKNIFE, target = false }, +} + +monster.defenses = { + defense = 10, + armor = 10, + mitigation = 0.28, +} + +monster.elements = { + { type = COMBAT_PHYSICALDAMAGE, percent = -5 }, + { type = COMBAT_ENERGYDAMAGE, percent = 0 }, + { type = COMBAT_EARTHDAMAGE, percent = 0 }, + { type = COMBAT_FIREDAMAGE, percent = 0 }, + { type = COMBAT_LIFEDRAIN, percent = 0 }, + { type = COMBAT_MANADRAIN, percent = 0 }, + { type = COMBAT_DROWNDAMAGE, percent = 0 }, + { type = COMBAT_ICEDAMAGE, percent = 0 }, + { type = COMBAT_HOLYDAMAGE, percent = 0 }, + { type = COMBAT_DEATHDAMAGE, percent = -5 }, +} + +monster.immunities = { + { type = "paralyze", condition = false }, + { type = "outfit", condition = false }, + { type = "invisible", condition = false }, + { type = "bleed", condition = false }, +} + +mType:register(monster) diff --git a/data-otservbr-global/npc/rottin_wood.lua b/data-otservbr-global/npc/rottin_wood.lua index b815737c4f3..610296c5e1b 100644 --- a/data-otservbr-global/npc/rottin_wood.lua +++ b/data-otservbr-global/npc/rottin_wood.lua @@ -51,58 +51,90 @@ local function creatureSayCallback(npc, creature, type, message) local playerId = player:getId() if MsgContains(message, "mission") or MsgContains(message, "task") then - if (getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03) < 1) and getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Time) <= os.time() then - npcHandler:say("Oh, you want some work? You can help us, alright. Did you know that the people of the city think those rabbit feet are actually lucky charms?", npc, creature) - npcHandler:setTopic(playerId, 1) - elseif getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03) == 1 then + -- Checks if the mission has not yet started and the cooldown has expired + if (getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) < 1) then + if getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Time) <= os.time() then + npcHandler:say("Oh, you want some work? You can help us, alright. Did you know that the people of the city think those rabbit feet are actually lucky charms?", npc, creature) + npcHandler:setTopic(playerId, 1) + else + npcHandler:say("You need to wait some hours to take another mission again or you are still on a mission.", npc, creature) + end + + -- Checks if the player is already on the rabbit feet collection mission + elseif getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) == 1 then npcHandler:say("Good to see you back. Now, did you bring us the lucky charms?", npc, creature) npcHandler:setTopic(playerId, 3) - elseif getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Time) > os.time() then - npcHandler:say("You need wait some hours to take other mission again or you are still on a mission.", npc, creature) - ------------------------ FINISH MISSION 01 ------------------------ - elseif getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03) == 2 then - npcHandler:say({ - "Of course, of course, there is indeed something you can help us with. Remember that we also have some tasks for you. So, are you ready for another quest to help the men of the forest?", - "There is a problem with one of our deer stands. Right. Well, there are two problems, our deer stands - and some of the walls of the buildings in the camp are broken. ...", - "You know, the guys built all of that themselves. Sure, at first it didn't quite work out as we planned and in the end we had to tear down half the forest - but - it was worth it. ...", - "Still, most of the camp is kind of... broken now. And someone with a good hammer and a steady hand needs to fix that. Or I am afraid we will have to freeze... during the cold evenings... well you know, hard times. ...", - "So what do you say, in for this one?", - }, npc, creature) - npcHandler:setTopic(playerId, 4) - elseif (getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03) == 3) and getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.RottinStart) > 4 then - npcHandler:say("Ah there you are. So, did you repair all the broken structures?", npc, creature) - npcHandler:setTopic(playerId, 5) - ------------------------ FINISH MISSION 02 ------------------------ - elseif getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03) == 4 then - npcHandler:say({ - "Oh my good friend, good to see you! Today you will help us with a very important task. Very important indeed. ...", - "You know, a large group of merchants is travelling from Thais to Venore and they are crossing the forest to shorten their way - can you believe it? ...", - "They will enter the forest near our camp which is where you come in - uhm I mean you do want to help us with this, right?", - }, npc, creature) - npcHandler:setTopic(playerId, 6) - elseif (getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03) == 5) and getPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Corpse) == 4 then - npcHandler:say("You did it!! And I assume you took only what you needed? Heh. No, I know it. Because my men took the rest. Thanks for helping us, you did a very good job. In fact I have a little 'extra' for you here, thanks again.", npc, creature) - ------------------ RESET STORAGE -------------------- - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03, -1) -- reset storage - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.RottinStart, -1) -- reset storage - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Trap, -1) -- reset storage - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Corpse, -1) -- reset storage - ----------------------------------------------------- - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Time, os.time() + configManager.getNumber(configKeys.BOSS_DEFAULT_TIME_TO_FIGHT_AGAIN)) -- set time to start mission again - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Questline, 2) -- quest log - ------------------- ITEM RANDOM -------------------- - local items = { - [0] = { id = 3035, count = 3, chance = 100 }, - [1] = { id = 3053, count = 1, chance = 80 }, - [2] = { id = 12260, count = 1, chance = 25 }, - } - for i = 0, #items do - if items[i].chance > math.random(1, 100) then - doPlayerAddItem(creature, items[i].id, items[i].count) - ---------------------------------------------------- - npcHandler:setTopic(playerId, 0) + -- Checks if Mission 03 is completed and the cooldown has expired + elseif getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) == 2 then + if getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Time) <= os.time() then + npcHandler:say({ + "Of course, of course, there is indeed something you can help us with. Remember that we also have some tasks for you. So, are you ready for another quest to help the men of the forest?", + "There is a problem with one of our deer stands. Right. Well, there are two problems, our deer stands - and some of the walls of the buildings in the camp are broken. ...", + "You know, the guys built all of that themselves. Sure, at first it didn't quite work out as we planned and in the end we had to tear down half the forest - but - it was worth it. ...", + "Still, most of the camp is kind of... broken now. And someone with a good hammer and a steady hand needs to fix that. Or I am afraid we will have to freeze... during the cold evenings... well you know, hard times. ...", + "So what do you say, in for this one?", + }, npc, creature) + npcHandler:setTopic(playerId, 4) + else + npcHandler:say("You need to wait some hours to take another mission again or you are still on a mission.", npc, creature) + end + + -- Checks if Mission 04 is completed and the cooldown has expired + elseif (getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) == 3) and getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.RottinStart) >= 4 then + if getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Time) <= os.time() then + npcHandler:say("Ah there you are. So, did you repair all the broken structures?", npc, creature) + npcHandler:setTopic(playerId, 5) + else + npcHandler:say("You need to wait some hours to take another mission again or you are still on a mission.", npc, creature) + end + + -- Checks if Mission 05 is completed and the cooldown has expired + elseif getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) == 4 then + if getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Time) <= os.time() then + npcHandler:say({ + "Oh |PLAYERNAME| my good friend, good to see you! Today you will help us with a very important task. Very important indeed. ...", + "You know, a large group of merchants is travelling from Thais to Venore and they are crossing the forest to shorten their way - can you believe it? ...", + "They will enter the forest near our camp which is where you come in - uhm I mean you do want to help us with this, right?", + }, npc, creature) + npcHandler:setTopic(playerId, 6) + else + npcHandler:say("You need to wait some hours to take another mission again or you are still on a mission.", npc, creature) + end + + -- Checks if Mission 06 is completed and the cooldown has expired + elseif (getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) == 5) and getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Corpse) == 4 then + if getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Time) <= os.time() then + npcHandler:say("You did it!! And I assume you took only what you needed? Heh. No, I know it. Because my men took the rest. Thanks for helping us, you did a very good job. In fact I have a little 'extra' for you here, thanks again.", npc, creature) + -- Checks if this is the first time the quest is completed + if getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.FirstTime) == 0 then + player:addExperience(1000, true) -- Adds 1000 experience on the first time + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.FirstTime, 1) -- Marks the quest as completed for the first time + else + player:addExperience(100, true) -- Adds 100 experience on subsequent completions + end + -- Resets storage values to start new missions + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03, -1) -- reset storage + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.RottinStart, -1) -- reset storage + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Trap, -1) -- reset storage + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Corpse, -1) -- reset storage + -- Sets the time to start a new mission + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Time, os.time() + configManager.getNumber(configKeys.BOSS_DEFAULT_TIME_TO_FIGHT_AGAIN)) -- set time to start mission again + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Questline, 2) -- quest log + -- Gives a reward item to the player + local items = { + [0] = { id = 3035, count = 3, chance = 100 }, + [1] = { id = 3053, count = 1, chance = 80 }, + [2] = { id = 12260, count = 1, chance = 25 }, + } + for i = 0, #items do + if items[i].chance > math.random(1, 100) then + doPlayerAddItem(creature, items[i].id, items[i].count) + npcHandler:setTopic(playerId, 0) + end end + else + npcHandler:say("You need to wait some hours to take another mission again or you are still on a mission.", npc, creature) end end ------------------------ FINISH MISSION 03 ------------------------ @@ -117,32 +149,33 @@ local function creatureSayCallback(npc, creature, type, message) "We will need at least seven. And seven is a lucky number, don't you think? Heh. ...", "If you need some more ribbons just come back to me and ask.", }, npc, creature) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03, 1) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Questline, 1) -- quest log + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03, 1) + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Questline, 1) -- quest log doPlayerAddItem(creature, 12171, 7) npcHandler:setTopic(playerId, 0) elseif (npcHandler:getTopic(playerId) == 3) and getPlayerItemCount(creature, 12173) >= 7 then npcHandler:say("Good hunt. That will be enough to help us uhm... get through the winter yes. Now if you want to help us getting even more lucky charms, you can always ask.", npc, creature) doPlayerRemoveItem(creature, 12173, 7) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03, 2) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Questline, 4) -- quest log + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03, 2) + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Questline, 4) -- quest log + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Time, os.time() + (20 * 3600)) -- 20 hours npcHandler:setTopic(playerId, 0) elseif (npcHandler:getTopic(playerId) == 3) and getPlayerItemCount(creature, 12173) <= 6 then npcHandler:say("You do not have sufficient rabbit's foot.", npc, creature) - ------------------------ FINISH MISSION 01 ------------------------ elseif npcHandler:getTopic(playerId) == 4 then npcHandler:say("Good, good. Do you remember the old saying? If it ain't broken, it was not made by us. Now, off you go!", npc, creature) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03, 3) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Questline, 3) -- quest log + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03, 3) + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Questline, 3) -- quest log npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 then npcHandler:say({ "Mmmmh, I have to say - good workmanship. No doubt. Yes, the person who made that tool you used to fix all this was a pure professional. Something I can't say about your work, though. ...", "The walls look as if they will come off in a matter of hours. Oh well, you can always come back and repair this mess, ask me for a task if you want to. Yeah, yeah and here's your reward for today.", }, npc, creature) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03, 4) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Questline, 6) -- quest log + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03, 4) + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Questline, 6) -- quest log + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Time, os.time() + (20 * 3600)) -- 20 hours doPlayerAddItem(creature, 3035, 5) npcHandler:setTopic(playerId, 0) ------------------------ FINISH MISSION 02 ------------------------ @@ -165,8 +198,8 @@ local function creatureSayCallback(npc, creature, type, message) "Off you go and - good hunt, heh.", }, npc, creature) doPlayerAddItem(creature, 12186, 5) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Mission03, 5) - setPlayerStorageValue(creature, Storage.RottinWoodAndMaried.Questline, 5) -- quest log + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03, 5) + setPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Questline, 5) -- quest log npcHandler:setTopic(playerId, 0) ------------------------ FINISH MISSION 03 ------------------------ end @@ -174,6 +207,8 @@ local function creatureSayCallback(npc, creature, type, message) return true end +npcHandler:setMessage(MESSAGE_GREET, "Hunter's greeting! I assume you want something from me since you came all the way out here on your own. This is a dangerous place to be, I doubt that all my men will accept strangers like I do. You don't seem to have any problems with that, though.") + npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) diff --git a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/trap.lua b/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/trap.lua deleted file mode 100644 index 4d324bb7cd2..00000000000 --- a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/trap.lua +++ /dev/null @@ -1,72 +0,0 @@ -function removeMonster() - doRemoveItem(getTileItemById({ x = 32662, y = 32190, z = 7 }, 2768).uid, 1) - Position(32662, 32190, 7):sendMagicEffect(CONST_ME_STONES) - local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } - local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } - - for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do - for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do - local tile = Tile(Position({ x = Px, y = Py, z = 7 })) - if tile then - local monster = tile:getTopCreature() - if monster and monster:isMonster() and monster:getName() == "Travelling Merchant" then - -- monster:remove() - monster:getPosition():sendMagicEffect(CONST_ME_STONES) - --setPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Trap, -1) - end - end - end - end - return true -end - -function removeTrap() - local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7, stackpos = 253 } - local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7, stackpos = 253 } - for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do - for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do - local trap = getTileItemById({ x = Px, y = Py, z = 7 }, 12187) - if trap then - setPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Trap, -1) - doRemoveItem(trap.uid, 1) - end - end - end - return true -end - -local rottinWoodtrap = Action() -function rottinWoodtrap.onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey) - if item.itemid == 12186 then - if itemEx.itemid == 10480 then - if (getPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Mission03) == 5) and getPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Trap) < 3 then - doCreatureSay(cid, "You place the trap carefully on the ground. Between twigs and leaves it is almost invisible.", TALKTYPE_MONSTER_SAY) - doRemoveItem(item.uid, 1) - Game.createItem(12187, 1, toPosition) - setPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Trap, getPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Trap) + 1) - else - if getPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Trap) == 3 then - doCreatureSay(cid, "It looks like the merchants are about to arrive, better hide somewhere where you can see whats going on in the area.", TALKTYPE_MONSTER_SAY) - doRemoveItem(item.uid, 1) - Game.createItem(12187, 1, toPosition) - doTeleportThing(cid, { x = 32660, y = 32193, z = 7 }) - Player(cid):getPosition():sendMagicEffect(CONST_ME_STONES) - Game.createItem(2768, 1, { x = 32662, y = 32190, z = 7 }) -- small fir tree - ----------------------- SUMMON MERCHANT ----------------------------- - doSummonCreature("Travelling Merchant", { x = 32656, y = 32182, z = 7 }) - doSummonCreature("Travelling Merchant", { x = 32660, y = 32181, z = 7 }) - doSummonCreature("Travelling Merchant", { x = 32661, y = 32184, z = 7 }) - doSummonCreature("Travelling Merchant", { x = 32662, y = 32181, z = 7 }) - doSummonCreature("Travelling Merchant", { x = 32657, y = 32185, z = 7 }) - ---------------------------------------------------------------------- - addEvent(removeMonster, 5 * 60 * 1000) - addEvent(removeTrap, 5 * 60 * 1000) - end - end - end - end - return true -end - -rottinWoodtrap:id(12186) -rottinWoodtrap:register() diff --git a/data-otservbr-global/scripts/actions/tools/hammer.lua b/data-otservbr-global/scripts/actions/tools/hammer.lua index 3473a76fd4f..e5889a20a7d 100644 --- a/data-otservbr-global/scripts/actions/tools/hammer.lua +++ b/data-otservbr-global/scripts/actions/tools/hammer.lua @@ -72,7 +72,7 @@ function hammer.onUse(player, item, fromPosition, target, toPosition, isHotkey) end -- Rottin wood and maried quest - if player:getStorageValue(Storage.RottinWoodAndMaried.RottinStart) < 6 then + if player:getStorageValue(Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.RottinStart) < 6 then local setting = settingTable[target:getActionId()] if setting then local woodenPosition = Position(setting.position) @@ -83,7 +83,7 @@ function hammer.onUse(player, item, fromPosition, target, toPosition, isHotkey) addEvent(createWooden, 2 * 60 * 1000, setting.position, setting.removeItem, setting.createItem, setting) end - player:setStorageValue(Storage.RottinWoodAndMaried.RottinStart, player:getStorageValue(Storage.RottinWoodAndMaried.RottinStart) + 1) + player:setStorageValue(Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.RottinStart, player:getStorageValue(Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.RottinStart) + 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You fixed this broken wall.") return true end diff --git a/data-otservbr-global/scripts/actions/tools/present.lua b/data-otservbr-global/scripts/actions/tools/present.lua index af9bf394378..284e858ec40 100644 --- a/data-otservbr-global/scripts/actions/tools/present.lua +++ b/data-otservbr-global/scripts/actions/tools/present.lua @@ -3,7 +3,7 @@ local present = Action() function present.onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 12171 then if itemEx.itemid == 12172 then - if getPlayerStorageValue(cid, Storage.RottinWoodAndMaried.Mission03) == 1 then + if getPlayerStorageValue(cid, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) == 1 then doRemoveItem(item.uid, 1) doRemoveItem(itemEx.uid, 1) doPlayerAddItem(cid, 12173, 1) diff --git a/data-otservbr-global/scripts/actions/tools/skinning.lua b/data-otservbr-global/scripts/actions/tools/skinning.lua index 3a029b52d11..2461dfb7e80 100644 --- a/data-otservbr-global/scripts/actions/tools/skinning.lua +++ b/data-otservbr-global/scripts/actions/tools/skinning.lua @@ -168,6 +168,11 @@ function skinning.onUse(player, item, fromPosition, target, toPosition, isHotkey player:addItem(954, 1) player:setStorageValue(789100, 2) return true + -- Rottin Wood and the Married Men Quest + elseif target.itemid == 4301 then + player:say("You successfully gathered a rabbit's food in excellent condition.", TALKTYPE_MONSTER_SAY) + player:addItem(12172, 1) + return true end end diff --git a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/broken_wall.lua b/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_broken_wall.lua similarity index 75% rename from data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/broken_wall.lua rename to data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_broken_wall.lua index 25569ea2d40..4a851283a2d 100644 --- a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/broken_wall.lua +++ b/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_broken_wall.lua @@ -1,8 +1,8 @@ local rottinWoodBroken = Action() function rottinWoodBroken.onUse(player, item, fromPosition, itemEx, toPosition, isHotkey) local position = { x = 32655, y = 32205, z = 7 } --32655, 32205, 7 - if player:getStorageValue(Storage.RottinWoodAndMaried.RottinStart) < 6 then - player:setStorageValue(Storage.RottinWoodAndMaried.RottinStart, 6) + if player:getStorageValue(Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.RottinStart) < 6 then + player:setStorageValue(Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.RottinStart, 6) player:teleportTo(position) position:sendMagicEffect(CONST_ME_TELEPORT) player:say("There we go.", TALKTYPE_MONSTER_SAY) diff --git a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/corpse.lua b/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_corpse.lua similarity index 60% rename from data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/corpse.lua rename to data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_corpse.lua index d6699dc7fd6..fd84e0fb0ac 100644 --- a/data-otservbr-global/scripts/actions/quests/rottin_wood_and_married_men/corpse.lua +++ b/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_corpse.lua @@ -2,14 +2,14 @@ local rottinWoodCorpse = Action() function rottinWoodCorpse.onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.itemid == 12189 then - local storageRottinWoodAndMariedCorpse = player:getStorageValue(Storage.RottinWoodAndMaried.Corpse) - if player:getStorageValue(Storage.RottinWoodAndMaried.Mission03) == 5 and storageRottinWoodAndMariedCorpse < 4 then + local storageRottinWoodAndMariedCorpse = player:getStorageValue(Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Corpse) + if player:getStorageValue(Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) == 5 and storageRottinWoodAndMariedCorpse < 4 then player:say("You take no more gold than you actually need and release the merchant who makes away the very second you remove the ropes.", TALKTYPE_MONSTER_SAY) - player:addItem(3031, 1) - player:setStorageValue(Storage.RottinWoodAndMaried.Corpse, storageRottinWoodAndMariedCorpse + 1) + player:setStorageValue(Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Corpse, storageRottinWoodAndMariedCorpse + 1) item:remove(1) end end + return true end diff --git a/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_trap.lua b/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_trap.lua new file mode 100644 index 00000000000..c72a52c5dd2 --- /dev/null +++ b/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_trap.lua @@ -0,0 +1,115 @@ +function removeMonster() + local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } + local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } + + -- Iterate over the area defined by TOP_LEFT_CORNER and BOTTOM_RIGHT_CORNER + for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do + for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do + local tile = Tile(Position({ x = Px, y = Py, z = 7 })) + if tile then + local monster = tile:getTopCreature() + -- Check if there is a "Travelling Merchant" monster on this tile + if monster and monster:isMonster() and monster:getName() == "Travelling Merchant" then + -- Apply visual effect + monster:getPosition():sendMagicEffect(CONST_ME_STONES) + + -- Remove the monster + monster:remove() + end + end + end + end + return true +end + +function removeTrap() + local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } + local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } + + -- Iterate over the area defined by TOP_LEFT_CORNER and BOTTOM_RIGHT_CORNER + for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do + for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do + local trap = getTileItemById({ x = Px, y = Py, z = 7 }, 12187) + if trap and trap.uid > 0 then + -- Update player's storage value + setPlayerStorageValue(cid, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Trap, -1) + + -- Remove the trap + doRemoveItem(trap.uid, 1) + + -- Create item 12189 at the position where the trap was removed + Game.createItem(12189, 1, { x = Px, y = Py, z = 7 }) + end + end + end + + -- Schedule the removal of items 12189 after a set time (e.g., 5 minutes) + addEvent(removeItems, 5 * 60 * 1000) + return true +end + +function removeItems() + local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } + local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } + + -- Iterate over the area defined by TOP_LEFT_CORNER and BOTTOM_RIGHT_CORNER + for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do + for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do + local item = getTileItemById({ x = Px, y = Py, z = 7 }, 12189) + if item and item.uid > 0 then + -- Remove item 12189 + doRemoveItem(item.uid, 1) + end + end + end + return true +end + +local rottinWoodtrap = Action() +function rottinWoodtrap.onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey) + if item.itemid == 12186 then + if itemEx.itemid == 10480 then + -- Check the player's storage values to determine if the trap can be placed + if (getPlayerStorageValue(cid, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) == 5) and getPlayerStorageValue(cid, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Trap) < 3 then + doCreatureSay(cid, "You place the trap carefully on the ground. Between twigs and leaves it is almost invisible.", TALKTYPE_MONSTER_SAY) + + -- Remove the trap item from the player's inventory and place it on the ground + doRemoveItem(item.uid, 1) + Game.createItem(12187, 1, toPosition) + + -- Update the player's storage value to reflect the placement of the trap + setPlayerStorageValue(cid, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Trap, getPlayerStorageValue(cid, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Trap) + 1) + else + if getPlayerStorageValue(cid, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Trap) == 3 then + doCreatureSay(cid, "It looks like the merchants are about to arrive, better hide somewhere where you can see what's going on in the area.", TALKTYPE_MONSTER_SAY) + + -- Remove the trap item and place it on the ground + doRemoveItem(item.uid, 1) + Game.createItem(12187, 1, toPosition) + + -- Teleport the player to a hiding spot and create a visual effect + doTeleportThing(cid, { x = 32660, y = 32193, z = 7 }) + Player(cid):getPosition():sendMagicEffect(CONST_ME_STONES) + + -- Place a small fir tree at the specified location + Game.createItem(2768, 1, { x = 32662, y = 32190, z = 7 }) -- small fir tree + + -- Summon the Travelling Merchant monsters in specified locations + doSummonCreature("Travelling Merchant", { x = 32656, y = 32182, z = 7 }) + doSummonCreature("Travelling Merchant", { x = 32660, y = 32181, z = 7 }) + doSummonCreature("Travelling Merchant", { x = 32661, y = 32184, z = 7 }) + doSummonCreature("Travelling Merchant", { x = 32662, y = 32181, z = 7 }) + doSummonCreature("Travelling Merchant", { x = 32657, y = 32185, z = 7 }) + + -- Schedule the removal of the monsters and traps after 5 minutes + addEvent(removeMonster, 5 * 60 * 1000) + addEvent(removeTrap, 5 * 60 * 1000) + end + end + end + end + return true +end + +rottinWoodtrap:id(12186) +rottinWoodtrap:register() diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 3abca076b9d..790090f417b 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -983,6 +983,37 @@ ItemAction = { { x = 32862, y = 32495, z = 9 }, }, }, + -- Rottin Wood and the Married Men Quest + [42501] = { + itemId = 12183, + itemPos = { + { x = 32647, y = 32216, z = 7 }, + }, + }, + [42502] = { + itemId = 12183, + itemPos = { + { x = 32660, y = 32213, z = 7 }, + }, + }, + [42503] = { + itemId = 12185, + itemPos = { + { x = 32644, y = 32183, z = 6 }, + }, + }, + [42504] = { + itemId = 12184, + itemPos = { + { x = 32660, y = 32201, z = 7 }, + }, + }, + [42505] = { + itemId = 12185, + itemPos = { + { x = 32652, y = 32200, z = 5 }, + }, + }, -- The Pits of Inferno [50082] = { itemId = 2576, From 46c749b6bcf77518855809d1eb6ddd6be9ac6388 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 10 Aug 2024 00:00:25 +0000 Subject: [PATCH 099/112] Lua code format - (Stylua) --- .../travelling_merchant.lua | 4 +- data-otservbr-global/npc/rottin_wood.lua | 2 +- .../actions_trap.lua | 116 +++++++++--------- 3 files changed, 60 insertions(+), 62 deletions(-) diff --git a/data-otservbr-global/monster/quests/rottin_wood_and_the_married_men_quest/travelling_merchant.lua b/data-otservbr-global/monster/quests/rottin_wood_and_the_married_men_quest/travelling_merchant.lua index 0046c0a594d..aafe9482199 100644 --- a/data-otservbr-global/monster/quests/rottin_wood_and_the_married_men_quest/travelling_merchant.lua +++ b/data-otservbr-global/monster/quests/rottin_wood_and_the_married_men_quest/travelling_merchant.lua @@ -13,7 +13,6 @@ monster.outfit = { lookMount = 0, } - monster.health = 110 monster.maxHealth = 110 monster.race = "blood" @@ -60,8 +59,7 @@ monster.voices = { chance = 10, } -monster.loot = { -} +monster.loot = {} monster.attacks = { { name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -45 }, diff --git a/data-otservbr-global/npc/rottin_wood.lua b/data-otservbr-global/npc/rottin_wood.lua index 610296c5e1b..380d5036d6d 100644 --- a/data-otservbr-global/npc/rottin_wood.lua +++ b/data-otservbr-global/npc/rottin_wood.lua @@ -52,7 +52,7 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "mission") or MsgContains(message, "task") then -- Checks if the mission has not yet started and the cooldown has expired - if (getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) < 1) then + if getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Mission03) < 1 then if getPlayerStorageValue(creature, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Time) <= os.time() then npcHandler:say("Oh, you want some work? You can help us, alright. Did you know that the people of the city think those rabbit feet are actually lucky charms?", npc, creature) npcHandler:setTopic(playerId, 1) diff --git a/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_trap.lua b/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_trap.lua index c72a52c5dd2..f35def8fe93 100644 --- a/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_trap.lua +++ b/data-otservbr-global/scripts/quests/rottin_wood_and_married_men/actions_trap.lua @@ -1,68 +1,68 @@ function removeMonster() - local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } - local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } - - -- Iterate over the area defined by TOP_LEFT_CORNER and BOTTOM_RIGHT_CORNER - for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do - for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do - local tile = Tile(Position({ x = Px, y = Py, z = 7 })) - if tile then - local monster = tile:getTopCreature() - -- Check if there is a "Travelling Merchant" monster on this tile - if monster and monster:isMonster() and monster:getName() == "Travelling Merchant" then - -- Apply visual effect - monster:getPosition():sendMagicEffect(CONST_ME_STONES) - - -- Remove the monster - monster:remove() - end - end - end - end - return true + local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } + local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } + + -- Iterate over the area defined by TOP_LEFT_CORNER and BOTTOM_RIGHT_CORNER + for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do + for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do + local tile = Tile(Position({ x = Px, y = Py, z = 7 })) + if tile then + local monster = tile:getTopCreature() + -- Check if there is a "Travelling Merchant" monster on this tile + if monster and monster:isMonster() and monster:getName() == "Travelling Merchant" then + -- Apply visual effect + monster:getPosition():sendMagicEffect(CONST_ME_STONES) + + -- Remove the monster + monster:remove() + end + end + end + end + return true end function removeTrap() - local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } - local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } - - -- Iterate over the area defined by TOP_LEFT_CORNER and BOTTOM_RIGHT_CORNER - for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do - for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do - local trap = getTileItemById({ x = Px, y = Py, z = 7 }, 12187) - if trap and trap.uid > 0 then - -- Update player's storage value - setPlayerStorageValue(cid, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Trap, -1) - - -- Remove the trap - doRemoveItem(trap.uid, 1) - - -- Create item 12189 at the position where the trap was removed - Game.createItem(12189, 1, { x = Px, y = Py, z = 7 }) - end - end - end - - -- Schedule the removal of items 12189 after a set time (e.g., 5 minutes) - addEvent(removeItems, 5 * 60 * 1000) - return true + local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } + local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } + + -- Iterate over the area defined by TOP_LEFT_CORNER and BOTTOM_RIGHT_CORNER + for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do + for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do + local trap = getTileItemById({ x = Px, y = Py, z = 7 }, 12187) + if trap and trap.uid > 0 then + -- Update player's storage value + setPlayerStorageValue(cid, Storage.Quest.U8_7.RottinWoodAndTheMarriedMen.Trap, -1) + + -- Remove the trap + doRemoveItem(trap.uid, 1) + + -- Create item 12189 at the position where the trap was removed + Game.createItem(12189, 1, { x = Px, y = Py, z = 7 }) + end + end + end + + -- Schedule the removal of items 12189 after a set time (e.g., 5 minutes) + addEvent(removeItems, 5 * 60 * 1000) + return true end function removeItems() - local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } - local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } - - -- Iterate over the area defined by TOP_LEFT_CORNER and BOTTOM_RIGHT_CORNER - for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do - for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do - local item = getTileItemById({ x = Px, y = Py, z = 7 }, 12189) - if item and item.uid > 0 then - -- Remove item 12189 - doRemoveItem(item.uid, 1) - end - end - end - return true + local TOP_LEFT_CORNER = { x = 32651, y = 32178, z = 7 } + local BOTTOM_RIGHT_CORNER = { x = 32668, y = 32190, z = 7 } + + -- Iterate over the area defined by TOP_LEFT_CORNER and BOTTOM_RIGHT_CORNER + for Py = TOP_LEFT_CORNER.y, BOTTOM_RIGHT_CORNER.y do + for Px = TOP_LEFT_CORNER.x, BOTTOM_RIGHT_CORNER.x do + local item = getTileItemById({ x = Px, y = Py, z = 7 }, 12189) + if item and item.uid > 0 then + -- Remove item 12189 + doRemoveItem(item.uid, 1) + end + end + end + return true end local rottinWoodtrap = Action() From d27d410977d88f6c0ed65e997bdbc40563ef5d63 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 09:40:49 -0300 Subject: [PATCH 100/112] Jack to the Future Quest --- data-otservbr-global/npc/jack.lua | 172 +++++++------------- data-otservbr-global/npc/mother_of_jack.lua | 18 +- data-otservbr-global/npc/sister_of_jack.lua | 16 +- data-otservbr-global/npc/spectulus.lua | 5 +- 4 files changed, 70 insertions(+), 141 deletions(-) diff --git a/data-otservbr-global/npc/jack.lua b/data-otservbr-global/npc/jack.lua index 0b18bddd5d5..1885a23a79d 100644 --- a/data-otservbr-global/npc/jack.lua +++ b/data-otservbr-global/npc/jack.lua @@ -23,31 +23,56 @@ npcConfig.flags = { floorchange = false, } -local function greetCallback(npc, creature) - local playerId = creature:getId() +npcConfig.voices = { + interval = 15000, + chance = 50, + { text = "Now I need to clean up everything again." }, + { text = "So much to do, so little time, they say..." }, + { text = "Could it be...? No. No way." }, + { text = "Mh..." }, +} + +local keywordHandler = KeywordHandler:new() +local npcHandler = NpcHandler:new(keywordHandler) + +npcType.onThink = function(npc, interval) + npcHandler:onThink(npc, interval) +end + +npcType.onAppear = function(npc, creature) + npcHandler:onAppear(npc, creature) +end + +npcType.onDisappear = function(npc, creature) + npcHandler:onDisappear(npc, creature) +end + +npcType.onMove = function(npc, creature, fromPosition, toPosition) + npcHandler:onMove(npc, creature, fromPosition, toPosition) +end + +npcType.onSay = function(npc, creature, type, message) + npcHandler:onSay(npc, creature, type, message) +end + +npcType.onCloseChannel = function(npc, creature) + npcHandler:onCloseChannel(npc, creature) +end + +local function greetCallback(npc, creature, message) local player = Player(creature) + local playerId = player:getId() if player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 7 then - npcHandler:setMessage( - MESSAGE_GREET, - "You!! What have you told my family? They are mad at me and I don't even know why! \z - They think I lied to them about working in Edron in secrecy! Why should I even do that!" - ) + npcHandler:setMessage(MESSAGE_GREET, "You!! What have you told my family? They are mad at me and I don't even know why! They think I lied to them about working in Edron in secrecy! Why should I even do that!") elseif player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 8 then npcHandler:setMessage(MESSAGE_GREET, { - "What did you do to my SCULPTURE? You simply DESTROYED it? Why? You... you ruined everything... \z - my house, my hobby, my life. My family even refuses to talk to me anymore. ...", - "Alright, alright you win. I am done for. You... you must be right, yes. Yes, I was working as an \z - intern... in the academy in Edron... yes... Just... tell this Spectulus guy I want to see him. \z - I have nothing left. I am ready.", - }) + "What did you do to my SCULPTURE? You simply DESTROYED it? Why? You... you ruined everything... my house, my hobby, my life. My family even refuses to talk to me anymore. ...", + "Alright, alright you win. I am done for. You... you must be right, yes. Yes, I was working as an intern... in the academy in Edron... yes... Just... tell this Spectulus guy I want to see him. I have nothing left. I am ready.", + }) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 9) elseif player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 10 then - npcHandler:setMessage( - MESSAGE_GREET, - "So, you've returned to Spectulus? What did he say, is anything wrong? You have this strange expression \z - on your face - is there anything wrong? You DID tell me the truth here, didn't you?" - ) + npcHandler:setMessage(MESSAGE_GREET, "So, you've returned to Spectulus? What did he say, is anything wrong? You have this strange expression on your face - is there anything wrong? You DID tell me the truth here, didn't you?") else npcHandler:setMessage(MESSAGE_GREET, "Yes? What can I do for you? I hope this won't take long, though.") end @@ -71,31 +96,15 @@ local function creatureSayCallback(npc, creature, type, message) if npcHandler:getTopic(playerId) == 3 then npcHandler:say({ "So it's that name again. You are really determined, aren't you. ...", - "So if he thinks I'm someone he knew who is now 'lost' and needs to come back or whatever - \z - tell him he is WRONG. I always lived here with my mother and sister, I'm happy here and I \z - certainly don't want to go to that academy of yours.", + "So if he thinks I'm someone he knew who is now 'lost' and needs to come back or whatever - tell him he is WRONG. I always lived here with my mother and sister, I'm happy here and I certainly don't want to go to that academy of yours.", }, npc, creature, 1000) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 4) end end elseif MsgContains(message, "furniture") then if player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 3 then - if - (player:getStorageValue(Storage.TibiaTales.JackFutureQuest.Furniture01) == 1) - and (player:getStorageValue(Storage.TibiaTales.JackFutureQuest.Furniture02) == 1) - and (player:getStorageValue(Storage.TibiaTales.JackFutureQuest.Furniture03) == 1) - and (player:getStorageValue(Storage.TibiaTales.JackFutureQuest.Furniture04) == 1) - and (player:getStorageValue(Storage.TibiaTales.JackFutureQuest.Furniture05) == 1) - then - npcHandler:say( - "What have you done? What are all these pieces of furniture doing here? Those are ugly at \z - best and - hey! Stop! Leave the wallpaper alone! Alright, alright! Just tell me, why are you \z - doing this? Who's behind all this?", - npc, - creature - ) - npcHandler:setTopic(playerId, 3) - end + npcHandler:say("What have you done? What are all these pieces of furniture doing here? Those are ugly at best and - hey! Stop! Leave the wallpaper alone! Alright, alright! Just tell me, why are you doing this? Who's behind all this?", npc, creature) + npcHandler:setTopic(playerId, 3) end elseif MsgContains(message, "no") then if player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 10 then @@ -104,12 +113,8 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 5) elseif npcHandler:getTopic(playerId) == 5 then npcHandler:say({ - "So... so this wasn't EVEN REAL? You brought all this ugly furniture here, you destroyed \z - my sculpture... and on top of that you actually CONVINCED mother and my sister!? How can \z - I possibly explain all that? ...", - "I... I... Well, at least you told me the truth. I don't know if I can accept this as an \z - excuse but it's a start. Now let me return to my work, I need to fix this statue and then \z - the rest of this... mess.", + "So... so this wasn't EVEN REAL? You brought all this ugly furniture here, you destroyed my sculpture... and on top of that you actually CONVINCED mother and my sister!? How can I possibly explain all that? ...", + "I... I... Well, at least you told me the truth. I don't know if I can accept this as an excuse but it's a start. Now let me return to my work, I need to fix this statue and then the rest of this... mess.", }, npc, creature) player:addAchievement("Truth Be Told") player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 11) @@ -120,19 +125,14 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say({ - "Oh hm, I've got a handkerchief here somewhere - ah, oh no it's already used, I'm sorry. \z - So, you say that's a real person? Spectulus? I mean - what kind of weirdo thinks \z - of a name like that anyway. ...", - "And he does what? Hm. Here in Edron? I see. And I was - what? No way. Where? What! \z - Why? And you say you are telling the truth?", + "Oh hm, I've got a handkerchief here somewhere - ah, oh no it's already used, I'm sorry. So, you say that's a real person? Spectulus? I mean - what kind of weirdo thinks of a name like that anyway. ...", + "And he does what? Hm. Here in Edron? I see. And I was - what? No way. Where? What! Why? And you say you are telling the truth?", }, npc, creature) npcHandler:setTopic(playerId, 2) elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say({ - "I see. Well for starters, I think you're crazy. If I would have 'travelled' in some \z - kind of - device? - that thing should be around here somewhere, or not? ...", - "What? 'Dimensional fold?' Well, thanks for the information and please close the door \z - behind you when you leave my house. Now.", + "I see. Well for starters, I think you're crazy. If I would have 'travelled' in some kind of - device? - that thing should be around here somewhere, or not? ...", + "What? 'Dimensional fold?' Well, thanks for the information and please close the door behind you when you leave my house. Now.", }, npc, creature) npcHandler:setTopic(playerId, 0) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 2) @@ -143,12 +143,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:say("So that's it? Really?", npc, creature) npcHandler:setTopic(playerId, 6) elseif npcHandler:getTopic(playerId) == 6 then - npcHandler:say( - "Yeah, yeah... so what are you still doing here? I guess I... will have to seek out this \z - Spectulus now, see what he has to say. There is nothing left for me in this place.", - npc, - creature - ) + npcHandler:say("Yeah, yeah... so what are you still doing here? I guess I... will have to seek out this Spectulus now, see what he has to say. There is nothing left for me in this place.", npc, creature) player:addAchievement("You Don't Know Jack") player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 11) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.LastMissionState, 2) @@ -157,70 +152,27 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, "hobbies") or MsgContains(message, "hobby") then if player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 7 then - if player:getStorageValue(Storage.TibiaTales.JackFutureQuest.Statue) < 1 then + if player:getStorageValue(Storage.TibiaTales.JackFutureQuest.Statue) < 0 then npcHandler:say({ - "Ah, also a keen lover of arts I assume? You might have already caught a glimpse of that \z - humble masterpiece over there in the corner - I sculpt sulky sculptures! ...", - "Sculpting sculptures was my passion since childhood... ...and it was there at my first \z - sandcastle when... ...and it formed... ...and it developed into... ...years of enduring \z - sculpting... ...carved of something like... ...sulky... ...", - "And that's what I like to do to this very day - hey, hey will you wake up? Were you even \z - listening to me?", - }, creature, false, true, 200) + "Ah, also a keen lover of arts I assume? You might have already caught a glimpse of that humble masterpiece over there in the corner - I sculpt sulky sculptures! ...", + "Sculpting sculptures was my passion since childhood... ...and it was there at my first sandcastle when... ...and it formed... ...and it developed into... ...years of enduring sculpting... ...carved of something like... ...sulky... ...", + "And that's what I like to do to this very day - hey, hey will you wake up? Were you even listening to me?", + }, npc, creature) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.Statue, 1) npcHandler:setTopic(playerId, 0) end elseif player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 8 then - npcHandler:say( - "I... was... sculpting sulky sculptures. For all my life. Until you came in here and DESTROYED \z - MY MASTERPIECE. Go away. I don't like you.", - npc, - creature - ) + npcHandler:say("I... was... sculpting sulky sculptures. For all my life. Until you came in here and DESTROYED MY MASTERPIECE. Go away. I don't like you.", npc, creature) npcHandler:setTopic(playerId, 0) end end return true end -npcConfig.voices = { - interval = 15000, - chance = 50, - { text = "Now I need to clean up everything again." }, - { text = "So much to do, so little time, they say..." }, - { text = "Could it be...? No. No way." }, - { text = "Mh..." }, -} - -local keywordHandler = KeywordHandler:new() -local npcHandler = NpcHandler:new(keywordHandler) - -npcType.onThink = function(npc, interval) - npcHandler:onThink(npc, interval) -end - -npcType.onAppear = function(npc, creature) - npcHandler:onAppear(npc, creature) -end - -npcType.onDisappear = function(npc, creature) - npcHandler:onDisappear(npc, creature) -end - -npcType.onMove = function(npc, creature, fromPosition, toPosition) - npcHandler:onMove(npc, creature, fromPosition, toPosition) -end - -npcType.onSay = function(npc, creature, type, message) - npcHandler:onSay(npc, creature, type, message) -end - -npcType.onCloseChannel = function(npc, creature) - npcHandler:onCloseChannel(npc, creature) -end -npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setCallback(CALLBACK_GREET, greetCallback) +npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) + npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) +npcType:register(npcConfig) \ No newline at end of file diff --git a/data-otservbr-global/npc/mother_of_jack.lua b/data-otservbr-global/npc/mother_of_jack.lua index 02339c5f1a6..304087d1a09 100644 --- a/data-otservbr-global/npc/mother_of_jack.lua +++ b/data-otservbr-global/npc/mother_of_jack.lua @@ -70,23 +70,13 @@ local function creatureSayCallback(npc, creature, type, message) if MsgContains(message, "jack") then if player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 5 then if player:getStorageValue(Storage.TibiaTales.JackFutureQuest.Mother) < 1 then - npcHandler:say( - "What about him? He's downstairs as he always has been. He never went away from home \z - any further than into the forest nearby. He rarely ever took a walk to Edron, did he?", - npc, - creature - ) + npcHandler:say("What about him? He's downstairs as he always has been. He never went away from home any further than into the forest nearby. He rarely ever took a walk to Edron, did he?", npc, creature) npcHandler:setTopic(playerId, 1) end end elseif MsgContains(message, "no") then if npcHandler:getTopic(playerId) == 2 then - npcHandler:say( - "Thought so. Of course he wouldn't do anything wrong. And he went where? Edron. Hm. I can \z - see nothing wrong with that. But... he wasn't there often, was he?", - npc, - creature - ) + npcHandler:say("Thought so. Of course he wouldn't do anything wrong. And he went where? Edron. Hm. I can see nothing wrong with that. But... he wasn't there often, was he?", npc, creature ) npcHandler:setTopic(playerId, 3) end elseif MsgContains(message, "yes") then @@ -96,9 +86,7 @@ local function creatureSayCallback(npc, creature, type, message) elseif npcHandler:getTopic(playerId) == 3 then npcHandler:say({ "Oh my... he did what? Why was he there? Edron Academy? ...", - "I see... this cannot be. Spectrofuss? Who? Jack! When? How? But why did he do that? Jack!! \z - JACK!! When I find him he owes me an EXPLANATION. Thanks for telling \z - me what he is actually doing in his FREE TIME. ...", + "I see... this cannot be. Spectrofuss? Who? Jack! When? How? But why did he do that? Jack!! JACK!! When I find him he owes me an EXPLANATION. Thanks for telling me what he is actually doing in his FREE TIME. ...", "JAAAAACK!", }, npc, creature) npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/sister_of_jack.lua b/data-otservbr-global/npc/sister_of_jack.lua index 6414d9ad56f..a93950dcf28 100644 --- a/data-otservbr-global/npc/sister_of_jack.lua +++ b/data-otservbr-global/npc/sister_of_jack.lua @@ -76,21 +76,14 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, "spectulus") then if npcHandler:getTopic(playerId) == 3 then - npcHandler:say( - "Spelltolust?! That sounds awfully nasty! What was he doing there - are you telling \z - me he lived an alternate life and he didn't even tell {mother}?", - npc, - creature - ) + npcHandler:say("Spelltolust?! That sounds awfully nasty! What was he doing there - are you telling me he lived an alternate life and he didn't even tell {mother}?", npc, creature) npcHandler:setTopic(playerId, 4) end elseif MsgContains(message, "yes") then if npcHandler:getTopic(playerId) == 1 then npcHandler:say({ - "I knew it! He likes taking extended walks outside, leaving all the cleaning to me - \z - especially when he is working on this sculpture, this... 'thing' he tries to create. ...", - "What did he do? Since you look like a guy from the city, I bet he went to Edron in \z - secrecy or something like that, didn't he? And you are here because of that?", + "I knew it! He likes taking extended walks outside, leaving all the cleaning to me - especially when he is working on this sculpture, this... 'thing' he tries to create. ...", + "What did he do? Since you look like a guy from the city, I bet he went to Edron in secrecy or something like that, didn't he? And you are here because of that?", }, npc, creature) npcHandler:setTopic(playerId, 2) elseif npcHandler:getTopic(playerId) == 2 then @@ -98,8 +91,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 3) elseif npcHandler:getTopic(playerId) == 4 then npcHandler:say({ - "Yesss! So this time he will get it for a change! And he lived there...? He helped whom? \z - Ha! He won't get away this time! What did he do there? I see... interesting! ...", + "Yesss! So this time he will get it for a change! And he lived there...? He helped whom? Ha! He won't get away this time! What did he do there? I see... interesting! ...", "Wait till mother hears that! Oh he will be in for a surprise, I can tell you that. Ma!! Maaaaa!!", }, npc, creature) npcHandler:setTopic(playerId, 0) diff --git a/data-otservbr-global/npc/spectulus.lua b/data-otservbr-global/npc/spectulus.lua index 3e91df467e7..7e2ded2b2d9 100644 --- a/data-otservbr-global/npc/spectulus.lua +++ b/data-otservbr-global/npc/spectulus.lua @@ -246,6 +246,7 @@ local function creatureSayCallback(npc, creature, type, message) "...now wh- no, NO, NOOO! It just ...", "...slipped. And cracked. Don't look at me like that ...", "...I need some time to get over this. What? Oh, yes you can take the remains if you like. Just get it out of my sight.", + "A debacle, catastrophe, disaster - I need time to fully understand what chance just slipped through our hands here... hm? Oh yes, yes through my hands, my hands of course. Now would you please leave me alone?!", }, npc, creature) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 12 then @@ -433,10 +434,6 @@ local function creatureSayCallback(npc, creature, type, message) return true end -keywordHandler:addKeyword({ "jack" }, StdModule.say, { - npcHandler = npcHandler, - text = "He was the first one I ever hired as an intern to help me with my studies and research. He did an exceptionally good job and I certainly don't know where I would stand today without him. We have to save him |PLAYERNAME|!", -}) keywordHandler:addKeyword({ "device" }, StdModule.say, { npcHandler = npcHandler, text = "I heard of a device which would allow man to sail the sea of light. I call it the {Lightboat}, probably the most important invention in our history. And I will not rest until I have found a way to put the plan of its inventor into action.", From b1275cda80c3aff0770b1ba5a4e583f206cc5870 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 10 Aug 2024 12:41:49 +0000 Subject: [PATCH 101/112] Lua code format - (Stylua) --- data-otservbr-global/npc/jack.lua | 4 ++-- data-otservbr-global/npc/mother_of_jack.lua | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data-otservbr-global/npc/jack.lua b/data-otservbr-global/npc/jack.lua index 1885a23a79d..c92bdf9491c 100644 --- a/data-otservbr-global/npc/jack.lua +++ b/data-otservbr-global/npc/jack.lua @@ -69,7 +69,7 @@ local function greetCallback(npc, creature, message) npcHandler:setMessage(MESSAGE_GREET, { "What did you do to my SCULPTURE? You simply DESTROYED it? Why? You... you ruined everything... my house, my hobby, my life. My family even refuses to talk to me anymore. ...", "Alright, alright you win. I am done for. You... you must be right, yes. Yes, I was working as an intern... in the academy in Edron... yes... Just... tell this Spectulus guy I want to see him. I have nothing left. I am ready.", - }) + }) player:setStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine, 9) elseif player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 10 then npcHandler:setMessage(MESSAGE_GREET, "So, you've returned to Spectulus? What did he say, is anything wrong? You have this strange expression on your face - is there anything wrong? You DID tell me the truth here, didn't you?") @@ -175,4 +175,4 @@ npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new(), npcConfig.name, true, true, true) -- npcType registering the npcConfig table -npcType:register(npcConfig) \ No newline at end of file +npcType:register(npcConfig) diff --git a/data-otservbr-global/npc/mother_of_jack.lua b/data-otservbr-global/npc/mother_of_jack.lua index 304087d1a09..3f7d693cb56 100644 --- a/data-otservbr-global/npc/mother_of_jack.lua +++ b/data-otservbr-global/npc/mother_of_jack.lua @@ -76,7 +76,7 @@ local function creatureSayCallback(npc, creature, type, message) end elseif MsgContains(message, "no") then if npcHandler:getTopic(playerId) == 2 then - npcHandler:say("Thought so. Of course he wouldn't do anything wrong. And he went where? Edron. Hm. I can see nothing wrong with that. But... he wasn't there often, was he?", npc, creature ) + npcHandler:say("Thought so. Of course he wouldn't do anything wrong. And he went where? Edron. Hm. I can see nothing wrong with that. But... he wasn't there often, was he?", npc, creature) npcHandler:setTopic(playerId, 3) end elseif MsgContains(message, "yes") then From c98dcc6ea76028e164b6ac26dc152f8af7d9d668 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 10:19:48 -0300 Subject: [PATCH 102/112] Spirithunters Quest --- data-otservbr-global/lib/core/quests.lua | 8 ++--- data-otservbr-global/lib/core/storages.lua | 19 +++++------ data-otservbr-global/npc/sinclair.lua | 33 +++++-------------- data-otservbr-global/npc/spectulus.lua | 12 +++---- .../quests/spirit_hunters/magical_device.lua | 16 ++++----- 5 files changed, 35 insertions(+), 53 deletions(-) diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index d344c123821..433803b9b21 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -6173,12 +6173,12 @@ if not Quests then }, [45] = { name = "Spirithunters Quest", - startStorageId = Storage.SpiritHunters.Mission01, + startStorageId = Storage.Quest.U8_7.SpiritHunters.Mission01, startStorageValue = 1, missions = { [1] = { name = "Method", - storageId = Storage.SpiritHunters.Mission01, + storageId = Storage.Quest.U8_7.SpiritHunters.Mission01, missionId = 10426, startValue = 1, endValue = 2, @@ -6189,7 +6189,7 @@ if not Quests then }, [2] = { name = "First Mission", - storageId = Storage.SpiritHunters.Mission01, + storageId = Storage.Quest.U8_7.SpiritHunters.Mission01, missionId = 10427, startValue = 2, endValue = 4, @@ -6200,7 +6200,7 @@ if not Quests then }, [3] = { name = "Second Mission", - storageId = Storage.SpiritHunters.Mission01, + storageId = Storage.Quest.U8_7.SpiritHunters.Mission01, missionId = 10428, startValue = 4, endValue = 6, diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index 473b251f1a4..6d485c88b0a 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -921,15 +921,6 @@ Storage = { Sinew = 52052, }, }, - SpiritHunters = { - -- Reserved storage from 52100 - 52109 - Mission01 = 52100, - TombUse = 52101, - CharmUse = 52102, - NightstalkerUse = 52103, - SouleaterUse = 52104, - GhostUse = 52105, - }, Diapason = { -- Reserved storage from 52120 - 52129 Lyre = 52120, @@ -2323,7 +2314,6 @@ Storage = { AnnualAutumnVintage = {}, Bewitched = {}, DemonsLullaby = {}, - JackToTheFuture = {}, LastCreepStanding = {}, ResearchAndDevelopment = {}, RottinWoodAndTheMarriedMen = { @@ -2335,7 +2325,14 @@ Storage = { Mission03 = 43236, FirstTime = 43237, }, - Spirithunters = {}, + SpiritHunters = { + Mission01 = 52100, + TombUse = 52101, + CharmUse = 52102, + NightstalkerUse = 52103, + SouleaterUse = 52104, + GhostUse = 52105, + }, TheColoursOfMagic = {}, }, U9_1 = { --update 9.1 - Reserved Storages 43351 - 43550 diff --git a/data-otservbr-global/npc/sinclair.lua b/data-otservbr-global/npc/sinclair.lua index d2f47964d89..82c3bffa513 100644 --- a/data-otservbr-global/npc/sinclair.lua +++ b/data-otservbr-global/npc/sinclair.lua @@ -59,15 +59,6 @@ npcType.onCloseChannel = function(npc, creature) npcHandler:onCloseChannel(npc, creature) end -local function releasePlayer(npc, creature) - if not Player(creature) then - return - end - - npcHandler:removeInteraction(npc, creature) - npcHandler:resetNpc(creature) -end - local function creatureSayCallback(npc, creature, type, message) local player = Player(creature) local playerId = player:getId() @@ -77,7 +68,7 @@ local function creatureSayCallback(npc, creature, type, message) end if MsgContains(message, "mission") then - local qStorage = player:getStorageValue(Storage.SpiritHunters.Mission01) + local qStorage = player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01) if qStorage == 3 then npcHandler:say("So, did you find anything worth examining? Did you actually catch a ghost?", npc, creature) npcHandler:setTopic(playerId, 3) @@ -101,11 +92,11 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 2) elseif npcHandler:getTopic(playerId) == 2 then npcHandler:say("Good, now all you need to do is find a ghost, defeat it and catch its very essence with the cage. Once you have it, return to me and Spectulus and I will move it into our chamber device. Good luck, return to me as soon as you are prepared.", npc, creature) - player:setStorageValue(Storage.SpiritHunters.Mission01, 3) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01, 3) player:addItem(4050, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 3 then - if player:getStorageValue(Storage.SpiritHunters.CharmUse) == 1 then + if player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.CharmUse) == 1 then npcHandler:say({ "Fascinating, let me see. ...", "Amazing! I will transfer this to our spirit chamber right about - now! ...", @@ -113,11 +104,8 @@ local function creatureSayCallback(npc, creature, type, message) "Well, you did! You really helped us pulling this off. Thank you Lord Stalks! ...", "I doubt we will have much time to hunt for new specimens ourselves in the near future. If you like, you can continue helping us by finding and capturing more and different ghosts. Just talk to me to receive a new task.", }, npc, creature) - player:setStorageValue(Storage.SpiritHunters.Mission01, 4) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01, 4) player:addExperience(500, true) - addEvent(function() - releasePlayer(npc, creature) - end, 1000) npcHandler:setTopic(playerId, 0) else npcHandler:say("Go and use the machine in a dead ghost!", npc, creature) @@ -131,21 +119,18 @@ local function creatureSayCallback(npc, creature, type, message) "Furhtermore, to successfully bind Nightstalkers to the cage, you will need to have caught at least 5 Ghosts. To bind Souleaters, you will need at least 5 Ghosts and 5 Nightstalkers. ...", "The higher the amount of spirit energy in the cage, the higher its effective capacity. Oh and always come back and tell me if you lose your spirit cage.", }, npc, creature) - player:setStorageValue(Storage.SpiritHunters.Mission01, 5) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01, 5) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 5 then npcHandler:say("Good, of course you will also receive an additional monetary reward for your troubles. Are you fine with that?", npc, creature) npcHandler:setTopic(playerId, 6) elseif npcHandler:getTopic(playerId) == 6 then - local nightstalkers, souleaters, ghost = player:getStorageValue(Storage.SpiritHunters.NightstalkerUse), player:getStorageValue(Storage.SpiritHunters.SouleaterUse), player:getStorageValue(Storage.SpiritHunters.GhostUse) + local nightstalkers, souleaters, ghost = player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.NightstalkerUse), player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.SouleaterUse), player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.GhostUse) if nightstalkers >= 4 and souleaters >= 4 and ghost >= 4 then npcHandler:say("Alright, let us see how many ghosts you caught!", npc, creature) - player:setStorageValue(Storage.SpiritHunters.Mission01, 6) - player:addExperience(8000, true) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01, 6) + player:addExperience(10000, true) player:addItem(3035, 60) - addEvent(function() - releasePlayer(npc, creature) - end, 1000) npcHandler:setTopic(playerId, 0) else npcHandler:say("You didnt catch the ghost pieces.", npc, creature) @@ -153,7 +138,7 @@ local function creatureSayCallback(npc, creature, type, message) end end elseif MsgContains(message, "research") then - local qStorage = player:getStorageValue(Storage.SpiritHunters.Mission01) + local qStorage = player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01) if qStorage == 4 then npcHandler:say({ "We are still in need of more research concerning environmental as well as psychic ecto-magical influences. Besides more common ghosts we also need some of the harder to come by nightstalkers and - if you're really hardboiled - souleaters. ...", diff --git a/data-otservbr-global/npc/spectulus.lua b/data-otservbr-global/npc/spectulus.lua index 7e2ded2b2d9..442b03498cb 100644 --- a/data-otservbr-global/npc/spectulus.lua +++ b/data-otservbr-global/npc/spectulus.lua @@ -81,9 +81,9 @@ local function creatureSayCallback(npc, creature, type, message) return false end - if MsgContains(message, "research") then - local qStorage = player:getStorageValue(Storage.SpiritHunters.Mission01) - local tombsStorage = player:getStorageValue(Storage.SpiritHunters.TombUse) + if MsgContains(message, "research") and player:getStorageValue(Storage.TibiaTales.JackFutureQuest.QuestLine) == 11 then + local qStorage = player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01) + local tombsStorage = player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.TombUse) if qStorage == -1 then if npcHandler:getTopic(playerId) == 17 then npcHandler:say({ @@ -270,14 +270,14 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 17) elseif npcHandler:getTopic(playerId) == 18 then npcHandler:say("Good. Take this wand - we call it a spirit meter - and go to the graveyard I have marked on your map and take a few measurements on the graves.", npc, creature) - player:setStorageValue(Storage.SpiritHunters.Mission01, 1) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01, 1) player:addItem(4049, 1) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 19 then npcHandler:say("Let me see the spirit meter. Hmmm... those are grave news you bring - uhm, you know what I mean. But this is awesome! Now I know for sure that the calibration is only some short bursts of magically enhanced energy away.", npc, creature) player:addExperience(500, true) player:addItem(3035, 5) - player:setStorageValue(Storage.SpiritHunters.Mission01, 2) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01, 2) npcHandler:setTopic(playerId, 0) elseif npcHandler:getTopic(playerId) == 27 then npcHandler:say({ @@ -350,7 +350,7 @@ local function creatureSayCallback(npc, creature, type, message) npcHandler:setTopic(playerId, 0) end elseif MsgContains(message, "collective apparitions") then - local qStorage = player:getStorageValue(Storage.SpiritHunters.Mission01) + local qStorage = player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01) if qStorage == -1 then if npcHandler:getTopic(playerId) == 15 then npcHandler:say("Ah well, let's forget about the scientific details - you will do just fine as long as you do exactly what I say. Ready for me to go on with your task?", npc, creature) diff --git a/data-otservbr-global/scripts/actions/quests/spirit_hunters/magical_device.lua b/data-otservbr-global/scripts/actions/quests/spirit_hunters/magical_device.lua index 36bad4ceecd..6bb6c4046c0 100644 --- a/data-otservbr-global/scripts/actions/quests/spirit_hunters/magical_device.lua +++ b/data-otservbr-global/scripts/actions/quests/spirit_hunters/magical_device.lua @@ -3,12 +3,12 @@ function spiritMagical.onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if item:getId() == 4049 then if itemEx.itemid == 1979 then - if player:getStorageValue(Storage.SpiritHunters.Mission01 == 1) then - qStorage = player:getStorageValue(Storage.SpiritHunters.TombUse) + if player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.Mission01 == 1) then + qStorage = player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.TombUse) if qStorage < 3 then position = player:getPosition() player:say("An incredibly slimy substance oozes out of every crack in the old gravestone. It seems to attack you.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.SpiritHunters.TombUse, qStorage + 1) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.TombUse, qStorage + 1) Game.createMonster("Squidgy Slime", Position(position.x + 1, position.y, position.z), false, false) elseif qStorage == 4 then player:say("You have used items in gravestone.", TALKTYPE_MONSTER_SAY) @@ -18,21 +18,21 @@ function spiritMagical.onUse(cid, item, fromPosition, itemEx, toPosition) elseif item:getId() == 4050 then if itemEx.itemid == 5993 then -- ghost player:say("As you open the device a bright light pours out of its interior and drags all remaining energy of the ghost into it.", TALKTYPE_MONSTER_SAY) - if player:getStorageValue(Storage.SpiritHunters.CharmUse) < 1 then - player:setStorageValue(Storage.SpiritHunters.CharmUse, 1) + if player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.CharmUse) < 1 then + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.CharmUse, 1) else - player:setStorageValue(Storage.SpiritHunters.GhostUse, player:getStorageValue(Storage.SpiritHunters.GhostUse) + 1) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.GhostUse, player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.GhostUse) + 1) end itemEx:transform(itemEx:getType():getDecayId()) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) elseif itemEx.itemid == 11675 or itemEx.itemid == 11676 then -- souleater player:say("As you open the device a bright light pours out of its interior and drags all remaining energy of the souleater into it.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.SpiritHunters.SouleaterUse, player:getStorageValue(Storage.SpiritHunters.SouleaterUse) + 1) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.SouleaterUse, player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.SouleaterUse) + 1) itemEx:transform(itemEx:getType():getDecayId()) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) elseif itemEx.itemid == 9001 or itemEx.itemid == 9002 then --nightstalker player:say("As you open the device a bright light pours out of its interior and drags all remaining energy of the nightstalker into it.", TALKTYPE_MONSTER_SAY) - player:setStorageValue(Storage.SpiritHunters.NightstalkerUse, player:getStorageValue(Storage.SpiritHunters.NightstalkerUse) + 1) + player:setStorageValue(Storage.Quest.U8_7.SpiritHunters.NightstalkerUse, player:getStorageValue(Storage.Quest.U8_7.SpiritHunters.NightstalkerUse) + 1) itemEx:transform(itemEx:getType():getDecayId()) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) end From 16cf2635f5eed4e5395547918a37c4b483743652 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 10:28:42 -0300 Subject: [PATCH 103/112] Update storages.lua --- data-otservbr-global/lib/core/storages.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index e60de80ed9c..72a532ef3da 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2326,12 +2326,12 @@ Storage = { FirstTime = 43237, }, SpiritHunters = { - Mission01 = 52100, - TombUse = 52101, - CharmUse = 52102, - NightstalkerUse = 52103, - SouleaterUse = 52104, - GhostUse = 52105, + Mission01 = 43238, + TombUse = 43239, + CharmUse = 43240, + NightstalkerUse = 43241, + SouleaterUse = 43242, + GhostUse = 43243, }, TheColoursOfMagic = {}, }, From 358f0a6d6a7b8a1ad2a1566e9a7251e0917e30a1 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 11:15:15 -0300 Subject: [PATCH 104/112] Organization of quest actions --- .../a_pirates_tail/actions_cheesy_key.lua} | 0 .../a_pirates_tail/actions_rascacoon_shortcut.lua} | 0 .../adventurers_guild/actions_treasure.lua} | 0 .../adventurers_guild/actions_warrior_skeleton.lua} | 0 .../adventures_of_galthen/actions_galthens_tree.lua} | 0 .../adventures_of_galthen/actions_idol_of_tukh.lua} | 0 .../adventures_of_galthen/actions_iksupan_entrance.lua} | 0 .../adventures_of_galthen/actions_iksupan_exit.lua} | 0 .../adventures_of_galthen/actions_yselda_entrances.lua} | 0 .../adventures_of_galthen/actions_yselda_shortcut.lua} | 0 .../an_uneasy_alliance/actions_crystal_ball.lua} | 0 .../beer.lua => quests/bigfoot_burden/actions_beer.lua} | 0 .../crystal.lua => quests/bigfoot_burden/actions_crystal.lua} | 0 .../extractor.lua => quests/bigfoot_burden/actions_extractor.lua} | 0 .../bigfoot_burden/actions_matchmaker.lua} | 0 .../bigfoot_burden/actions_mouthpiece.lua} | 0 .../mushroom.lua => quests/bigfoot_burden/actions_mushroom.lua} | 0 .../music.lua => quests/bigfoot_burden/actions_music.lua} | 0 .../package.lua => quests/bigfoot_burden/actions_package.lua} | 0 .../pig.lua => quests/bigfoot_burden/actions_pig.lua} | 0 .../repair.lua => quests/bigfoot_burden/actions_repair.lua} | 0 .../rewards.lua => quests/bigfoot_burden/actions_rewards.lua} | 0 .../shooting.lua => quests/bigfoot_burden/actions_shooting.lua} | 0 .../spores.lua => quests/bigfoot_burden/actions_spores.lua} | 0 .../stone.lua => quests/bigfoot_burden/actions_stone.lua} | 0 .../bigfoot_burden/actions_warzone1_crystal.lua} | 0 .../lever.lua => quests/chayenne_realm/actions_lever.lua} | 0 .../reward.lua => quests/chayenne_realm/actions_reward.lua} | 0 .../analyser.lua => quests/cults_of_tibia/actions_analyser.lua} | 0 .../cults_of_tibia/actions_bosses_levers.lua} | 0 .../cults_of_tibia/actions_counter_agent.lua} | 0 .../crate.lua => quests/cults_of_tibia/actions_crate.lua} | 0 .../cults_of_tibia/actions_cult_symbol.lua} | 0 .../document.lua => quests/cults_of_tibia/actions_document.lua} | 0 .../cults_of_tibia/actions_last_object.lua} | 0 .../cults_of_tibia/actions_lever_mota.lua} | 0 .../magnifier.lua => quests/cults_of_tibia/actions_magnifier.lua} | 0 .../misguided.lua => quests/cults_of_tibia/actions_misguided.lua} | 0 .../torch.lua => quests/cults_of_tibia/actions_torch.lua} | 0 .../dangerous_depth/actions_crude_lava_pump.lua} | 0 .../dangerous_depth/actions_crude_lava_pump_achievements.lua} | 0 .../dangerous_depth/actions_gnome_chart.lua} | 0 .../dangerous_depth/actions_gnome_items.lua} | 0 .../dangerous_depth/actions_gnome_trignometre.lua} | 0 .../dangerous_depth/actions_gnomish_chest.lua} | 0 .../dangerous_depth/actions_gnomish_pesticide.lua} | 0 .../dangerous_depth/actions_lever_barrel.lua} | 0 .../dangerous_depth/actions_using_crystals.lua} | 0 .../dangerous_depth/actions_warzone_crystals.lua} | 0 .../dangerous_depth/actions_wooden_trash.lua} | 0 .../corpse.lua => quests/dark_trails/actions_corpse.lua} | 0 .../dark_trails/actions_lever_death_priest_shargon.lua} | 0 .../dark_trails/actions_lever_the_ravager.lua} | 0 .../dawnport/actions_legion_helmet.lua} | 0 .../dawnport/actions_the_rare_herb.lua} | 0 .../dawnport/actions_vocation_reward.lua} | 0 .../deepling_worldchange/actions_boxramp.lua} | 0 .../coral.lua => quests/deepling_worldchange/actions_coral.lua} | 0 .../deepling_worldchange/actions_crystal.lua} | 0 .../deepling_worldchange/actions_crystalvortex.lua} | 0 .../deepling_worldchange/actions_golden_anchor.lua} | 0 .../deepling_worldchange/actions_questfirst.lua} | 0 .../statue.lua => quests/deepling_worldchange/actions_statue.lua} | 0 .../demon_oak.lua => quests/demon_oak/actions_demon_oak.lua} | 0 .../demon_oak/actions_demon_oak_chest.lua} | 0 .../demon_oak/actions_demon_oak_gravestone.lua} | 0 .../desert_dungeon_quest/actions_desert_dungeon_lever.lua} | 0 .../lever.lua => quests/elemental_spheres/actions_lever.lua} | 0 .../elemental_spheres/actions_lord_of_elements_lever.lua} | 0 .../elemental_spheres/actions_machine1.lua} | 0 .../elemental_spheres/actions_machine2.lua} | 0 .../soils1.lua => quests/elemental_spheres/actions_soils1.lua} | 0 .../soils2.lua => quests/elemental_spheres/actions_soils2.lua} | 0 .../corpse.lua => quests/fathers_burden/actions_corpse.lua} | 0 .../feaster_of_souls/actions_bosses_killed.lua} | 0 .../feaster_of_souls/actions_entrances.lua} | 0 .../feaster_of_souls/actions_portal_brain_head.lua} | 0 .../feaster_of_souls/actions_portal_minis_feaster.lua} | 0 .../feaster_of_souls/actions_portal_pale_worm.lua} | 0 .../feaster_of_souls/actions_rock_entrance.lua} | 0 .../slab.lua => quests/feaster_of_souls/actions_slab.lua} | 0 .../ferumbras_ascendant/actions_bone_flute.lua} | 0 .../ferumbras_ascendant/actions_bone_flute_wall.lua} | 0 .../ferumbras_ascendant/actions_boots_of_homecoming.lua} | 0 .../ferumbras_ascendant/actions_color_levers.lua} | 0 .../ferumbras_ascendant/actions_ferumbras_amulet.lua} | 0 .../ferumbras_ascendant/actions_ferumbras_lever.lua} | 0 .../ferumbras_ascendant/actions_ferumbras_mana_keg.lua} | 0 .../ferumbras_ascendant/actions_flower_puzzle_lever.lua} | 0 .../ferumbras_ascendant/actions_grave_flower.lua} | 0 .../ferumbras_ascendant/actions_habitat_corrupted.lua} | 0 .../ferumbras_ascendant/actions_habitat_desert.lua} | 0 .../ferumbras_ascendant/actions_habitat_dimension.lua} | 0 .../ferumbras_ascendant/actions_habitat_grass.lua} | 0 .../ferumbras_ascendant/actions_habitat_ice.lua} | 0 .../ferumbras_ascendant/actions_habitat_lever.lua} | 0 .../ferumbras_ascendant/actions_habitat_mushroom.lua} | 0 .../ferumbras_ascendant/actions_habitat_roshamuul.lua} | 0 .../ferumbras_ascendant/actions_habitat_venom.lua} | 0 .../ferumbras_ascendant/actions_lever_first.lua} | 0 .../ferumbras_ascendant/actions_lever_four.lua} | 0 .../ferumbras_ascendant/actions_lever_second.lua} | 0 .../ferumbras_ascendant/actions_lever_third.lua} | 0 .../ferumbras_ascendant/actions_mysterious_scroll.lua} | 0 .../ferumbras_ascendant/actions_purified_soul.lua} | 0 .../ferumbras_ascendant/actions_rat_lever.lua} | 0 .../reward.lua => quests/ferumbras_ascendant/actions_reward.lua} | 0 .../ferumbras_ascendant/actions_sacrifice.lua} | 0 .../statue.lua => quests/ferumbras_ascendant/actions_statue.lua} | 0 .../ferumbras_ascendant/actions_tarbaz_notes.lua} | 0 .../ferumbras_ascendant/actions_teleportation_rod.lua} | 0 .../ferumbras_ascendant/actions_the_shatterer_lever.lua} | 0 .../ferumbras_ascendant/actions_the_shatterer_levers.lua} | 0 .../first_dragon/actions_lair_entrance.lua} | 0 .../lever.lua => quests/first_dragon/actions_lever.lua} | 0 .../rewards.lua => quests/first_dragon/actions_rewards.lua} | 0 .../first_dragon/actions_sacrifice_items.lua} | 0 .../first_dragon/actions_treasure_chest.lua} | 0 .../forgotten_knowledge/actions_bird_cage.lua} | 0 .../fount.lua => quests/forgotten_knowledge/actions_fount.lua} | 0 .../forgotten_knowledge/actions_girl_picture.lua} | 0 .../forgotten_knowledge/actions_lantern.lua} | 0 .../forgotten_knowledge/actions_lost_time.lua} | 0 .../forgotten_knowledge/actions_old_desk.lua} | 0 .../plant.lua => quests/forgotten_knowledge/actions_plant.lua} | 0 .../forgotten_knowledge/actions_secret_wall.lua} | 0 .../forgotten_knowledge/actions_servants_mechanism.lua} | 0 .../forgotten_knowledge/actions_time_machine.lua} | 0 .../grave_danger/actions_bosses_killed.lua} | 0 .../grave_danger/cobra_bastion/actions_scarlett.lua} | 0 .../amforas.lua => quests/gravedigger/actions_amforas.lua} | 0 .../ashes.lua => quests/gravedigger/actions_ashes.lua} | 0 .../blood.lua => quests/gravedigger/actions_blood.lua} | 0 .../bones.lua => quests/gravedigger/actions_bones.lua} | 0 .../bookcase.lua => quests/gravedigger/actions_bookcase.lua} | 0 .../brain.lua => quests/gravedigger/actions_brain.lua} | 0 .../caixa.lua => quests/gravedigger/actions_caixa.lua} | 0 .../candles.lua => quests/gravedigger/actions_candles.lua} | 0 .../gravedigger/cape.lua => quests/gravedigger/actions_cape.lua} | 0 .../chalk.lua => quests/gravedigger/actions_chalk.lua} | 0 .../flask.lua => quests/gravedigger/actions_flask.lua} | 0 .../hallowed.lua => quests/gravedigger/actions_hallowed.lua} | 0 .../gravedigger/actions_inscriptions.lua} | 0 .../gravedigger/key1.lua => quests/gravedigger/actions_key1.lua} | 0 .../gravedigger/key2.lua => quests/gravedigger/actions_key2.lua} | 0 .../monks.lua => quests/gravedigger/actions_monks.lua} | 0 .../palanca.lua => quests/gravedigger/actions_palanca.lua} | 0 .../pyramids1.lua => quests/gravedigger/actions_pyramids1.lua} | 0 .../pyramids2.lua => quests/gravedigger/actions_pyramids2.lua} | 0 .../sacrifice.lua => quests/gravedigger/actions_sacrifice.lua} | 0 .../scroll.lua => quests/gravedigger/actions_scroll.lua} | 0 .../statue.lua => quests/gravedigger/actions_statue.lua} | 0 .../tears.lua => quests/gravedigger/actions_tears.lua} | 0 .../tincture.lua => quests/gravedigger/actions_tincture.lua} | 0 .../grimvale/actions_ancient_feud_entrances.lua} | 0 .../grimvale/actions_closed_silvered_trap.lua} | 0 .../grimvale/actions_portal_minis_ancient_feud.lua} | 0 .../grimvale/actions_portal_minis_grimvale.lua} | 0 .../grimvale/actions_silver_liquid.lua} | 0 .../heart_of_destruction/actions_charges_lever.lua} | 0 .../heart_of_destruction/actions_cracklers_lever.lua} | 0 .../heart_of_destruction/actions_devourer_access.lua} | 0 .../heart_of_destruction/actions_final_lever.lua} | 0 .../reward.lua => quests/heart_of_destruction/actions_reward.lua} | 0 .../heart_of_destruction/actions_sparks_lever.lua} | 0 .../hero_of_rathleton/actions_machines_deep_terror.lua} | 0 .../hero_of_rathleton/actions_machines_glooth_horror.lua} | 0 .../hero_of_rathleton/actions_machines_lava.lua} | 0 .../hero_of_rathleton/actions_machines_professor_maxxen.lua} | 0 .../hero_of_rathleton/actions_raging_corpse.lua} | 0 .../reward.lua => quests/hero_of_rathleton/actions_reward.lua} | 0 .../cookbook1.lua => quests/hot_cuisine/actions_cookbook1.lua} | 0 .../cookbook2.lua => quests/hot_cuisine/actions_cookbook2.lua} | 0 .../augerfun.lua => quests/kilmaresh/actions_augerfun.lua} | 0 .../kilmaresh/basin.lua => quests/kilmaresh/actions_basin.lua} | 0 .../kilmaresh/books.lua => quests/kilmaresh/actions_books.lua} | 0 .../cagekey.lua => quests/kilmaresh/actions_cagekey.lua} | 0 .../kilmaresh/coruja.lua => quests/kilmaresh/actions_coruja.lua} | 0 .../kilmaresh/actions_glasshoneyfun.lua} | 0 .../kilmaresh/lyre.lua => quests/kilmaresh/actions_lyre.lua} | 0 .../kilmaresh/peeler.lua => quests/kilmaresh/actions_peeler.lua} | 0 .../peelerfun.lua => quests/kilmaresh/actions_peelerfun.lua} | 0 .../kilmaresh/actions_pickenchanted.lua} | 0 .../kilmaresh/actions_portal_minis_kilmaresh.lua} | 0 .../kilmaresh/sangra.lua => quests/kilmaresh/actions_sangra.lua} | 0 .../scissors.lua => quests/kilmaresh/actions_scissors.lua} | 0 .../scissorsfun.lua => quests/kilmaresh/actions_scissorsfun.lua} | 0 .../tortoise.lua => quests/kilmaresh/actions_tortoise.lua} | 0 .../kilmaresh/tumulo.lua => quests/kilmaresh/actions_tumulo.lua} | 0 .../tumuloerro.lua => quests/kilmaresh/actions_tumuloerro.lua} | 0 .../lions_rock.lua => quests/lions_rock/actions_lions_rock.lua} | 0 .../liquid_black/actions_chairteleport.lua} | 0 .../liquid_black/actions_notescoordinates.lua} | 0 .../liquid_black/actions_seashell_key.lua} | 0 .../bone.lua => quests/lower_roshamuul/actions_bone.lua} | 0 .../chalk.lua => quests/lower_roshamuul/actions_chalk.lua} | 0 .../gravel.lua => quests/lower_roshamuul/actions_gravel.lua} | 0 .../mixture.lua => quests/lower_roshamuul/actions_mixture.lua} | 0 .../mortar.lua => quests/lower_roshamuul/actions_mortar.lua} | 0 .../lower_roshamuul/actions_resonance_chamber.lua} | 0 .../trough.lua => quests/lower_roshamuul/actions_trough.lua} | 0 .../marapur/actions_boss_timira_fight.lua} | 0 .../marapur/actions_teleports_timira.lua} | 0 .../mintwallin_quest/actions_devil_helmet_lever.lua} | 0 .../mysterious_ornate/actions_mysterious_metal_egg.lua} | 0 .../oramond/actions_glooth_fairy_lever.lua} | 0 .../oramond/chavis_tasks/actions_to_take_roots.lua} | 0 .../the_glooth_brothers_tasks/actions_the_ancient_sewers.lua} | 0 .../others/actions_calassa_comb_door.lua} | 0 .../others/actions_deeper_banuta_shortcut.lua} | 0 .../others/actions_ectoplasm_container.lua} | 0 .../others/actions_exterminator_flask.lua} | 0 .../others/fire_bug.lua => quests/others/actions_fire_bug.lua} | 0 .../gooey_mass.lua => quests/others/actions_gooey_mass.lua} | 0 .../others/actions_hellgate_lever.lua} | 0 .../holy_water.lua => quests/others/actions_holy_water.lua} | 0 .../others/actions_orc_edron_lever.lua} | 0 .../others/actions_serpentine_tower_lever.lua} | 0 .../others/actions_serpentine_tower_torch.lua} | 0 .../others/actions_steal_from_thieves.lua} | 0 .../postman/package.lua => quests/postman/actions_package.lua} | 0 .../postman/present.lua => quests/postman/actions_present.lua} | 0 .../postman/actions_waldos_posthorn.lua} | 0 .../sea_of_light/actions_sea_of_light.lua} | 0 .../secret_library/actions_bosses_killed.lua} | 0 .../secret_library/actions_library_entrances.lua} | 0 .../soul_war/actions_bosses_killed.lua} | 0 .../soul_war/actions_portal_megalomania.lua} | 0 .../soul_war/actions_portal_reward_soulwar.lua} | 0 .../soul_war/actions_reward_soul_war.lua} | 0 .../soul_war/actions_soulwar_entrances.lua} | 0 .../fertilizer.lua => quests/spike_tasks/actions_fertilizer.lua} | 0 .../spike_tasks/actions_ghost_detector.lua} | 0 .../lode_stone.lua => quests/spike_tasks/actions_lode_stone.lua} | 0 .../nests.lua => quests/spike_tasks/actions_nests.lua} | 0 .../spike_tasks/actions_spirit_shovel.lua} | 0 .../spike_tasks/actions_thermometer.lua} | 0 .../spike_tasks/actions_tuning_fork.lua} | 0 .../spirit_hunters/actions_magical_device.lua} | 0 .../thais_quest/actions_life_ring_lever.lua} | 0 .../the_cursed_crystal/actions_MedusaOil.lua} | 0 .../Misc.lua => quests/the_cursed_crystal/actions_Misc.lua} | 0 .../the_cursed_crystal/actions_Ointment.lua} | 0 .../the_dream_courts/actions_bosses_killed.lua} | 0 .../the_dream_courts/actions_dream_courts_lever.lua} | 0 .../the_dream_courts/actions_entrances_dream_courts.lua} | 0 .../the_dream_courts/actions_portal_nightmare_beast.lua} | 0 .../the_hunt_for_the_sea_serpent/actions_bait.lua} | 0 .../the_lost_brother/actions_asura_mirror.lua} | 0 .../oven.lua => quests/the_outlaw_camp/actions_oven.lua} | 0 .../the_outlaw_camp/actions_power_burn.lua} | 0 .../the_outlaw_camp/actions_power_switch.lua} | 0 .../the_outlaw_camp/actions_the_outlaw_camp_quest.lua} | 0 .../the_secret_library/actions_asura_mirror.lua} | 0 .../the_secret_library/actions_basinfire.lua} | 0 .../the_secret_library/actions_bastion_access.lua} | 0 .../blacktp.lua => quests/the_secret_library/actions_blacktp.lua} | 0 .../bluetp.lua => quests/the_secret_library/actions_bluetp.lua} | 0 .../boattp.lua => quests/the_secret_library/actions_boattp.lua} | 0 .../bone.lua => quests/the_secret_library/actions_bone.lua} | 0 .../the_secret_library/actions_bonedoor.lua} | 0 .../book.lua => quests/the_secret_library/actions_book.lua} | 0 .../corpse.lua => quests/the_secret_library/actions_corpse.lua} | 0 .../the_secret_library/actions_energybasin.lua} | 0 .../the_secret_library/actions_enterlibrary.lua} | 0 .../eyekey.lua => quests/the_secret_library/actions_eyekey.lua} | 0 .../fish.lua => quests/the_secret_library/actions_fish.lua} | 0 .../greentp.lua => quests/the_secret_library/actions_greentp.lua} | 0 .../the_secret_library/actions_leverdoor.lua} | 0 .../the_secret_library/actions_leverruby.lua} | 0 .../the_secret_library/actions_lotuskey.lua} | 0 .../peacock.lua => quests/the_secret_library/actions_peacock.lua} | 0 .../pinktp.lua => quests/the_secret_library/actions_pinktp.lua} | 0 .../the_secret_library/actions_sealedbook.lua} | 0 .../the_secret_library/actions_skullground.lua} | 0 .../the_secret_library/actions_statuedeeplings.lua} | 0 .../the_secret_library/actions_strandhair.lua} | 0 .../the_secret_library/actions_telescop.lua} | 0 .../the_tainted_soul/actions_star_herb.lua} | 0 .../the_travelling_trader/actions_outlaw_camp_door.lua} | 0 .../their_master_voice/actions_slime_gobbler.lua} | 0 .../tibia_tales/actions_ultimate_booze_beer_bottle.lua} | 0 .../reward.lua => quests/tinder_box/actions_reward.lua} | 0 .../tinder_box.lua => quests/tinder_box/actions_tinder_box.lua} | 0 .../triangle_tower_quest/actions_triangle_tower_lever.lua} | 0 285 files changed, 0 insertions(+), 0 deletions(-) rename data-otservbr-global/scripts/{actions/quests/a_pirates_tail/cheesy_key.lua => quests/a_pirates_tail/actions_cheesy_key.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/a_pirates_tail/rascacoon_shortcut.lua => quests/a_pirates_tail/actions_rascacoon_shortcut.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/adventurers_guild/treasure.lua => quests/adventurers_guild/actions_treasure.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/adventurers_guild/warrior_skeleton.lua => quests/adventurers_guild/actions_warrior_skeleton.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/adventures_of_galthen/galthens_tree.lua => quests/adventures_of_galthen/actions_galthens_tree.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/adventures_of_galthen/idol_of_tukh.lua => quests/adventures_of_galthen/actions_idol_of_tukh.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/adventures_of_galthen/iksupan_entrance.lua => quests/adventures_of_galthen/actions_iksupan_entrance.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/adventures_of_galthen/iksupan_exit.lua => quests/adventures_of_galthen/actions_iksupan_exit.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/adventures_of_galthen/yselda_entrances.lua => quests/adventures_of_galthen/actions_yselda_entrances.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/adventures_of_galthen/yselda_shortcut.lua => quests/adventures_of_galthen/actions_yselda_shortcut.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/an_uneasy_alliance/crystal_ball.lua => quests/an_uneasy_alliance/actions_crystal_ball.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/beer.lua => quests/bigfoot_burden/actions_beer.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/crystal.lua => quests/bigfoot_burden/actions_crystal.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/extractor.lua => quests/bigfoot_burden/actions_extractor.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/matchmaker.lua => quests/bigfoot_burden/actions_matchmaker.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/mouthpiece.lua => quests/bigfoot_burden/actions_mouthpiece.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/mushroom.lua => quests/bigfoot_burden/actions_mushroom.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/music.lua => quests/bigfoot_burden/actions_music.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/package.lua => quests/bigfoot_burden/actions_package.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/pig.lua => quests/bigfoot_burden/actions_pig.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/repair.lua => quests/bigfoot_burden/actions_repair.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/rewards.lua => quests/bigfoot_burden/actions_rewards.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/shooting.lua => quests/bigfoot_burden/actions_shooting.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/spores.lua => quests/bigfoot_burden/actions_spores.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/stone.lua => quests/bigfoot_burden/actions_stone.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/bigfoot_burden/warzone1_crystal.lua => quests/bigfoot_burden/actions_warzone1_crystal.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/chayenne_realm/lever.lua => quests/chayenne_realm/actions_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/chayenne_realm/reward.lua => quests/chayenne_realm/actions_reward.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/analyser.lua => quests/cults_of_tibia/actions_analyser.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/bosses_levers.lua => quests/cults_of_tibia/actions_bosses_levers.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/counter_agent.lua => quests/cults_of_tibia/actions_counter_agent.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/crate.lua => quests/cults_of_tibia/actions_crate.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/cult_symbol.lua => quests/cults_of_tibia/actions_cult_symbol.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/document.lua => quests/cults_of_tibia/actions_document.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/last_object.lua => quests/cults_of_tibia/actions_last_object.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/lever_mota.lua => quests/cults_of_tibia/actions_lever_mota.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/magnifier.lua => quests/cults_of_tibia/actions_magnifier.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/misguided.lua => quests/cults_of_tibia/actions_misguided.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/cults_of_tibia/torch.lua => quests/cults_of_tibia/actions_torch.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/crude_lava_pump.lua => quests/dangerous_depth/actions_crude_lava_pump.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/crude_lava_pump_achievements.lua => quests/dangerous_depth/actions_crude_lava_pump_achievements.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/gnome_chart.lua => quests/dangerous_depth/actions_gnome_chart.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/gnome_items.lua => quests/dangerous_depth/actions_gnome_items.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/gnome_trignometre.lua => quests/dangerous_depth/actions_gnome_trignometre.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/gnomish_chest.lua => quests/dangerous_depth/actions_gnomish_chest.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/gnomish_pesticide.lua => quests/dangerous_depth/actions_gnomish_pesticide.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/lever_barrel.lua => quests/dangerous_depth/actions_lever_barrel.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/using_crystals.lua => quests/dangerous_depth/actions_using_crystals.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/warzone_crystals.lua => quests/dangerous_depth/actions_warzone_crystals.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dangerous_depth/wooden_trash.lua => quests/dangerous_depth/actions_wooden_trash.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dark_trails/corpse.lua => quests/dark_trails/actions_corpse.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dark_trails/lever_death_priest_shargon.lua => quests/dark_trails/actions_lever_death_priest_shargon.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dark_trails/lever_the_ravager.lua => quests/dark_trails/actions_lever_the_ravager.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dawnport/legion_helmet.lua => quests/dawnport/actions_legion_helmet.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dawnport/the_rare_herb.lua => quests/dawnport/actions_the_rare_herb.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/dawnport/vocation_reward.lua => quests/dawnport/actions_vocation_reward.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/deepling_worldchange/boxramp.lua => quests/deepling_worldchange/actions_boxramp.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/deepling_worldchange/coral.lua => quests/deepling_worldchange/actions_coral.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/deepling_worldchange/crystal.lua => quests/deepling_worldchange/actions_crystal.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/deepling_worldchange/crystalvortex.lua => quests/deepling_worldchange/actions_crystalvortex.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/deepling_worldchange/golden_anchor.lua => quests/deepling_worldchange/actions_golden_anchor.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/deepling_worldchange/questfirst.lua => quests/deepling_worldchange/actions_questfirst.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/deepling_worldchange/statue.lua => quests/deepling_worldchange/actions_statue.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/demon_oak/demon_oak.lua => quests/demon_oak/actions_demon_oak.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/demon_oak/demon_oak_chest.lua => quests/demon_oak/actions_demon_oak_chest.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/demon_oak/demon_oak_gravestone.lua => quests/demon_oak/actions_demon_oak_gravestone.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/desert_dungeon_quest/desert_dungeon_lever.lua => quests/desert_dungeon_quest/actions_desert_dungeon_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/elemental_spheres/lever.lua => quests/elemental_spheres/actions_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/elemental_spheres/lord_of_elements_lever.lua => quests/elemental_spheres/actions_lord_of_elements_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/elemental_spheres/machine1.lua => quests/elemental_spheres/actions_machine1.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/elemental_spheres/machine2.lua => quests/elemental_spheres/actions_machine2.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/elemental_spheres/soils1.lua => quests/elemental_spheres/actions_soils1.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/elemental_spheres/soils2.lua => quests/elemental_spheres/actions_soils2.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/fathers_burden/corpse.lua => quests/fathers_burden/actions_corpse.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/feaster_of_souls/bosses_killed.lua => quests/feaster_of_souls/actions_bosses_killed.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/feaster_of_souls/entrances.lua => quests/feaster_of_souls/actions_entrances.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/feaster_of_souls/portal_brain_head.lua => quests/feaster_of_souls/actions_portal_brain_head.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/feaster_of_souls/portal_minis_feaster.lua => quests/feaster_of_souls/actions_portal_minis_feaster.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/feaster_of_souls/portal_pale_worm.lua => quests/feaster_of_souls/actions_portal_pale_worm.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/feaster_of_souls/rock_entrance.lua => quests/feaster_of_souls/actions_rock_entrance.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/feaster_of_souls/slab.lua => quests/feaster_of_souls/actions_slab.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/bone_flute.lua => quests/ferumbras_ascendant/actions_bone_flute.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/bone_flute_wall.lua => quests/ferumbras_ascendant/actions_bone_flute_wall.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/boots_of_homecoming.lua => quests/ferumbras_ascendant/actions_boots_of_homecoming.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/color_levers.lua => quests/ferumbras_ascendant/actions_color_levers.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/ferumbras_amulet.lua => quests/ferumbras_ascendant/actions_ferumbras_amulet.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/ferumbras_lever.lua => quests/ferumbras_ascendant/actions_ferumbras_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/ferumbras_mana_keg.lua => quests/ferumbras_ascendant/actions_ferumbras_mana_keg.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/flower_puzzle_lever.lua => quests/ferumbras_ascendant/actions_flower_puzzle_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/grave_flower.lua => quests/ferumbras_ascendant/actions_grave_flower.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/habitat_corrupted.lua => quests/ferumbras_ascendant/actions_habitat_corrupted.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/habitat_desert.lua => quests/ferumbras_ascendant/actions_habitat_desert.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/habitat_dimension.lua => quests/ferumbras_ascendant/actions_habitat_dimension.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/habitat_grass.lua => quests/ferumbras_ascendant/actions_habitat_grass.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/habitat_ice.lua => quests/ferumbras_ascendant/actions_habitat_ice.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/habitat_lever.lua => quests/ferumbras_ascendant/actions_habitat_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/habitat_mushroom.lua => quests/ferumbras_ascendant/actions_habitat_mushroom.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/habitat_roshamuul.lua => quests/ferumbras_ascendant/actions_habitat_roshamuul.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/habitat_venom.lua => quests/ferumbras_ascendant/actions_habitat_venom.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/lever_first.lua => quests/ferumbras_ascendant/actions_lever_first.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/lever_four.lua => quests/ferumbras_ascendant/actions_lever_four.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/lever_second.lua => quests/ferumbras_ascendant/actions_lever_second.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/lever_third.lua => quests/ferumbras_ascendant/actions_lever_third.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/mysterious_scroll.lua => quests/ferumbras_ascendant/actions_mysterious_scroll.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/purified_soul.lua => quests/ferumbras_ascendant/actions_purified_soul.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/rat_lever.lua => quests/ferumbras_ascendant/actions_rat_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/reward.lua => quests/ferumbras_ascendant/actions_reward.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/sacrifice.lua => quests/ferumbras_ascendant/actions_sacrifice.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/statue.lua => quests/ferumbras_ascendant/actions_statue.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/tarbaz_notes.lua => quests/ferumbras_ascendant/actions_tarbaz_notes.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/teleportation_rod.lua => quests/ferumbras_ascendant/actions_teleportation_rod.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/the_shatterer_lever.lua => quests/ferumbras_ascendant/actions_the_shatterer_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/ferumbras_ascendant/the_shatterer_levers.lua => quests/ferumbras_ascendant/actions_the_shatterer_levers.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/first_dragon/lair_entrance.lua => quests/first_dragon/actions_lair_entrance.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/first_dragon/lever.lua => quests/first_dragon/actions_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/first_dragon/rewards.lua => quests/first_dragon/actions_rewards.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/first_dragon/sacrifice_items.lua => quests/first_dragon/actions_sacrifice_items.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/first_dragon/treasure_chest.lua => quests/first_dragon/actions_treasure_chest.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/bird_cage.lua => quests/forgotten_knowledge/actions_bird_cage.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/fount.lua => quests/forgotten_knowledge/actions_fount.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/girl_picture.lua => quests/forgotten_knowledge/actions_girl_picture.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/lantern.lua => quests/forgotten_knowledge/actions_lantern.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/lost_time.lua => quests/forgotten_knowledge/actions_lost_time.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/old_desk.lua => quests/forgotten_knowledge/actions_old_desk.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/plant.lua => quests/forgotten_knowledge/actions_plant.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/secret_wall.lua => quests/forgotten_knowledge/actions_secret_wall.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/servants_mechanism.lua => quests/forgotten_knowledge/actions_servants_mechanism.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/forgotten_knowledge/time_machine.lua => quests/forgotten_knowledge/actions_time_machine.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/grave_danger/bosses_killed.lua => quests/grave_danger/actions_bosses_killed.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/grave_danger/cobra_bastion/scarlett.lua => quests/grave_danger/cobra_bastion/actions_scarlett.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/amforas.lua => quests/gravedigger/actions_amforas.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/ashes.lua => quests/gravedigger/actions_ashes.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/blood.lua => quests/gravedigger/actions_blood.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/bones.lua => quests/gravedigger/actions_bones.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/bookcase.lua => quests/gravedigger/actions_bookcase.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/brain.lua => quests/gravedigger/actions_brain.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/caixa.lua => quests/gravedigger/actions_caixa.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/candles.lua => quests/gravedigger/actions_candles.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/cape.lua => quests/gravedigger/actions_cape.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/chalk.lua => quests/gravedigger/actions_chalk.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/flask.lua => quests/gravedigger/actions_flask.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/hallowed.lua => quests/gravedigger/actions_hallowed.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/inscriptions.lua => quests/gravedigger/actions_inscriptions.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/key1.lua => quests/gravedigger/actions_key1.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/key2.lua => quests/gravedigger/actions_key2.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/monks.lua => quests/gravedigger/actions_monks.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/palanca.lua => quests/gravedigger/actions_palanca.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/pyramids1.lua => quests/gravedigger/actions_pyramids1.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/pyramids2.lua => quests/gravedigger/actions_pyramids2.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/sacrifice.lua => quests/gravedigger/actions_sacrifice.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/scroll.lua => quests/gravedigger/actions_scroll.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/statue.lua => quests/gravedigger/actions_statue.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/tears.lua => quests/gravedigger/actions_tears.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/gravedigger/tincture.lua => quests/gravedigger/actions_tincture.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/grimvale/ancient_feud_entrances.lua => quests/grimvale/actions_ancient_feud_entrances.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/grimvale/closed_silvered_trap.lua => quests/grimvale/actions_closed_silvered_trap.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/grimvale/portal_minis_ancient_feud.lua => quests/grimvale/actions_portal_minis_ancient_feud.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/grimvale/portal_minis_grimvale.lua => quests/grimvale/actions_portal_minis_grimvale.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/grimvale/silver_liquid.lua => quests/grimvale/actions_silver_liquid.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/heart_of_destruction/charges_lever.lua => quests/heart_of_destruction/actions_charges_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/heart_of_destruction/cracklers_lever.lua => quests/heart_of_destruction/actions_cracklers_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/heart_of_destruction/devourer_access.lua => quests/heart_of_destruction/actions_devourer_access.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/heart_of_destruction/final_lever.lua => quests/heart_of_destruction/actions_final_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/heart_of_destruction/reward.lua => quests/heart_of_destruction/actions_reward.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/heart_of_destruction/sparks_lever.lua => quests/heart_of_destruction/actions_sparks_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/hero_of_rathleton/machines_deep_terror.lua => quests/hero_of_rathleton/actions_machines_deep_terror.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/hero_of_rathleton/machines_glooth_horror.lua => quests/hero_of_rathleton/actions_machines_glooth_horror.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/hero_of_rathleton/machines_lava.lua => quests/hero_of_rathleton/actions_machines_lava.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/hero_of_rathleton/machines_professor_maxxen.lua => quests/hero_of_rathleton/actions_machines_professor_maxxen.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/hero_of_rathleton/raging_corpse.lua => quests/hero_of_rathleton/actions_raging_corpse.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/hero_of_rathleton/reward.lua => quests/hero_of_rathleton/actions_reward.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/hot_cuisine/cookbook1.lua => quests/hot_cuisine/actions_cookbook1.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/hot_cuisine/cookbook2.lua => quests/hot_cuisine/actions_cookbook2.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/augerfun.lua => quests/kilmaresh/actions_augerfun.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/basin.lua => quests/kilmaresh/actions_basin.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/books.lua => quests/kilmaresh/actions_books.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/cagekey.lua => quests/kilmaresh/actions_cagekey.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/coruja.lua => quests/kilmaresh/actions_coruja.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/glasshoneyfun.lua => quests/kilmaresh/actions_glasshoneyfun.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/lyre.lua => quests/kilmaresh/actions_lyre.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/peeler.lua => quests/kilmaresh/actions_peeler.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/peelerfun.lua => quests/kilmaresh/actions_peelerfun.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/pickenchanted.lua => quests/kilmaresh/actions_pickenchanted.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/portal_minis_kilmaresh.lua => quests/kilmaresh/actions_portal_minis_kilmaresh.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/sangra.lua => quests/kilmaresh/actions_sangra.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/scissors.lua => quests/kilmaresh/actions_scissors.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/scissorsfun.lua => quests/kilmaresh/actions_scissorsfun.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/tortoise.lua => quests/kilmaresh/actions_tortoise.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/tumulo.lua => quests/kilmaresh/actions_tumulo.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/kilmaresh/tumuloerro.lua => quests/kilmaresh/actions_tumuloerro.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/lions_rock/lions_rock.lua => quests/lions_rock/actions_lions_rock.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/liquid_black/chairteleport.lua => quests/liquid_black/actions_chairteleport.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/liquid_black/notescoordinates.lua => quests/liquid_black/actions_notescoordinates.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/liquid_black/seashell_key.lua => quests/liquid_black/actions_seashell_key.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/lower_roshamuul/bone.lua => quests/lower_roshamuul/actions_bone.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/lower_roshamuul/chalk.lua => quests/lower_roshamuul/actions_chalk.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/lower_roshamuul/gravel.lua => quests/lower_roshamuul/actions_gravel.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/lower_roshamuul/mixture.lua => quests/lower_roshamuul/actions_mixture.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/lower_roshamuul/mortar.lua => quests/lower_roshamuul/actions_mortar.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/lower_roshamuul/resonance_chamber.lua => quests/lower_roshamuul/actions_resonance_chamber.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/lower_roshamuul/trough.lua => quests/lower_roshamuul/actions_trough.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/marapur/boss_timira_fight.lua => quests/marapur/actions_boss_timira_fight.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/marapur/teleports_timira.lua => quests/marapur/actions_teleports_timira.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/mintwallin_quest/devil_helmet_lever.lua => quests/mintwallin_quest/actions_devil_helmet_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/mysterious_ornate/mysterious_metal_egg.lua => quests/mysterious_ornate/actions_mysterious_metal_egg.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/oramond/glooth_fairy_lever.lua => quests/oramond/actions_glooth_fairy_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/oramond/chavis_tasks/to_take_roots.lua => quests/oramond/chavis_tasks/actions_to_take_roots.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/oramond/the_glooth_brothers_tasks/the_ancient_sewers.lua => quests/oramond/the_glooth_brothers_tasks/actions_the_ancient_sewers.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/calassa_comb_door.lua => quests/others/actions_calassa_comb_door.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/deeper_banuta_shortcut.lua => quests/others/actions_deeper_banuta_shortcut.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/ectoplasm_container.lua => quests/others/actions_ectoplasm_container.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/exterminator_flask.lua => quests/others/actions_exterminator_flask.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/fire_bug.lua => quests/others/actions_fire_bug.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/gooey_mass.lua => quests/others/actions_gooey_mass.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/hellgate_lever.lua => quests/others/actions_hellgate_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/holy_water.lua => quests/others/actions_holy_water.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/orc_edron_lever.lua => quests/others/actions_orc_edron_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/serpentine_tower_lever.lua => quests/others/actions_serpentine_tower_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/serpentine_tower_torch.lua => quests/others/actions_serpentine_tower_torch.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/others/steal_from_thieves.lua => quests/others/actions_steal_from_thieves.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/postman/package.lua => quests/postman/actions_package.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/postman/present.lua => quests/postman/actions_present.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/postman/waldos_posthorn.lua => quests/postman/actions_waldos_posthorn.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/sea_of_light/sea_of_light.lua => quests/sea_of_light/actions_sea_of_light.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/secret_library/bosses_killed.lua => quests/secret_library/actions_bosses_killed.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/secret_library/library_entrances.lua => quests/secret_library/actions_library_entrances.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/soul_war/bosses_killed.lua => quests/soul_war/actions_bosses_killed.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/soul_war/portal_megalomania.lua => quests/soul_war/actions_portal_megalomania.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/soul_war/portal_reward_soulwar.lua => quests/soul_war/actions_portal_reward_soulwar.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/soul_war/reward_soul_war.lua => quests/soul_war/actions_reward_soul_war.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/soul_war/soulwar_entrances.lua => quests/soul_war/actions_soulwar_entrances.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/spike_tasks/fertilizer.lua => quests/spike_tasks/actions_fertilizer.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/spike_tasks/ghost_detector.lua => quests/spike_tasks/actions_ghost_detector.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/spike_tasks/lode_stone.lua => quests/spike_tasks/actions_lode_stone.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/spike_tasks/nests.lua => quests/spike_tasks/actions_nests.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/spike_tasks/spirit_shovel.lua => quests/spike_tasks/actions_spirit_shovel.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/spike_tasks/thermometer.lua => quests/spike_tasks/actions_thermometer.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/spike_tasks/tuning_fork.lua => quests/spike_tasks/actions_tuning_fork.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/spirit_hunters/magical_device.lua => quests/spirit_hunters/actions_magical_device.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/thais_quest/life_ring_lever.lua => quests/thais_quest/actions_life_ring_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_cursed_crystal/MedusaOil.lua => quests/the_cursed_crystal/actions_MedusaOil.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_cursed_crystal/Misc.lua => quests/the_cursed_crystal/actions_Misc.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_cursed_crystal/Ointment.lua => quests/the_cursed_crystal/actions_Ointment.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_dream_courts/bosses_killed.lua => quests/the_dream_courts/actions_bosses_killed.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_dream_courts/dream_courts_lever.lua => quests/the_dream_courts/actions_dream_courts_lever.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_dream_courts/entrances_dream_courts.lua => quests/the_dream_courts/actions_entrances_dream_courts.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_dream_courts/portal_nightmare_beast.lua => quests/the_dream_courts/actions_portal_nightmare_beast.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_hunt_for_the_sea_serpent/bait.lua => quests/the_hunt_for_the_sea_serpent/actions_bait.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_lost_brother/asura_mirror.lua => quests/the_lost_brother/actions_asura_mirror.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_outlaw_camp/oven.lua => quests/the_outlaw_camp/actions_oven.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_outlaw_camp/power_burn.lua => quests/the_outlaw_camp/actions_power_burn.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_outlaw_camp/power_switch.lua => quests/the_outlaw_camp/actions_power_switch.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_outlaw_camp/the_outlaw_camp_quest.lua => quests/the_outlaw_camp/actions_the_outlaw_camp_quest.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/asura_mirror.lua => quests/the_secret_library/actions_asura_mirror.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/basinfire.lua => quests/the_secret_library/actions_basinfire.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/bastion_access.lua => quests/the_secret_library/actions_bastion_access.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/blacktp.lua => quests/the_secret_library/actions_blacktp.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/bluetp.lua => quests/the_secret_library/actions_bluetp.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/boattp.lua => quests/the_secret_library/actions_boattp.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/bone.lua => quests/the_secret_library/actions_bone.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/bonedoor.lua => quests/the_secret_library/actions_bonedoor.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/book.lua => quests/the_secret_library/actions_book.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/corpse.lua => quests/the_secret_library/actions_corpse.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/energybasin.lua => quests/the_secret_library/actions_energybasin.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/enterlibrary.lua => quests/the_secret_library/actions_enterlibrary.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/eyekey.lua => quests/the_secret_library/actions_eyekey.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/fish.lua => quests/the_secret_library/actions_fish.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/greentp.lua => quests/the_secret_library/actions_greentp.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/leverdoor.lua => quests/the_secret_library/actions_leverdoor.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/leverruby.lua => quests/the_secret_library/actions_leverruby.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/lotuskey.lua => quests/the_secret_library/actions_lotuskey.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/peacock.lua => quests/the_secret_library/actions_peacock.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/pinktp.lua => quests/the_secret_library/actions_pinktp.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/sealedbook.lua => quests/the_secret_library/actions_sealedbook.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/skullground.lua => quests/the_secret_library/actions_skullground.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/statuedeeplings.lua => quests/the_secret_library/actions_statuedeeplings.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/strandhair.lua => quests/the_secret_library/actions_strandhair.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_secret_library/telescop.lua => quests/the_secret_library/actions_telescop.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_tainted_soul/star_herb.lua => quests/the_tainted_soul/actions_star_herb.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/the_travelling_trader/outlaw_camp_door.lua => quests/the_travelling_trader/actions_outlaw_camp_door.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/their_master_voice/slime_gobbler.lua => quests/their_master_voice/actions_slime_gobbler.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/tibia_tales/ultimate_booze_beer_bottle.lua => quests/tibia_tales/actions_ultimate_booze_beer_bottle.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/tinder_box/reward.lua => quests/tinder_box/actions_reward.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/tinder_box/tinder_box.lua => quests/tinder_box/actions_tinder_box.lua} (100%) rename data-otservbr-global/scripts/{actions/quests/triangle_tower_quest/triangle_tower_lever.lua => quests/triangle_tower_quest/actions_triangle_tower_lever.lua} (100%) diff --git a/data-otservbr-global/scripts/actions/quests/a_pirates_tail/cheesy_key.lua b/data-otservbr-global/scripts/quests/a_pirates_tail/actions_cheesy_key.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/a_pirates_tail/cheesy_key.lua rename to data-otservbr-global/scripts/quests/a_pirates_tail/actions_cheesy_key.lua diff --git a/data-otservbr-global/scripts/actions/quests/a_pirates_tail/rascacoon_shortcut.lua b/data-otservbr-global/scripts/quests/a_pirates_tail/actions_rascacoon_shortcut.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/a_pirates_tail/rascacoon_shortcut.lua rename to data-otservbr-global/scripts/quests/a_pirates_tail/actions_rascacoon_shortcut.lua diff --git a/data-otservbr-global/scripts/actions/quests/adventurers_guild/treasure.lua b/data-otservbr-global/scripts/quests/adventurers_guild/actions_treasure.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/adventurers_guild/treasure.lua rename to data-otservbr-global/scripts/quests/adventurers_guild/actions_treasure.lua diff --git a/data-otservbr-global/scripts/actions/quests/adventurers_guild/warrior_skeleton.lua b/data-otservbr-global/scripts/quests/adventurers_guild/actions_warrior_skeleton.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/adventurers_guild/warrior_skeleton.lua rename to data-otservbr-global/scripts/quests/adventurers_guild/actions_warrior_skeleton.lua diff --git a/data-otservbr-global/scripts/actions/quests/adventures_of_galthen/galthens_tree.lua b/data-otservbr-global/scripts/quests/adventures_of_galthen/actions_galthens_tree.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/adventures_of_galthen/galthens_tree.lua rename to data-otservbr-global/scripts/quests/adventures_of_galthen/actions_galthens_tree.lua diff --git a/data-otservbr-global/scripts/actions/quests/adventures_of_galthen/idol_of_tukh.lua b/data-otservbr-global/scripts/quests/adventures_of_galthen/actions_idol_of_tukh.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/adventures_of_galthen/idol_of_tukh.lua rename to data-otservbr-global/scripts/quests/adventures_of_galthen/actions_idol_of_tukh.lua diff --git a/data-otservbr-global/scripts/actions/quests/adventures_of_galthen/iksupan_entrance.lua b/data-otservbr-global/scripts/quests/adventures_of_galthen/actions_iksupan_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/adventures_of_galthen/iksupan_entrance.lua rename to data-otservbr-global/scripts/quests/adventures_of_galthen/actions_iksupan_entrance.lua diff --git a/data-otservbr-global/scripts/actions/quests/adventures_of_galthen/iksupan_exit.lua b/data-otservbr-global/scripts/quests/adventures_of_galthen/actions_iksupan_exit.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/adventures_of_galthen/iksupan_exit.lua rename to data-otservbr-global/scripts/quests/adventures_of_galthen/actions_iksupan_exit.lua diff --git a/data-otservbr-global/scripts/actions/quests/adventures_of_galthen/yselda_entrances.lua b/data-otservbr-global/scripts/quests/adventures_of_galthen/actions_yselda_entrances.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/adventures_of_galthen/yselda_entrances.lua rename to data-otservbr-global/scripts/quests/adventures_of_galthen/actions_yselda_entrances.lua diff --git a/data-otservbr-global/scripts/actions/quests/adventures_of_galthen/yselda_shortcut.lua b/data-otservbr-global/scripts/quests/adventures_of_galthen/actions_yselda_shortcut.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/adventures_of_galthen/yselda_shortcut.lua rename to data-otservbr-global/scripts/quests/adventures_of_galthen/actions_yselda_shortcut.lua diff --git a/data-otservbr-global/scripts/actions/quests/an_uneasy_alliance/crystal_ball.lua b/data-otservbr-global/scripts/quests/an_uneasy_alliance/actions_crystal_ball.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/an_uneasy_alliance/crystal_ball.lua rename to data-otservbr-global/scripts/quests/an_uneasy_alliance/actions_crystal_ball.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/beer.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_beer.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/beer.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_beer.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/crystal.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_crystal.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/crystal.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_crystal.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/extractor.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_extractor.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/extractor.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_extractor.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/matchmaker.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_matchmaker.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/matchmaker.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_matchmaker.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/mouthpiece.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_mouthpiece.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/mouthpiece.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_mouthpiece.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/mushroom.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_mushroom.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/mushroom.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_mushroom.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/music.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_music.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/music.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_music.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/package.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_package.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/package.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_package.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/pig.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_pig.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/pig.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_pig.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/repair.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_repair.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/repair.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_repair.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/rewards.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_rewards.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/rewards.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_rewards.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/shooting.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_shooting.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/shooting.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_shooting.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/spores.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_spores.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/spores.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_spores.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/stone.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_stone.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/stone.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_stone.lua diff --git a/data-otservbr-global/scripts/actions/quests/bigfoot_burden/warzone1_crystal.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/actions_warzone1_crystal.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/bigfoot_burden/warzone1_crystal.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/actions_warzone1_crystal.lua diff --git a/data-otservbr-global/scripts/actions/quests/chayenne_realm/lever.lua b/data-otservbr-global/scripts/quests/chayenne_realm/actions_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/chayenne_realm/lever.lua rename to data-otservbr-global/scripts/quests/chayenne_realm/actions_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/chayenne_realm/reward.lua b/data-otservbr-global/scripts/quests/chayenne_realm/actions_reward.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/chayenne_realm/reward.lua rename to data-otservbr-global/scripts/quests/chayenne_realm/actions_reward.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/analyser.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_analyser.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/analyser.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_analyser.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/bosses_levers.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_bosses_levers.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/bosses_levers.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_bosses_levers.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/counter_agent.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_counter_agent.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/counter_agent.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_counter_agent.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/crate.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_crate.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/crate.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_crate.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/cult_symbol.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_cult_symbol.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/cult_symbol.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_cult_symbol.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/document.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_document.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/document.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_document.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/last_object.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_last_object.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/last_object.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_last_object.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/lever_mota.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_lever_mota.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/lever_mota.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_lever_mota.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/magnifier.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_magnifier.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/magnifier.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_magnifier.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/misguided.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_misguided.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/misguided.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_misguided.lua diff --git a/data-otservbr-global/scripts/actions/quests/cults_of_tibia/torch.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/actions_torch.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/cults_of_tibia/torch.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/actions_torch.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/crude_lava_pump.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_crude_lava_pump.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/crude_lava_pump.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_crude_lava_pump.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/crude_lava_pump_achievements.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_crude_lava_pump_achievements.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/crude_lava_pump_achievements.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_crude_lava_pump_achievements.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/gnome_chart.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_gnome_chart.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/gnome_chart.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_gnome_chart.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/gnome_items.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_gnome_items.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/gnome_items.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_gnome_items.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/gnome_trignometre.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_gnome_trignometre.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/gnome_trignometre.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_gnome_trignometre.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/gnomish_chest.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_gnomish_chest.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/gnomish_chest.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_gnomish_chest.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/gnomish_pesticide.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_gnomish_pesticide.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/gnomish_pesticide.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_gnomish_pesticide.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/lever_barrel.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_lever_barrel.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/lever_barrel.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_lever_barrel.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/using_crystals.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_using_crystals.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/using_crystals.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_using_crystals.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/warzone_crystals.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_warzone_crystals.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/warzone_crystals.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_warzone_crystals.lua diff --git a/data-otservbr-global/scripts/actions/quests/dangerous_depth/wooden_trash.lua b/data-otservbr-global/scripts/quests/dangerous_depth/actions_wooden_trash.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dangerous_depth/wooden_trash.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/actions_wooden_trash.lua diff --git a/data-otservbr-global/scripts/actions/quests/dark_trails/corpse.lua b/data-otservbr-global/scripts/quests/dark_trails/actions_corpse.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dark_trails/corpse.lua rename to data-otservbr-global/scripts/quests/dark_trails/actions_corpse.lua diff --git a/data-otservbr-global/scripts/actions/quests/dark_trails/lever_death_priest_shargon.lua b/data-otservbr-global/scripts/quests/dark_trails/actions_lever_death_priest_shargon.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dark_trails/lever_death_priest_shargon.lua rename to data-otservbr-global/scripts/quests/dark_trails/actions_lever_death_priest_shargon.lua diff --git a/data-otservbr-global/scripts/actions/quests/dark_trails/lever_the_ravager.lua b/data-otservbr-global/scripts/quests/dark_trails/actions_lever_the_ravager.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dark_trails/lever_the_ravager.lua rename to data-otservbr-global/scripts/quests/dark_trails/actions_lever_the_ravager.lua diff --git a/data-otservbr-global/scripts/actions/quests/dawnport/legion_helmet.lua b/data-otservbr-global/scripts/quests/dawnport/actions_legion_helmet.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dawnport/legion_helmet.lua rename to data-otservbr-global/scripts/quests/dawnport/actions_legion_helmet.lua diff --git a/data-otservbr-global/scripts/actions/quests/dawnport/the_rare_herb.lua b/data-otservbr-global/scripts/quests/dawnport/actions_the_rare_herb.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dawnport/the_rare_herb.lua rename to data-otservbr-global/scripts/quests/dawnport/actions_the_rare_herb.lua diff --git a/data-otservbr-global/scripts/actions/quests/dawnport/vocation_reward.lua b/data-otservbr-global/scripts/quests/dawnport/actions_vocation_reward.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/dawnport/vocation_reward.lua rename to data-otservbr-global/scripts/quests/dawnport/actions_vocation_reward.lua diff --git a/data-otservbr-global/scripts/actions/quests/deepling_worldchange/boxramp.lua b/data-otservbr-global/scripts/quests/deepling_worldchange/actions_boxramp.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/deepling_worldchange/boxramp.lua rename to data-otservbr-global/scripts/quests/deepling_worldchange/actions_boxramp.lua diff --git a/data-otservbr-global/scripts/actions/quests/deepling_worldchange/coral.lua b/data-otservbr-global/scripts/quests/deepling_worldchange/actions_coral.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/deepling_worldchange/coral.lua rename to data-otservbr-global/scripts/quests/deepling_worldchange/actions_coral.lua diff --git a/data-otservbr-global/scripts/actions/quests/deepling_worldchange/crystal.lua b/data-otservbr-global/scripts/quests/deepling_worldchange/actions_crystal.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/deepling_worldchange/crystal.lua rename to data-otservbr-global/scripts/quests/deepling_worldchange/actions_crystal.lua diff --git a/data-otservbr-global/scripts/actions/quests/deepling_worldchange/crystalvortex.lua b/data-otservbr-global/scripts/quests/deepling_worldchange/actions_crystalvortex.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/deepling_worldchange/crystalvortex.lua rename to data-otservbr-global/scripts/quests/deepling_worldchange/actions_crystalvortex.lua diff --git a/data-otservbr-global/scripts/actions/quests/deepling_worldchange/golden_anchor.lua b/data-otservbr-global/scripts/quests/deepling_worldchange/actions_golden_anchor.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/deepling_worldchange/golden_anchor.lua rename to data-otservbr-global/scripts/quests/deepling_worldchange/actions_golden_anchor.lua diff --git a/data-otservbr-global/scripts/actions/quests/deepling_worldchange/questfirst.lua b/data-otservbr-global/scripts/quests/deepling_worldchange/actions_questfirst.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/deepling_worldchange/questfirst.lua rename to data-otservbr-global/scripts/quests/deepling_worldchange/actions_questfirst.lua diff --git a/data-otservbr-global/scripts/actions/quests/deepling_worldchange/statue.lua b/data-otservbr-global/scripts/quests/deepling_worldchange/actions_statue.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/deepling_worldchange/statue.lua rename to data-otservbr-global/scripts/quests/deepling_worldchange/actions_statue.lua diff --git a/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak.lua b/data-otservbr-global/scripts/quests/demon_oak/actions_demon_oak.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak.lua rename to data-otservbr-global/scripts/quests/demon_oak/actions_demon_oak.lua diff --git a/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_chest.lua b/data-otservbr-global/scripts/quests/demon_oak/actions_demon_oak_chest.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_chest.lua rename to data-otservbr-global/scripts/quests/demon_oak/actions_demon_oak_chest.lua diff --git a/data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_gravestone.lua b/data-otservbr-global/scripts/quests/demon_oak/actions_demon_oak_gravestone.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/demon_oak/demon_oak_gravestone.lua rename to data-otservbr-global/scripts/quests/demon_oak/actions_demon_oak_gravestone.lua diff --git a/data-otservbr-global/scripts/actions/quests/desert_dungeon_quest/desert_dungeon_lever.lua b/data-otservbr-global/scripts/quests/desert_dungeon_quest/actions_desert_dungeon_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/desert_dungeon_quest/desert_dungeon_lever.lua rename to data-otservbr-global/scripts/quests/desert_dungeon_quest/actions_desert_dungeon_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/elemental_spheres/lever.lua b/data-otservbr-global/scripts/quests/elemental_spheres/actions_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/elemental_spheres/lever.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/actions_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/elemental_spheres/lord_of_elements_lever.lua b/data-otservbr-global/scripts/quests/elemental_spheres/actions_lord_of_elements_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/elemental_spheres/lord_of_elements_lever.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/actions_lord_of_elements_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/elemental_spheres/machine1.lua b/data-otservbr-global/scripts/quests/elemental_spheres/actions_machine1.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/elemental_spheres/machine1.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/actions_machine1.lua diff --git a/data-otservbr-global/scripts/actions/quests/elemental_spheres/machine2.lua b/data-otservbr-global/scripts/quests/elemental_spheres/actions_machine2.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/elemental_spheres/machine2.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/actions_machine2.lua diff --git a/data-otservbr-global/scripts/actions/quests/elemental_spheres/soils1.lua b/data-otservbr-global/scripts/quests/elemental_spheres/actions_soils1.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/elemental_spheres/soils1.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/actions_soils1.lua diff --git a/data-otservbr-global/scripts/actions/quests/elemental_spheres/soils2.lua b/data-otservbr-global/scripts/quests/elemental_spheres/actions_soils2.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/elemental_spheres/soils2.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/actions_soils2.lua diff --git a/data-otservbr-global/scripts/actions/quests/fathers_burden/corpse.lua b/data-otservbr-global/scripts/quests/fathers_burden/actions_corpse.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/fathers_burden/corpse.lua rename to data-otservbr-global/scripts/quests/fathers_burden/actions_corpse.lua diff --git a/data-otservbr-global/scripts/actions/quests/feaster_of_souls/bosses_killed.lua b/data-otservbr-global/scripts/quests/feaster_of_souls/actions_bosses_killed.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/feaster_of_souls/bosses_killed.lua rename to data-otservbr-global/scripts/quests/feaster_of_souls/actions_bosses_killed.lua diff --git a/data-otservbr-global/scripts/actions/quests/feaster_of_souls/entrances.lua b/data-otservbr-global/scripts/quests/feaster_of_souls/actions_entrances.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/feaster_of_souls/entrances.lua rename to data-otservbr-global/scripts/quests/feaster_of_souls/actions_entrances.lua diff --git a/data-otservbr-global/scripts/actions/quests/feaster_of_souls/portal_brain_head.lua b/data-otservbr-global/scripts/quests/feaster_of_souls/actions_portal_brain_head.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/feaster_of_souls/portal_brain_head.lua rename to data-otservbr-global/scripts/quests/feaster_of_souls/actions_portal_brain_head.lua diff --git a/data-otservbr-global/scripts/actions/quests/feaster_of_souls/portal_minis_feaster.lua b/data-otservbr-global/scripts/quests/feaster_of_souls/actions_portal_minis_feaster.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/feaster_of_souls/portal_minis_feaster.lua rename to data-otservbr-global/scripts/quests/feaster_of_souls/actions_portal_minis_feaster.lua diff --git a/data-otservbr-global/scripts/actions/quests/feaster_of_souls/portal_pale_worm.lua b/data-otservbr-global/scripts/quests/feaster_of_souls/actions_portal_pale_worm.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/feaster_of_souls/portal_pale_worm.lua rename to data-otservbr-global/scripts/quests/feaster_of_souls/actions_portal_pale_worm.lua diff --git a/data-otservbr-global/scripts/actions/quests/feaster_of_souls/rock_entrance.lua b/data-otservbr-global/scripts/quests/feaster_of_souls/actions_rock_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/feaster_of_souls/rock_entrance.lua rename to data-otservbr-global/scripts/quests/feaster_of_souls/actions_rock_entrance.lua diff --git a/data-otservbr-global/scripts/actions/quests/feaster_of_souls/slab.lua b/data-otservbr-global/scripts/quests/feaster_of_souls/actions_slab.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/feaster_of_souls/slab.lua rename to data-otservbr-global/scripts/quests/feaster_of_souls/actions_slab.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/bone_flute.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_bone_flute.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/bone_flute.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_bone_flute.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/bone_flute_wall.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_bone_flute_wall.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/bone_flute_wall.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_bone_flute_wall.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/boots_of_homecoming.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_boots_of_homecoming.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/boots_of_homecoming.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_boots_of_homecoming.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/color_levers.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_color_levers.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/color_levers.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_color_levers.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/ferumbras_amulet.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_ferumbras_amulet.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/ferumbras_amulet.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_ferumbras_amulet.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/ferumbras_lever.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_ferumbras_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/ferumbras_lever.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_ferumbras_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/ferumbras_mana_keg.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_ferumbras_mana_keg.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/ferumbras_mana_keg.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_ferumbras_mana_keg.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/flower_puzzle_lever.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_flower_puzzle_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/flower_puzzle_lever.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_flower_puzzle_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/grave_flower.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_grave_flower.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/grave_flower.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_grave_flower.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_corrupted.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_corrupted.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_corrupted.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_corrupted.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_desert.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_desert.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_desert.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_desert.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_dimension.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_dimension.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_dimension.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_dimension.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_grass.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_grass.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_grass.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_grass.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_ice.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_ice.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_ice.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_ice.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_lever.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_lever.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_mushroom.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_mushroom.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_mushroom.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_mushroom.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_roshamuul.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_roshamuul.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_roshamuul.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_roshamuul.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_venom.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_venom.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/habitat_venom.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_habitat_venom.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/lever_first.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_lever_first.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/lever_first.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_lever_first.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/lever_four.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_lever_four.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/lever_four.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_lever_four.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/lever_second.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_lever_second.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/lever_second.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_lever_second.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/lever_third.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_lever_third.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/lever_third.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_lever_third.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/mysterious_scroll.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_mysterious_scroll.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/mysterious_scroll.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_mysterious_scroll.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/purified_soul.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_purified_soul.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/purified_soul.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_purified_soul.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/rat_lever.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_rat_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/rat_lever.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_rat_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/reward.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_reward.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/reward.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_reward.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/sacrifice.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_sacrifice.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/sacrifice.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_sacrifice.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/statue.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_statue.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/statue.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_statue.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/tarbaz_notes.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_tarbaz_notes.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/tarbaz_notes.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_tarbaz_notes.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/teleportation_rod.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_teleportation_rod.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/teleportation_rod.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_teleportation_rod.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/the_shatterer_lever.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_the_shatterer_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/the_shatterer_lever.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_the_shatterer_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/the_shatterer_levers.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_the_shatterer_levers.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/ferumbras_ascendant/the_shatterer_levers.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/actions_the_shatterer_levers.lua diff --git a/data-otservbr-global/scripts/actions/quests/first_dragon/lair_entrance.lua b/data-otservbr-global/scripts/quests/first_dragon/actions_lair_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/first_dragon/lair_entrance.lua rename to data-otservbr-global/scripts/quests/first_dragon/actions_lair_entrance.lua diff --git a/data-otservbr-global/scripts/actions/quests/first_dragon/lever.lua b/data-otservbr-global/scripts/quests/first_dragon/actions_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/first_dragon/lever.lua rename to data-otservbr-global/scripts/quests/first_dragon/actions_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/first_dragon/rewards.lua b/data-otservbr-global/scripts/quests/first_dragon/actions_rewards.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/first_dragon/rewards.lua rename to data-otservbr-global/scripts/quests/first_dragon/actions_rewards.lua diff --git a/data-otservbr-global/scripts/actions/quests/first_dragon/sacrifice_items.lua b/data-otservbr-global/scripts/quests/first_dragon/actions_sacrifice_items.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/first_dragon/sacrifice_items.lua rename to data-otservbr-global/scripts/quests/first_dragon/actions_sacrifice_items.lua diff --git a/data-otservbr-global/scripts/actions/quests/first_dragon/treasure_chest.lua b/data-otservbr-global/scripts/quests/first_dragon/actions_treasure_chest.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/first_dragon/treasure_chest.lua rename to data-otservbr-global/scripts/quests/first_dragon/actions_treasure_chest.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/bird_cage.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_bird_cage.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/bird_cage.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_bird_cage.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/fount.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_fount.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/fount.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_fount.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/girl_picture.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_girl_picture.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/girl_picture.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_girl_picture.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/lantern.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_lantern.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/lantern.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_lantern.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/lost_time.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_lost_time.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/lost_time.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_lost_time.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/old_desk.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_old_desk.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/old_desk.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_old_desk.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/plant.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_plant.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/plant.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_plant.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/secret_wall.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_secret_wall.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/secret_wall.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_secret_wall.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/servants_mechanism.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_servants_mechanism.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/servants_mechanism.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_servants_mechanism.lua diff --git a/data-otservbr-global/scripts/actions/quests/forgotten_knowledge/time_machine.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/actions_time_machine.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/forgotten_knowledge/time_machine.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/actions_time_machine.lua diff --git a/data-otservbr-global/scripts/actions/quests/grave_danger/bosses_killed.lua b/data-otservbr-global/scripts/quests/grave_danger/actions_bosses_killed.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/grave_danger/bosses_killed.lua rename to data-otservbr-global/scripts/quests/grave_danger/actions_bosses_killed.lua diff --git a/data-otservbr-global/scripts/actions/quests/grave_danger/cobra_bastion/scarlett.lua b/data-otservbr-global/scripts/quests/grave_danger/cobra_bastion/actions_scarlett.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/grave_danger/cobra_bastion/scarlett.lua rename to data-otservbr-global/scripts/quests/grave_danger/cobra_bastion/actions_scarlett.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/amforas.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_amforas.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/amforas.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_amforas.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/ashes.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_ashes.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/ashes.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_ashes.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/blood.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_blood.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/blood.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_blood.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/bones.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_bones.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/bones.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_bones.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/bookcase.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_bookcase.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/bookcase.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_bookcase.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/brain.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_brain.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/brain.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_brain.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/caixa.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_caixa.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/caixa.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_caixa.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/candles.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_candles.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/candles.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_candles.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/cape.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_cape.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/cape.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_cape.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/chalk.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_chalk.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/chalk.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_chalk.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/flask.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_flask.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/flask.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_flask.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/hallowed.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_hallowed.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/hallowed.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_hallowed.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/inscriptions.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_inscriptions.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/inscriptions.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_inscriptions.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/key1.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_key1.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/key1.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_key1.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/key2.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_key2.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/key2.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_key2.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/monks.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_monks.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/monks.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_monks.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/palanca.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_palanca.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/palanca.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_palanca.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/pyramids1.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_pyramids1.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/pyramids1.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_pyramids1.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/pyramids2.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_pyramids2.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/pyramids2.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_pyramids2.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/sacrifice.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_sacrifice.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/sacrifice.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_sacrifice.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/scroll.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_scroll.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/scroll.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_scroll.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/statue.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_statue.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/statue.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_statue.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/tears.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_tears.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/tears.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_tears.lua diff --git a/data-otservbr-global/scripts/actions/quests/gravedigger/tincture.lua b/data-otservbr-global/scripts/quests/gravedigger/actions_tincture.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/gravedigger/tincture.lua rename to data-otservbr-global/scripts/quests/gravedigger/actions_tincture.lua diff --git a/data-otservbr-global/scripts/actions/quests/grimvale/ancient_feud_entrances.lua b/data-otservbr-global/scripts/quests/grimvale/actions_ancient_feud_entrances.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/grimvale/ancient_feud_entrances.lua rename to data-otservbr-global/scripts/quests/grimvale/actions_ancient_feud_entrances.lua diff --git a/data-otservbr-global/scripts/actions/quests/grimvale/closed_silvered_trap.lua b/data-otservbr-global/scripts/quests/grimvale/actions_closed_silvered_trap.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/grimvale/closed_silvered_trap.lua rename to data-otservbr-global/scripts/quests/grimvale/actions_closed_silvered_trap.lua diff --git a/data-otservbr-global/scripts/actions/quests/grimvale/portal_minis_ancient_feud.lua b/data-otservbr-global/scripts/quests/grimvale/actions_portal_minis_ancient_feud.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/grimvale/portal_minis_ancient_feud.lua rename to data-otservbr-global/scripts/quests/grimvale/actions_portal_minis_ancient_feud.lua diff --git a/data-otservbr-global/scripts/actions/quests/grimvale/portal_minis_grimvale.lua b/data-otservbr-global/scripts/quests/grimvale/actions_portal_minis_grimvale.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/grimvale/portal_minis_grimvale.lua rename to data-otservbr-global/scripts/quests/grimvale/actions_portal_minis_grimvale.lua diff --git a/data-otservbr-global/scripts/actions/quests/grimvale/silver_liquid.lua b/data-otservbr-global/scripts/quests/grimvale/actions_silver_liquid.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/grimvale/silver_liquid.lua rename to data-otservbr-global/scripts/quests/grimvale/actions_silver_liquid.lua diff --git a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/charges_lever.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/actions_charges_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/heart_of_destruction/charges_lever.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/actions_charges_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/cracklers_lever.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/actions_cracklers_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/heart_of_destruction/cracklers_lever.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/actions_cracklers_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/devourer_access.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/actions_devourer_access.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/heart_of_destruction/devourer_access.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/actions_devourer_access.lua diff --git a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/final_lever.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/actions_final_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/heart_of_destruction/final_lever.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/actions_final_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/reward.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/actions_reward.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/heart_of_destruction/reward.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/actions_reward.lua diff --git a/data-otservbr-global/scripts/actions/quests/heart_of_destruction/sparks_lever.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/actions_sparks_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/heart_of_destruction/sparks_lever.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/actions_sparks_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/hero_of_rathleton/machines_deep_terror.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/actions_machines_deep_terror.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/hero_of_rathleton/machines_deep_terror.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/actions_machines_deep_terror.lua diff --git a/data-otservbr-global/scripts/actions/quests/hero_of_rathleton/machines_glooth_horror.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/actions_machines_glooth_horror.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/hero_of_rathleton/machines_glooth_horror.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/actions_machines_glooth_horror.lua diff --git a/data-otservbr-global/scripts/actions/quests/hero_of_rathleton/machines_lava.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/actions_machines_lava.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/hero_of_rathleton/machines_lava.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/actions_machines_lava.lua diff --git a/data-otservbr-global/scripts/actions/quests/hero_of_rathleton/machines_professor_maxxen.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/actions_machines_professor_maxxen.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/hero_of_rathleton/machines_professor_maxxen.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/actions_machines_professor_maxxen.lua diff --git a/data-otservbr-global/scripts/actions/quests/hero_of_rathleton/raging_corpse.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/actions_raging_corpse.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/hero_of_rathleton/raging_corpse.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/actions_raging_corpse.lua diff --git a/data-otservbr-global/scripts/actions/quests/hero_of_rathleton/reward.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/actions_reward.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/hero_of_rathleton/reward.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/actions_reward.lua diff --git a/data-otservbr-global/scripts/actions/quests/hot_cuisine/cookbook1.lua b/data-otservbr-global/scripts/quests/hot_cuisine/actions_cookbook1.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/hot_cuisine/cookbook1.lua rename to data-otservbr-global/scripts/quests/hot_cuisine/actions_cookbook1.lua diff --git a/data-otservbr-global/scripts/actions/quests/hot_cuisine/cookbook2.lua b/data-otservbr-global/scripts/quests/hot_cuisine/actions_cookbook2.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/hot_cuisine/cookbook2.lua rename to data-otservbr-global/scripts/quests/hot_cuisine/actions_cookbook2.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/augerfun.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_augerfun.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/augerfun.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_augerfun.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/basin.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_basin.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/basin.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_basin.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/books.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_books.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/books.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_books.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/cagekey.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_cagekey.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/cagekey.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_cagekey.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/coruja.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_coruja.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/coruja.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_coruja.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/glasshoneyfun.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_glasshoneyfun.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/glasshoneyfun.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_glasshoneyfun.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/lyre.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_lyre.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/lyre.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_lyre.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/peeler.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_peeler.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/peeler.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_peeler.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/peelerfun.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_peelerfun.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/peelerfun.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_peelerfun.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/pickenchanted.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_pickenchanted.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/pickenchanted.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_pickenchanted.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/portal_minis_kilmaresh.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_portal_minis_kilmaresh.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/portal_minis_kilmaresh.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_portal_minis_kilmaresh.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/sangra.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_sangra.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/sangra.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_sangra.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/scissors.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_scissors.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/scissors.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_scissors.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/scissorsfun.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_scissorsfun.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/scissorsfun.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_scissorsfun.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/tortoise.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_tortoise.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/tortoise.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_tortoise.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/tumulo.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_tumulo.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/tumulo.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_tumulo.lua diff --git a/data-otservbr-global/scripts/actions/quests/kilmaresh/tumuloerro.lua b/data-otservbr-global/scripts/quests/kilmaresh/actions_tumuloerro.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/kilmaresh/tumuloerro.lua rename to data-otservbr-global/scripts/quests/kilmaresh/actions_tumuloerro.lua diff --git a/data-otservbr-global/scripts/actions/quests/lions_rock/lions_rock.lua b/data-otservbr-global/scripts/quests/lions_rock/actions_lions_rock.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/lions_rock/lions_rock.lua rename to data-otservbr-global/scripts/quests/lions_rock/actions_lions_rock.lua diff --git a/data-otservbr-global/scripts/actions/quests/liquid_black/chairteleport.lua b/data-otservbr-global/scripts/quests/liquid_black/actions_chairteleport.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/liquid_black/chairteleport.lua rename to data-otservbr-global/scripts/quests/liquid_black/actions_chairteleport.lua diff --git a/data-otservbr-global/scripts/actions/quests/liquid_black/notescoordinates.lua b/data-otservbr-global/scripts/quests/liquid_black/actions_notescoordinates.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/liquid_black/notescoordinates.lua rename to data-otservbr-global/scripts/quests/liquid_black/actions_notescoordinates.lua diff --git a/data-otservbr-global/scripts/actions/quests/liquid_black/seashell_key.lua b/data-otservbr-global/scripts/quests/liquid_black/actions_seashell_key.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/liquid_black/seashell_key.lua rename to data-otservbr-global/scripts/quests/liquid_black/actions_seashell_key.lua diff --git a/data-otservbr-global/scripts/actions/quests/lower_roshamuul/bone.lua b/data-otservbr-global/scripts/quests/lower_roshamuul/actions_bone.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/lower_roshamuul/bone.lua rename to data-otservbr-global/scripts/quests/lower_roshamuul/actions_bone.lua diff --git a/data-otservbr-global/scripts/actions/quests/lower_roshamuul/chalk.lua b/data-otservbr-global/scripts/quests/lower_roshamuul/actions_chalk.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/lower_roshamuul/chalk.lua rename to data-otservbr-global/scripts/quests/lower_roshamuul/actions_chalk.lua diff --git a/data-otservbr-global/scripts/actions/quests/lower_roshamuul/gravel.lua b/data-otservbr-global/scripts/quests/lower_roshamuul/actions_gravel.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/lower_roshamuul/gravel.lua rename to data-otservbr-global/scripts/quests/lower_roshamuul/actions_gravel.lua diff --git a/data-otservbr-global/scripts/actions/quests/lower_roshamuul/mixture.lua b/data-otservbr-global/scripts/quests/lower_roshamuul/actions_mixture.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/lower_roshamuul/mixture.lua rename to data-otservbr-global/scripts/quests/lower_roshamuul/actions_mixture.lua diff --git a/data-otservbr-global/scripts/actions/quests/lower_roshamuul/mortar.lua b/data-otservbr-global/scripts/quests/lower_roshamuul/actions_mortar.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/lower_roshamuul/mortar.lua rename to data-otservbr-global/scripts/quests/lower_roshamuul/actions_mortar.lua diff --git a/data-otservbr-global/scripts/actions/quests/lower_roshamuul/resonance_chamber.lua b/data-otservbr-global/scripts/quests/lower_roshamuul/actions_resonance_chamber.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/lower_roshamuul/resonance_chamber.lua rename to data-otservbr-global/scripts/quests/lower_roshamuul/actions_resonance_chamber.lua diff --git a/data-otservbr-global/scripts/actions/quests/lower_roshamuul/trough.lua b/data-otservbr-global/scripts/quests/lower_roshamuul/actions_trough.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/lower_roshamuul/trough.lua rename to data-otservbr-global/scripts/quests/lower_roshamuul/actions_trough.lua diff --git a/data-otservbr-global/scripts/actions/quests/marapur/boss_timira_fight.lua b/data-otservbr-global/scripts/quests/marapur/actions_boss_timira_fight.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/marapur/boss_timira_fight.lua rename to data-otservbr-global/scripts/quests/marapur/actions_boss_timira_fight.lua diff --git a/data-otservbr-global/scripts/actions/quests/marapur/teleports_timira.lua b/data-otservbr-global/scripts/quests/marapur/actions_teleports_timira.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/marapur/teleports_timira.lua rename to data-otservbr-global/scripts/quests/marapur/actions_teleports_timira.lua diff --git a/data-otservbr-global/scripts/actions/quests/mintwallin_quest/devil_helmet_lever.lua b/data-otservbr-global/scripts/quests/mintwallin_quest/actions_devil_helmet_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/mintwallin_quest/devil_helmet_lever.lua rename to data-otservbr-global/scripts/quests/mintwallin_quest/actions_devil_helmet_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/mysterious_ornate/mysterious_metal_egg.lua b/data-otservbr-global/scripts/quests/mysterious_ornate/actions_mysterious_metal_egg.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/mysterious_ornate/mysterious_metal_egg.lua rename to data-otservbr-global/scripts/quests/mysterious_ornate/actions_mysterious_metal_egg.lua diff --git a/data-otservbr-global/scripts/actions/quests/oramond/glooth_fairy_lever.lua b/data-otservbr-global/scripts/quests/oramond/actions_glooth_fairy_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/oramond/glooth_fairy_lever.lua rename to data-otservbr-global/scripts/quests/oramond/actions_glooth_fairy_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/oramond/chavis_tasks/to_take_roots.lua b/data-otservbr-global/scripts/quests/oramond/chavis_tasks/actions_to_take_roots.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/oramond/chavis_tasks/to_take_roots.lua rename to data-otservbr-global/scripts/quests/oramond/chavis_tasks/actions_to_take_roots.lua diff --git a/data-otservbr-global/scripts/actions/quests/oramond/the_glooth_brothers_tasks/the_ancient_sewers.lua b/data-otservbr-global/scripts/quests/oramond/the_glooth_brothers_tasks/actions_the_ancient_sewers.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/oramond/the_glooth_brothers_tasks/the_ancient_sewers.lua rename to data-otservbr-global/scripts/quests/oramond/the_glooth_brothers_tasks/actions_the_ancient_sewers.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/calassa_comb_door.lua b/data-otservbr-global/scripts/quests/others/actions_calassa_comb_door.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/calassa_comb_door.lua rename to data-otservbr-global/scripts/quests/others/actions_calassa_comb_door.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/deeper_banuta_shortcut.lua b/data-otservbr-global/scripts/quests/others/actions_deeper_banuta_shortcut.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/deeper_banuta_shortcut.lua rename to data-otservbr-global/scripts/quests/others/actions_deeper_banuta_shortcut.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/ectoplasm_container.lua b/data-otservbr-global/scripts/quests/others/actions_ectoplasm_container.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/ectoplasm_container.lua rename to data-otservbr-global/scripts/quests/others/actions_ectoplasm_container.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/exterminator_flask.lua b/data-otservbr-global/scripts/quests/others/actions_exterminator_flask.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/exterminator_flask.lua rename to data-otservbr-global/scripts/quests/others/actions_exterminator_flask.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/fire_bug.lua b/data-otservbr-global/scripts/quests/others/actions_fire_bug.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/fire_bug.lua rename to data-otservbr-global/scripts/quests/others/actions_fire_bug.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/gooey_mass.lua b/data-otservbr-global/scripts/quests/others/actions_gooey_mass.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/gooey_mass.lua rename to data-otservbr-global/scripts/quests/others/actions_gooey_mass.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/hellgate_lever.lua b/data-otservbr-global/scripts/quests/others/actions_hellgate_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/hellgate_lever.lua rename to data-otservbr-global/scripts/quests/others/actions_hellgate_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/holy_water.lua b/data-otservbr-global/scripts/quests/others/actions_holy_water.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/holy_water.lua rename to data-otservbr-global/scripts/quests/others/actions_holy_water.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/orc_edron_lever.lua b/data-otservbr-global/scripts/quests/others/actions_orc_edron_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/orc_edron_lever.lua rename to data-otservbr-global/scripts/quests/others/actions_orc_edron_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/serpentine_tower_lever.lua b/data-otservbr-global/scripts/quests/others/actions_serpentine_tower_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/serpentine_tower_lever.lua rename to data-otservbr-global/scripts/quests/others/actions_serpentine_tower_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/serpentine_tower_torch.lua b/data-otservbr-global/scripts/quests/others/actions_serpentine_tower_torch.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/serpentine_tower_torch.lua rename to data-otservbr-global/scripts/quests/others/actions_serpentine_tower_torch.lua diff --git a/data-otservbr-global/scripts/actions/quests/others/steal_from_thieves.lua b/data-otservbr-global/scripts/quests/others/actions_steal_from_thieves.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/others/steal_from_thieves.lua rename to data-otservbr-global/scripts/quests/others/actions_steal_from_thieves.lua diff --git a/data-otservbr-global/scripts/actions/quests/postman/package.lua b/data-otservbr-global/scripts/quests/postman/actions_package.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/postman/package.lua rename to data-otservbr-global/scripts/quests/postman/actions_package.lua diff --git a/data-otservbr-global/scripts/actions/quests/postman/present.lua b/data-otservbr-global/scripts/quests/postman/actions_present.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/postman/present.lua rename to data-otservbr-global/scripts/quests/postman/actions_present.lua diff --git a/data-otservbr-global/scripts/actions/quests/postman/waldos_posthorn.lua b/data-otservbr-global/scripts/quests/postman/actions_waldos_posthorn.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/postman/waldos_posthorn.lua rename to data-otservbr-global/scripts/quests/postman/actions_waldos_posthorn.lua diff --git a/data-otservbr-global/scripts/actions/quests/sea_of_light/sea_of_light.lua b/data-otservbr-global/scripts/quests/sea_of_light/actions_sea_of_light.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/sea_of_light/sea_of_light.lua rename to data-otservbr-global/scripts/quests/sea_of_light/actions_sea_of_light.lua diff --git a/data-otservbr-global/scripts/actions/quests/secret_library/bosses_killed.lua b/data-otservbr-global/scripts/quests/secret_library/actions_bosses_killed.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/secret_library/bosses_killed.lua rename to data-otservbr-global/scripts/quests/secret_library/actions_bosses_killed.lua diff --git a/data-otservbr-global/scripts/actions/quests/secret_library/library_entrances.lua b/data-otservbr-global/scripts/quests/secret_library/actions_library_entrances.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/secret_library/library_entrances.lua rename to data-otservbr-global/scripts/quests/secret_library/actions_library_entrances.lua diff --git a/data-otservbr-global/scripts/actions/quests/soul_war/bosses_killed.lua b/data-otservbr-global/scripts/quests/soul_war/actions_bosses_killed.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/soul_war/bosses_killed.lua rename to data-otservbr-global/scripts/quests/soul_war/actions_bosses_killed.lua diff --git a/data-otservbr-global/scripts/actions/quests/soul_war/portal_megalomania.lua b/data-otservbr-global/scripts/quests/soul_war/actions_portal_megalomania.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/soul_war/portal_megalomania.lua rename to data-otservbr-global/scripts/quests/soul_war/actions_portal_megalomania.lua diff --git a/data-otservbr-global/scripts/actions/quests/soul_war/portal_reward_soulwar.lua b/data-otservbr-global/scripts/quests/soul_war/actions_portal_reward_soulwar.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/soul_war/portal_reward_soulwar.lua rename to data-otservbr-global/scripts/quests/soul_war/actions_portal_reward_soulwar.lua diff --git a/data-otservbr-global/scripts/actions/quests/soul_war/reward_soul_war.lua b/data-otservbr-global/scripts/quests/soul_war/actions_reward_soul_war.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/soul_war/reward_soul_war.lua rename to data-otservbr-global/scripts/quests/soul_war/actions_reward_soul_war.lua diff --git a/data-otservbr-global/scripts/actions/quests/soul_war/soulwar_entrances.lua b/data-otservbr-global/scripts/quests/soul_war/actions_soulwar_entrances.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/soul_war/soulwar_entrances.lua rename to data-otservbr-global/scripts/quests/soul_war/actions_soulwar_entrances.lua diff --git a/data-otservbr-global/scripts/actions/quests/spike_tasks/fertilizer.lua b/data-otservbr-global/scripts/quests/spike_tasks/actions_fertilizer.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/spike_tasks/fertilizer.lua rename to data-otservbr-global/scripts/quests/spike_tasks/actions_fertilizer.lua diff --git a/data-otservbr-global/scripts/actions/quests/spike_tasks/ghost_detector.lua b/data-otservbr-global/scripts/quests/spike_tasks/actions_ghost_detector.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/spike_tasks/ghost_detector.lua rename to data-otservbr-global/scripts/quests/spike_tasks/actions_ghost_detector.lua diff --git a/data-otservbr-global/scripts/actions/quests/spike_tasks/lode_stone.lua b/data-otservbr-global/scripts/quests/spike_tasks/actions_lode_stone.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/spike_tasks/lode_stone.lua rename to data-otservbr-global/scripts/quests/spike_tasks/actions_lode_stone.lua diff --git a/data-otservbr-global/scripts/actions/quests/spike_tasks/nests.lua b/data-otservbr-global/scripts/quests/spike_tasks/actions_nests.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/spike_tasks/nests.lua rename to data-otservbr-global/scripts/quests/spike_tasks/actions_nests.lua diff --git a/data-otservbr-global/scripts/actions/quests/spike_tasks/spirit_shovel.lua b/data-otservbr-global/scripts/quests/spike_tasks/actions_spirit_shovel.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/spike_tasks/spirit_shovel.lua rename to data-otservbr-global/scripts/quests/spike_tasks/actions_spirit_shovel.lua diff --git a/data-otservbr-global/scripts/actions/quests/spike_tasks/thermometer.lua b/data-otservbr-global/scripts/quests/spike_tasks/actions_thermometer.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/spike_tasks/thermometer.lua rename to data-otservbr-global/scripts/quests/spike_tasks/actions_thermometer.lua diff --git a/data-otservbr-global/scripts/actions/quests/spike_tasks/tuning_fork.lua b/data-otservbr-global/scripts/quests/spike_tasks/actions_tuning_fork.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/spike_tasks/tuning_fork.lua rename to data-otservbr-global/scripts/quests/spike_tasks/actions_tuning_fork.lua diff --git a/data-otservbr-global/scripts/actions/quests/spirit_hunters/magical_device.lua b/data-otservbr-global/scripts/quests/spirit_hunters/actions_magical_device.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/spirit_hunters/magical_device.lua rename to data-otservbr-global/scripts/quests/spirit_hunters/actions_magical_device.lua diff --git a/data-otservbr-global/scripts/actions/quests/thais_quest/life_ring_lever.lua b/data-otservbr-global/scripts/quests/thais_quest/actions_life_ring_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/thais_quest/life_ring_lever.lua rename to data-otservbr-global/scripts/quests/thais_quest/actions_life_ring_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_cursed_crystal/MedusaOil.lua b/data-otservbr-global/scripts/quests/the_cursed_crystal/actions_MedusaOil.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_cursed_crystal/MedusaOil.lua rename to data-otservbr-global/scripts/quests/the_cursed_crystal/actions_MedusaOil.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_cursed_crystal/Misc.lua b/data-otservbr-global/scripts/quests/the_cursed_crystal/actions_Misc.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_cursed_crystal/Misc.lua rename to data-otservbr-global/scripts/quests/the_cursed_crystal/actions_Misc.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_cursed_crystal/Ointment.lua b/data-otservbr-global/scripts/quests/the_cursed_crystal/actions_Ointment.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_cursed_crystal/Ointment.lua rename to data-otservbr-global/scripts/quests/the_cursed_crystal/actions_Ointment.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_dream_courts/bosses_killed.lua b/data-otservbr-global/scripts/quests/the_dream_courts/actions_bosses_killed.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_dream_courts/bosses_killed.lua rename to data-otservbr-global/scripts/quests/the_dream_courts/actions_bosses_killed.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_dream_courts/dream_courts_lever.lua b/data-otservbr-global/scripts/quests/the_dream_courts/actions_dream_courts_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_dream_courts/dream_courts_lever.lua rename to data-otservbr-global/scripts/quests/the_dream_courts/actions_dream_courts_lever.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_dream_courts/entrances_dream_courts.lua b/data-otservbr-global/scripts/quests/the_dream_courts/actions_entrances_dream_courts.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_dream_courts/entrances_dream_courts.lua rename to data-otservbr-global/scripts/quests/the_dream_courts/actions_entrances_dream_courts.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_dream_courts/portal_nightmare_beast.lua b/data-otservbr-global/scripts/quests/the_dream_courts/actions_portal_nightmare_beast.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_dream_courts/portal_nightmare_beast.lua rename to data-otservbr-global/scripts/quests/the_dream_courts/actions_portal_nightmare_beast.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_hunt_for_the_sea_serpent/bait.lua b/data-otservbr-global/scripts/quests/the_hunt_for_the_sea_serpent/actions_bait.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_hunt_for_the_sea_serpent/bait.lua rename to data-otservbr-global/scripts/quests/the_hunt_for_the_sea_serpent/actions_bait.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_lost_brother/asura_mirror.lua b/data-otservbr-global/scripts/quests/the_lost_brother/actions_asura_mirror.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_lost_brother/asura_mirror.lua rename to data-otservbr-global/scripts/quests/the_lost_brother/actions_asura_mirror.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_outlaw_camp/oven.lua b/data-otservbr-global/scripts/quests/the_outlaw_camp/actions_oven.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_outlaw_camp/oven.lua rename to data-otservbr-global/scripts/quests/the_outlaw_camp/actions_oven.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_outlaw_camp/power_burn.lua b/data-otservbr-global/scripts/quests/the_outlaw_camp/actions_power_burn.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_outlaw_camp/power_burn.lua rename to data-otservbr-global/scripts/quests/the_outlaw_camp/actions_power_burn.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_outlaw_camp/power_switch.lua b/data-otservbr-global/scripts/quests/the_outlaw_camp/actions_power_switch.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_outlaw_camp/power_switch.lua rename to data-otservbr-global/scripts/quests/the_outlaw_camp/actions_power_switch.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_outlaw_camp/the_outlaw_camp_quest.lua b/data-otservbr-global/scripts/quests/the_outlaw_camp/actions_the_outlaw_camp_quest.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_outlaw_camp/the_outlaw_camp_quest.lua rename to data-otservbr-global/scripts/quests/the_outlaw_camp/actions_the_outlaw_camp_quest.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/asura_mirror.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_asura_mirror.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/asura_mirror.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_asura_mirror.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/basinfire.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_basinfire.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/basinfire.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_basinfire.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/bastion_access.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_bastion_access.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/bastion_access.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_bastion_access.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/blacktp.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_blacktp.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/blacktp.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_blacktp.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/bluetp.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_bluetp.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/bluetp.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_bluetp.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/boattp.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_boattp.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/boattp.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_boattp.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/bone.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_bone.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/bone.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_bone.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/bonedoor.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_bonedoor.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/bonedoor.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_bonedoor.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/book.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_book.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/book.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_book.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/corpse.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_corpse.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/corpse.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_corpse.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/energybasin.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_energybasin.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/energybasin.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_energybasin.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/enterlibrary.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_enterlibrary.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/enterlibrary.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_enterlibrary.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/eyekey.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_eyekey.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/eyekey.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_eyekey.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/fish.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_fish.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/fish.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_fish.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/greentp.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_greentp.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/greentp.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_greentp.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/leverdoor.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_leverdoor.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/leverdoor.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_leverdoor.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/leverruby.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_leverruby.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/leverruby.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_leverruby.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/lotuskey.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_lotuskey.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/lotuskey.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_lotuskey.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/peacock.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_peacock.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/peacock.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_peacock.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/pinktp.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_pinktp.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/pinktp.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_pinktp.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/sealedbook.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_sealedbook.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/sealedbook.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_sealedbook.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/skullground.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_skullground.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/skullground.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_skullground.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/statuedeeplings.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_statuedeeplings.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/statuedeeplings.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_statuedeeplings.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/strandhair.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_strandhair.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/strandhair.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_strandhair.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_secret_library/telescop.lua b/data-otservbr-global/scripts/quests/the_secret_library/actions_telescop.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_secret_library/telescop.lua rename to data-otservbr-global/scripts/quests/the_secret_library/actions_telescop.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_tainted_soul/star_herb.lua b/data-otservbr-global/scripts/quests/the_tainted_soul/actions_star_herb.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_tainted_soul/star_herb.lua rename to data-otservbr-global/scripts/quests/the_tainted_soul/actions_star_herb.lua diff --git a/data-otservbr-global/scripts/actions/quests/the_travelling_trader/outlaw_camp_door.lua b/data-otservbr-global/scripts/quests/the_travelling_trader/actions_outlaw_camp_door.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/the_travelling_trader/outlaw_camp_door.lua rename to data-otservbr-global/scripts/quests/the_travelling_trader/actions_outlaw_camp_door.lua diff --git a/data-otservbr-global/scripts/actions/quests/their_master_voice/slime_gobbler.lua b/data-otservbr-global/scripts/quests/their_master_voice/actions_slime_gobbler.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/their_master_voice/slime_gobbler.lua rename to data-otservbr-global/scripts/quests/their_master_voice/actions_slime_gobbler.lua diff --git a/data-otservbr-global/scripts/actions/quests/tibia_tales/ultimate_booze_beer_bottle.lua b/data-otservbr-global/scripts/quests/tibia_tales/actions_ultimate_booze_beer_bottle.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/tibia_tales/ultimate_booze_beer_bottle.lua rename to data-otservbr-global/scripts/quests/tibia_tales/actions_ultimate_booze_beer_bottle.lua diff --git a/data-otservbr-global/scripts/actions/quests/tinder_box/reward.lua b/data-otservbr-global/scripts/quests/tinder_box/actions_reward.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/tinder_box/reward.lua rename to data-otservbr-global/scripts/quests/tinder_box/actions_reward.lua diff --git a/data-otservbr-global/scripts/actions/quests/tinder_box/tinder_box.lua b/data-otservbr-global/scripts/quests/tinder_box/actions_tinder_box.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/tinder_box/tinder_box.lua rename to data-otservbr-global/scripts/quests/tinder_box/actions_tinder_box.lua diff --git a/data-otservbr-global/scripts/actions/quests/triangle_tower_quest/triangle_tower_lever.lua b/data-otservbr-global/scripts/quests/triangle_tower_quest/actions_triangle_tower_lever.lua similarity index 100% rename from data-otservbr-global/scripts/actions/quests/triangle_tower_quest/triangle_tower_lever.lua rename to data-otservbr-global/scripts/quests/triangle_tower_quest/actions_triangle_tower_lever.lua From c0af681786a5c9c350651e9346e935b3f494edc6 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 11:26:58 -0300 Subject: [PATCH 105/112] Organization of quest movements --- .../assassin_outfit/movements_erayo_house.lua} | 0 .../bigfoot_burden/movements_gnomebase_teleport.lua} | 0 .../task_ear.lua => quests/bigfoot_burden/movements_task_ear.lua} | 0 .../bigfoot_burden/movements_task_endurance.lua} | 0 .../bigfoot_burden/movements_task_shooting.lua} | 0 .../bigfoot_burden/movements_task_truffles.lua} | 0 .../bigfoot_burden/movements_task_x_ray.lua} | 0 .../bigfoot_burden/movements_versperoth_spawn.lua} | 0 .../bigfoot_burden/movements_warzone_boss.lua} | 0 .../bigfoot_burden/movements_warzone_teleport.lua} | 0 .../chayenne_realm/movements_enter_realm.lua} | 0 .../cults_of_tibia/movements_begin_task.lua} | 0 .../cults_of_tibia/movements_boss_timer.lua} | 0 .../cults_of_tibia/movements_check_oasis.lua} | 0 .../cults_of_tibia/movements_energy_fence.lua} | 0 .../geyser.lua => quests/cults_of_tibia/movements_geyser.lua} | 0 .../ice.lua => quests/cults_of_tibia/movements_ice.lua} | 0 .../cults_of_tibia/movements_ice_death.lua} | 0 .../looktype.lua => quests/cults_of_tibia/movements_looktype.lua} | 0 .../movements_movement-cults-of-carlin-teleport.lua} | 0 .../cults_of_tibia/movements_orc_teleport.lua} | 0 .../cults_of_tibia/movements_river_teleport.lua} | 0 .../cults_of_tibia/movements_sand_entrance.lua} | 0 .../sandking.lua => quests/cults_of_tibia/movements_sandking.lua} | 0 .../tar.lua => quests/cults_of_tibia/movements_tar.lua} | 0 .../cults_of_tibia/movements_task_teleport.lua} | 0 .../cults_of_tibia/movements_teleport_from_essence_of_malice.lua} | 0 .../dangerous_depth/movements_boss_entrance.lua} | 0 .../dangerous_depth/movements_energy_entrance.lua} | 0 .../dangerous_depth/movements_gnome_avalanche.lua} | 0 .../dangerous_depth/movements_gnome_ordnance.lua} | 0 .../dangerous_depth/movements_gnomes_ordnance_end.lua} | 0 .../dangerous_depth/movements_lava_damage.lua} | 0 .../dangerous_depth/movements_lost_exiles.lua} | 0 .../dangerous_depth/movements_warzone_entrance.lua} | 0 .../dark_trails/movements_necrometer_tile_access.lua} | 0 .../dawnport/movements_legion_helmet.lua} | 0 .../deeplings_worldchange/movements_deepling_bosses.lua} | 0 .../demon_oak/movements_area_damage.lua} | 0 .../entrance.lua => quests/demon_oak/movements_entrance.lua} | 0 .../squares.lua => quests/demon_oak/movements_squares.lua} | 0 .../sewer.lua => quests/devil_helmet/movements_sewer.lua} | 0 .../edron_rope/rope.lua => quests/edron_rope/movements_rope.lua} | 0 .../elemental_spheres/movements_aoe_teleport_out.lua} | 0 .../elemental_spheres/movements_soil_entrance.lua} | 0 .../elemental_spheres/movements_soil_exit.lua} | 0 .../elemental_spheres/movements_summon_overlord.lua} | 0 .../extension_mota/movements_extension_mota.lua} | 0 .../ferumbras_ascendant/movements_blue_gem.lua} | 0 .../ferumbras_ascendant/movements_boss_teleport.lua} | 0 .../ferumbras_ascendant/movements_desperate_soul.lua} | 0 .../ferumbras_ascendant/movements_entrance.lua} | 0 .../ferumbras_ascendant/movements_flower_puzzle.lua} | 0 .../ferumbras_ascendant/movements_gate_of_deathstruction.lua} | 0 .../ferumbras_ascendant/movements_green_gem.lua} | 0 .../ferumbras_ascendant/movements_habitats_access.lua} | 0 .../ferumbras_ascendant/movements_lovely_monsters.lua} | 0 .../ferumbras_ascendant/movements_mazoran_fire.lua} | 0 .../ferumbras_ascendant/movements_plagirath_access.lua} | 0 .../ferumbras_ascendant/movements_razzagorn_access.lua} | 0 .../ferumbras_ascendant/movements_red_gem.lua} | 0 .../seal.lua => quests/ferumbras_ascendant/movements_seal.lua} | 0 .../ferumbras_ascendant/movements_shulgrax_lever.lua} | 0 .../stair.lua => quests/ferumbras_ascendant/movements_stair.lua} | 0 .../ferumbras_ascendant/movements_vortex.lua} | 0 .../ferumbras_ascendant/movements_zamulosh_teleport.lua} | 0 .../first_dragon/movements_entrance_teleport.lua} | 0 .../first_dragon/movements_exit_teleport.lua} | 0 .../first_dragon/movements_flower_bowl.lua} | 0 .../first_dragon/movements_heaven_blossom.lua} | 0 .../first_dragon/movements_last_teleport.lua} | 0 .../first_dragon/movements_zorvorax_secrets.lua} | 0 .../forgotten_knowledge/movements_cave_entrance.lua} | 0 .../forgotten_knowledge/movements_challenger.lua} | 0 .../forgotten_knowledge/movements_dragonking_vortex.lua} | 0 .../forgotten_knowledge/movements_entrance_teleport.lua} | 0 .../fount.lua => quests/forgotten_knowledge/movements_fount.lua} | 0 .../forgotten_knowledge/movements_ice_teleport.lua} | 0 .../forgotten_knowledge/movements_lava_teleport.lua} | 0 .../forgotten_knowledge/movements_servant_teleport.lua} | 0 .../forgotten_knowledge/movements_teleport_tree.lua} | 0 .../hoist.lua => quests/formogar_mine_hoist/movements_hoist.lua} | 0 .../grave_danger/movements_firewall_gaffir.lua} | 0 .../grave_danger/movements_teleport_king_zelos.lua} | 0 .../grimvale/movements_silvered_trap.lua} | 0 .../grimvale/movements_strangely_glowing_mark.lua} | 0 .../heart_of_destruction/movements_ice_crack.lua} | 0 .../heart_of_destruction/movements_teleport.lua} | 0 .../heart_of_destruction/movements_teleport_heart.lua} | 0 .../heart_of_destruction/movements_vortex_anomaly.lua} | 0 .../heart_of_destruction/movements_vortex_crackler.lua} | 0 .../heart_of_destruction/movements_vortex_hunger.lua} | 0 .../hero_of_rathleton/movements_deep_terror.lua} | 0 .../exit.lua => quests/hero_of_rathleton/movements_exit.lua} | 0 .../hero_of_rathleton/movements_fast_way.lua} | 0 .../hero_of_rathleton/movements_glooth_horror.lua} | 0 .../lava.lua => quests/hero_of_rathleton/movements_lava.lua} | 0 .../hero_of_rathleton/movements_professor_maxxen.lua} | 0 .../boss.lua => quests/killing_in_the_name_of/movements_boss.lua} | 0 .../firetp.lua => quests/kilmaresh/movements_firetp.lua} | 0 .../steptile.lua => quests/kilmaresh/movements_steptile.lua} | 0 .../kilmaresh/tpvoc.lua => quests/kilmaresh/movements_tpvoc.lua} | 0 .../krailos/movements_access_depot.lua} | 0 .../lions_rock.lua => quests/lions_rock/movements_lions_rock.lua} | 0 .../ladder.lua => quests/liquid_black/movements_ladder.lua} | 0 .../liquid_black/movements_quick_access.lua} | 0 .../shortcut.lua => quests/liquid_black/movements_shortcut.lua} | 0 .../svargrond_arena/movements_arena_enter.lua} | 0 .../svargrond_arena/movements_arena_pit.lua} | 0 .../svargrond_arena/movements_arena_trophy.lua} | 0 .../the_cursed_crystal/movements_StepIn_CursedCrystal.lua} | 0 .../the_dream_courts/movements_faceless_bane_step_positions.lua} | 0 .../the_dream_courts/movements_teleport.lua} | 0 .../the_gravedigger_of_drefia/movements_dormitory_teleport.lua} | 0 .../the_gravedigger_of_drefia/movements_necromancer_servant.lua} | 0 .../the_gravedigger_of_drefia/movements_sacrifice_teleport.lua} | 0 .../the_gravedigger_of_drefia/movements_teleport.lua} | 0 .../the_hunt_for_the_sea_serpent/movements_teleports.lua} | 0 .../the_outlaw_camp/movements_entrance.lua} | 0 .../boat.lua => quests/the_secret_library/movements_boat.lua} | 0 .../the_secret_library/movements_golem_teleport.lua} | 0 .../the_secret_library/movements_pink_teleport.lua} | 0 .../the_secret_library/movements_teleport.lua} | 0 .../the_spike_tasks/movements_geomantic_charges.lua} | 0 .../the_spike_tasks/movements_spike_teleport.lua} | 0 .../their_master_voice/movements_entrance.lua} | 0 .../teleport.lua => quests/troll_sabotage/movements_teleport.lua} | 0 .../waterfall.lua => quests/waterfall/movements_waterfall.lua} | 0 .../white_pearl/movements_white_pearl.lua} | 0 129 files changed, 0 insertions(+), 0 deletions(-) rename data-otservbr-global/scripts/{movements/quests/assassin_outfit/erayo_house.lua => quests/assassin_outfit/movements_erayo_house.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/bigfoot_burden/gnomebase_teleport.lua => quests/bigfoot_burden/movements_gnomebase_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/bigfoot_burden/task_ear.lua => quests/bigfoot_burden/movements_task_ear.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/bigfoot_burden/task_endurance.lua => quests/bigfoot_burden/movements_task_endurance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/bigfoot_burden/task_shooting.lua => quests/bigfoot_burden/movements_task_shooting.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/bigfoot_burden/task_truffles.lua => quests/bigfoot_burden/movements_task_truffles.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/bigfoot_burden/task_x_ray.lua => quests/bigfoot_burden/movements_task_x_ray.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/bigfoot_burden/versperoth_spawn.lua => quests/bigfoot_burden/movements_versperoth_spawn.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/bigfoot_burden/warzone_boss.lua => quests/bigfoot_burden/movements_warzone_boss.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/bigfoot_burden/warzone_teleport.lua => quests/bigfoot_burden/movements_warzone_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/chayenne_realm/enter_realm.lua => quests/chayenne_realm/movements_enter_realm.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/begin_task.lua => quests/cults_of_tibia/movements_begin_task.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/boss_timer.lua => quests/cults_of_tibia/movements_boss_timer.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/check_oasis.lua => quests/cults_of_tibia/movements_check_oasis.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/energy_fence.lua => quests/cults_of_tibia/movements_energy_fence.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/geyser.lua => quests/cults_of_tibia/movements_geyser.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/ice.lua => quests/cults_of_tibia/movements_ice.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/ice_death.lua => quests/cults_of_tibia/movements_ice_death.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/looktype.lua => quests/cults_of_tibia/movements_looktype.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/movement-cults-of-carlin-teleport.lua => quests/cults_of_tibia/movements_movement-cults-of-carlin-teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/orc_teleport.lua => quests/cults_of_tibia/movements_orc_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/river_teleport.lua => quests/cults_of_tibia/movements_river_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/sand_entrance.lua => quests/cults_of_tibia/movements_sand_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/sandking.lua => quests/cults_of_tibia/movements_sandking.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/tar.lua => quests/cults_of_tibia/movements_tar.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/task_teleport.lua => quests/cults_of_tibia/movements_task_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/cults_of_tibia/teleport_from_essence_of_malice.lua => quests/cults_of_tibia/movements_teleport_from_essence_of_malice.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dangerous_depth/boss_entrance.lua => quests/dangerous_depth/movements_boss_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dangerous_depth/energy_entrance.lua => quests/dangerous_depth/movements_energy_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dangerous_depth/gnome_avalanche.lua => quests/dangerous_depth/movements_gnome_avalanche.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dangerous_depth/gnome_ordnance.lua => quests/dangerous_depth/movements_gnome_ordnance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dangerous_depth/gnomes_ordnance_end.lua => quests/dangerous_depth/movements_gnomes_ordnance_end.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dangerous_depth/lava_damage.lua => quests/dangerous_depth/movements_lava_damage.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dangerous_depth/lost_exiles.lua => quests/dangerous_depth/movements_lost_exiles.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dangerous_depth/warzone_entrance.lua => quests/dangerous_depth/movements_warzone_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dark_trails/necrometer_tile_access.lua => quests/dark_trails/movements_necrometer_tile_access.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/dawnport/legion_helmet.lua => quests/dawnport/movements_legion_helmet.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/deeplings_worldchange/deepling_bosses.lua => quests/deeplings_worldchange/movements_deepling_bosses.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/demon_oak/area_damage.lua => quests/demon_oak/movements_area_damage.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/demon_oak/entrance.lua => quests/demon_oak/movements_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/demon_oak/squares.lua => quests/demon_oak/movements_squares.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/devil_helmet/sewer.lua => quests/devil_helmet/movements_sewer.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/edron_rope/rope.lua => quests/edron_rope/movements_rope.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/elemental_spheres/aoe_teleport_out.lua => quests/elemental_spheres/movements_aoe_teleport_out.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/elemental_spheres/soil_entrance.lua => quests/elemental_spheres/movements_soil_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/elemental_spheres/soil_exit.lua => quests/elemental_spheres/movements_soil_exit.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/elemental_spheres/summon_overlord.lua => quests/elemental_spheres/movements_summon_overlord.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/extension_mota/extension_mota.lua => quests/extension_mota/movements_extension_mota.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/blue_gem.lua => quests/ferumbras_ascendant/movements_blue_gem.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/boss_teleport.lua => quests/ferumbras_ascendant/movements_boss_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/desperate_soul.lua => quests/ferumbras_ascendant/movements_desperate_soul.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/entrance.lua => quests/ferumbras_ascendant/movements_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/flower_puzzle.lua => quests/ferumbras_ascendant/movements_flower_puzzle.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/gate_of_deathstruction.lua => quests/ferumbras_ascendant/movements_gate_of_deathstruction.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/green_gem.lua => quests/ferumbras_ascendant/movements_green_gem.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/habitats_access.lua => quests/ferumbras_ascendant/movements_habitats_access.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/lovely_monsters.lua => quests/ferumbras_ascendant/movements_lovely_monsters.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/mazoran_fire.lua => quests/ferumbras_ascendant/movements_mazoran_fire.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/plagirath_access.lua => quests/ferumbras_ascendant/movements_plagirath_access.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/razzagorn_access.lua => quests/ferumbras_ascendant/movements_razzagorn_access.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/red_gem.lua => quests/ferumbras_ascendant/movements_red_gem.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/seal.lua => quests/ferumbras_ascendant/movements_seal.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/shulgrax_lever.lua => quests/ferumbras_ascendant/movements_shulgrax_lever.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/stair.lua => quests/ferumbras_ascendant/movements_stair.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/vortex.lua => quests/ferumbras_ascendant/movements_vortex.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/ferumbras_ascendant/zamulosh_teleport.lua => quests/ferumbras_ascendant/movements_zamulosh_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/first_dragon/entrance_teleport.lua => quests/first_dragon/movements_entrance_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/first_dragon/exit_teleport.lua => quests/first_dragon/movements_exit_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/first_dragon/flower_bowl.lua => quests/first_dragon/movements_flower_bowl.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/first_dragon/heaven_blossom.lua => quests/first_dragon/movements_heaven_blossom.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/first_dragon/last_teleport.lua => quests/first_dragon/movements_last_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/first_dragon/zorvorax_secrets.lua => quests/first_dragon/movements_zorvorax_secrets.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/forgotten_knowledge/cave_entrance.lua => quests/forgotten_knowledge/movements_cave_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/forgotten_knowledge/challenger.lua => quests/forgotten_knowledge/movements_challenger.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/forgotten_knowledge/dragonking_vortex.lua => quests/forgotten_knowledge/movements_dragonking_vortex.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/forgotten_knowledge/entrance_teleport.lua => quests/forgotten_knowledge/movements_entrance_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/forgotten_knowledge/fount.lua => quests/forgotten_knowledge/movements_fount.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/forgotten_knowledge/ice_teleport.lua => quests/forgotten_knowledge/movements_ice_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/forgotten_knowledge/lava_teleport.lua => quests/forgotten_knowledge/movements_lava_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/forgotten_knowledge/servant_teleport.lua => quests/forgotten_knowledge/movements_servant_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/forgotten_knowledge/teleport_tree.lua => quests/forgotten_knowledge/movements_teleport_tree.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/formogar_mine_hoist/hoist.lua => quests/formogar_mine_hoist/movements_hoist.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/grave_danger/firewall_gaffir.lua => quests/grave_danger/movements_firewall_gaffir.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/grave_danger/teleport_king_zelos.lua => quests/grave_danger/movements_teleport_king_zelos.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/grimvale/silvered_trap.lua => quests/grimvale/movements_silvered_trap.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/grimvale/strangely_glowing_mark.lua => quests/grimvale/movements_strangely_glowing_mark.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/heart_of_destruction/ice_crack.lua => quests/heart_of_destruction/movements_ice_crack.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/heart_of_destruction/teleport.lua => quests/heart_of_destruction/movements_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/heart_of_destruction/teleport_heart.lua => quests/heart_of_destruction/movements_teleport_heart.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/heart_of_destruction/vortex_anomaly.lua => quests/heart_of_destruction/movements_vortex_anomaly.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/heart_of_destruction/vortex_crackler.lua => quests/heart_of_destruction/movements_vortex_crackler.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/heart_of_destruction/vortex_hunger.lua => quests/heart_of_destruction/movements_vortex_hunger.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/hero_of_rathleton/deep_terror.lua => quests/hero_of_rathleton/movements_deep_terror.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/hero_of_rathleton/exit.lua => quests/hero_of_rathleton/movements_exit.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/hero_of_rathleton/fast_way.lua => quests/hero_of_rathleton/movements_fast_way.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/hero_of_rathleton/glooth_horror.lua => quests/hero_of_rathleton/movements_glooth_horror.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/hero_of_rathleton/lava.lua => quests/hero_of_rathleton/movements_lava.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/hero_of_rathleton/professor_maxxen.lua => quests/hero_of_rathleton/movements_professor_maxxen.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/killing_in_the_name_of/boss.lua => quests/killing_in_the_name_of/movements_boss.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/kilmaresh/firetp.lua => quests/kilmaresh/movements_firetp.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/kilmaresh/steptile.lua => quests/kilmaresh/movements_steptile.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/kilmaresh/tpvoc.lua => quests/kilmaresh/movements_tpvoc.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/krailos/access_depot.lua => quests/krailos/movements_access_depot.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/lions_rock/lions_rock.lua => quests/lions_rock/movements_lions_rock.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/liquid_black/ladder.lua => quests/liquid_black/movements_ladder.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/liquid_black/quick_access.lua => quests/liquid_black/movements_quick_access.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/liquid_black/shortcut.lua => quests/liquid_black/movements_shortcut.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/svargrond_arena/arena_enter.lua => quests/svargrond_arena/movements_arena_enter.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/svargrond_arena/arena_pit.lua => quests/svargrond_arena/movements_arena_pit.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/svargrond_arena/arena_trophy.lua => quests/svargrond_arena/movements_arena_trophy.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_cursed_crystal/StepIn_CursedCrystal.lua => quests/the_cursed_crystal/movements_StepIn_CursedCrystal.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_dream_courts/faceless_bane_step_positions.lua => quests/the_dream_courts/movements_faceless_bane_step_positions.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_dream_courts/teleport.lua => quests/the_dream_courts/movements_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_gravedigger_of_drefia/dormitory_teleport.lua => quests/the_gravedigger_of_drefia/movements_dormitory_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_gravedigger_of_drefia/necromancer_servant.lua => quests/the_gravedigger_of_drefia/movements_necromancer_servant.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_gravedigger_of_drefia/sacrifice_teleport.lua => quests/the_gravedigger_of_drefia/movements_sacrifice_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_gravedigger_of_drefia/teleport.lua => quests/the_gravedigger_of_drefia/movements_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_hunt_for_the_sea_serpent/teleports.lua => quests/the_hunt_for_the_sea_serpent/movements_teleports.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_outlaw_camp/entrance.lua => quests/the_outlaw_camp/movements_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_secret_library/boat.lua => quests/the_secret_library/movements_boat.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_secret_library/golem_teleport.lua => quests/the_secret_library/movements_golem_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_secret_library/pink_teleport.lua => quests/the_secret_library/movements_pink_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_secret_library/teleport.lua => quests/the_secret_library/movements_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_spike_tasks/geomantic_charges.lua => quests/the_spike_tasks/movements_geomantic_charges.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/the_spike_tasks/spike_teleport.lua => quests/the_spike_tasks/movements_spike_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/their_master_voice/entrance.lua => quests/their_master_voice/movements_entrance.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/troll_sabotage/teleport.lua => quests/troll_sabotage/movements_teleport.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/waterfall/waterfall.lua => quests/waterfall/movements_waterfall.lua} (100%) rename data-otservbr-global/scripts/{movements/quests/white_pearl/white_pearl.lua => quests/white_pearl/movements_white_pearl.lua} (100%) diff --git a/data-otservbr-global/scripts/movements/quests/assassin_outfit/erayo_house.lua b/data-otservbr-global/scripts/quests/assassin_outfit/movements_erayo_house.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/assassin_outfit/erayo_house.lua rename to data-otservbr-global/scripts/quests/assassin_outfit/movements_erayo_house.lua diff --git a/data-otservbr-global/scripts/movements/quests/bigfoot_burden/gnomebase_teleport.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/movements_gnomebase_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/bigfoot_burden/gnomebase_teleport.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/movements_gnomebase_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_ear.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_ear.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_ear.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_ear.lua diff --git a/data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_endurance.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_endurance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_endurance.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_endurance.lua diff --git a/data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_shooting.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_shooting.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_shooting.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_shooting.lua diff --git a/data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_truffles.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_truffles.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_truffles.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_truffles.lua diff --git a/data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_x_ray.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_x_ray.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/bigfoot_burden/task_x_ray.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/movements_task_x_ray.lua diff --git a/data-otservbr-global/scripts/movements/quests/bigfoot_burden/versperoth_spawn.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/movements_versperoth_spawn.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/bigfoot_burden/versperoth_spawn.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/movements_versperoth_spawn.lua diff --git a/data-otservbr-global/scripts/movements/quests/bigfoot_burden/warzone_boss.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/movements_warzone_boss.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/bigfoot_burden/warzone_boss.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/movements_warzone_boss.lua diff --git a/data-otservbr-global/scripts/movements/quests/bigfoot_burden/warzone_teleport.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/movements_warzone_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/bigfoot_burden/warzone_teleport.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/movements_warzone_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/chayenne_realm/enter_realm.lua b/data-otservbr-global/scripts/quests/chayenne_realm/movements_enter_realm.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/chayenne_realm/enter_realm.lua rename to data-otservbr-global/scripts/quests/chayenne_realm/movements_enter_realm.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/begin_task.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_begin_task.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/begin_task.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_begin_task.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/boss_timer.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_boss_timer.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/boss_timer.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_boss_timer.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/check_oasis.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_check_oasis.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/check_oasis.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_check_oasis.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/energy_fence.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_energy_fence.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/energy_fence.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_energy_fence.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/geyser.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_geyser.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/geyser.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_geyser.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/ice.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_ice.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/ice.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_ice.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/ice_death.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_ice_death.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/ice_death.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_ice_death.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/looktype.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_looktype.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/looktype.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_looktype.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/movement-cults-of-carlin-teleport.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_movement-cults-of-carlin-teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/movement-cults-of-carlin-teleport.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_movement-cults-of-carlin-teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/orc_teleport.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_orc_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/orc_teleport.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_orc_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/river_teleport.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_river_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/river_teleport.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_river_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/sand_entrance.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_sand_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/sand_entrance.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_sand_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/sandking.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_sandking.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/sandking.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_sandking.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/tar.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_tar.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/tar.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_tar.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/task_teleport.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_task_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/task_teleport.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_task_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/cults_of_tibia/teleport_from_essence_of_malice.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/movements_teleport_from_essence_of_malice.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/cults_of_tibia/teleport_from_essence_of_malice.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/movements_teleport_from_essence_of_malice.lua diff --git a/data-otservbr-global/scripts/movements/quests/dangerous_depth/boss_entrance.lua b/data-otservbr-global/scripts/quests/dangerous_depth/movements_boss_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dangerous_depth/boss_entrance.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/movements_boss_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/dangerous_depth/energy_entrance.lua b/data-otservbr-global/scripts/quests/dangerous_depth/movements_energy_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dangerous_depth/energy_entrance.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/movements_energy_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/dangerous_depth/gnome_avalanche.lua b/data-otservbr-global/scripts/quests/dangerous_depth/movements_gnome_avalanche.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dangerous_depth/gnome_avalanche.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/movements_gnome_avalanche.lua diff --git a/data-otservbr-global/scripts/movements/quests/dangerous_depth/gnome_ordnance.lua b/data-otservbr-global/scripts/quests/dangerous_depth/movements_gnome_ordnance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dangerous_depth/gnome_ordnance.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/movements_gnome_ordnance.lua diff --git a/data-otservbr-global/scripts/movements/quests/dangerous_depth/gnomes_ordnance_end.lua b/data-otservbr-global/scripts/quests/dangerous_depth/movements_gnomes_ordnance_end.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dangerous_depth/gnomes_ordnance_end.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/movements_gnomes_ordnance_end.lua diff --git a/data-otservbr-global/scripts/movements/quests/dangerous_depth/lava_damage.lua b/data-otservbr-global/scripts/quests/dangerous_depth/movements_lava_damage.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dangerous_depth/lava_damage.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/movements_lava_damage.lua diff --git a/data-otservbr-global/scripts/movements/quests/dangerous_depth/lost_exiles.lua b/data-otservbr-global/scripts/quests/dangerous_depth/movements_lost_exiles.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dangerous_depth/lost_exiles.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/movements_lost_exiles.lua diff --git a/data-otservbr-global/scripts/movements/quests/dangerous_depth/warzone_entrance.lua b/data-otservbr-global/scripts/quests/dangerous_depth/movements_warzone_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dangerous_depth/warzone_entrance.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/movements_warzone_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/dark_trails/necrometer_tile_access.lua b/data-otservbr-global/scripts/quests/dark_trails/movements_necrometer_tile_access.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dark_trails/necrometer_tile_access.lua rename to data-otservbr-global/scripts/quests/dark_trails/movements_necrometer_tile_access.lua diff --git a/data-otservbr-global/scripts/movements/quests/dawnport/legion_helmet.lua b/data-otservbr-global/scripts/quests/dawnport/movements_legion_helmet.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/dawnport/legion_helmet.lua rename to data-otservbr-global/scripts/quests/dawnport/movements_legion_helmet.lua diff --git a/data-otservbr-global/scripts/movements/quests/deeplings_worldchange/deepling_bosses.lua b/data-otservbr-global/scripts/quests/deeplings_worldchange/movements_deepling_bosses.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/deeplings_worldchange/deepling_bosses.lua rename to data-otservbr-global/scripts/quests/deeplings_worldchange/movements_deepling_bosses.lua diff --git a/data-otservbr-global/scripts/movements/quests/demon_oak/area_damage.lua b/data-otservbr-global/scripts/quests/demon_oak/movements_area_damage.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/demon_oak/area_damage.lua rename to data-otservbr-global/scripts/quests/demon_oak/movements_area_damage.lua diff --git a/data-otservbr-global/scripts/movements/quests/demon_oak/entrance.lua b/data-otservbr-global/scripts/quests/demon_oak/movements_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/demon_oak/entrance.lua rename to data-otservbr-global/scripts/quests/demon_oak/movements_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/demon_oak/squares.lua b/data-otservbr-global/scripts/quests/demon_oak/movements_squares.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/demon_oak/squares.lua rename to data-otservbr-global/scripts/quests/demon_oak/movements_squares.lua diff --git a/data-otservbr-global/scripts/movements/quests/devil_helmet/sewer.lua b/data-otservbr-global/scripts/quests/devil_helmet/movements_sewer.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/devil_helmet/sewer.lua rename to data-otservbr-global/scripts/quests/devil_helmet/movements_sewer.lua diff --git a/data-otservbr-global/scripts/movements/quests/edron_rope/rope.lua b/data-otservbr-global/scripts/quests/edron_rope/movements_rope.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/edron_rope/rope.lua rename to data-otservbr-global/scripts/quests/edron_rope/movements_rope.lua diff --git a/data-otservbr-global/scripts/movements/quests/elemental_spheres/aoe_teleport_out.lua b/data-otservbr-global/scripts/quests/elemental_spheres/movements_aoe_teleport_out.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/elemental_spheres/aoe_teleport_out.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/movements_aoe_teleport_out.lua diff --git a/data-otservbr-global/scripts/movements/quests/elemental_spheres/soil_entrance.lua b/data-otservbr-global/scripts/quests/elemental_spheres/movements_soil_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/elemental_spheres/soil_entrance.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/movements_soil_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/elemental_spheres/soil_exit.lua b/data-otservbr-global/scripts/quests/elemental_spheres/movements_soil_exit.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/elemental_spheres/soil_exit.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/movements_soil_exit.lua diff --git a/data-otservbr-global/scripts/movements/quests/elemental_spheres/summon_overlord.lua b/data-otservbr-global/scripts/quests/elemental_spheres/movements_summon_overlord.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/elemental_spheres/summon_overlord.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/movements_summon_overlord.lua diff --git a/data-otservbr-global/scripts/movements/quests/extension_mota/extension_mota.lua b/data-otservbr-global/scripts/quests/extension_mota/movements_extension_mota.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/extension_mota/extension_mota.lua rename to data-otservbr-global/scripts/quests/extension_mota/movements_extension_mota.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/blue_gem.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_blue_gem.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/blue_gem.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_blue_gem.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/boss_teleport.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_boss_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/boss_teleport.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_boss_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/desperate_soul.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_desperate_soul.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/desperate_soul.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_desperate_soul.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/entrance.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/entrance.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/flower_puzzle.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_flower_puzzle.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/flower_puzzle.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_flower_puzzle.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/gate_of_deathstruction.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_gate_of_deathstruction.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/gate_of_deathstruction.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_gate_of_deathstruction.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/green_gem.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_green_gem.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/green_gem.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_green_gem.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/habitats_access.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_habitats_access.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/habitats_access.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_habitats_access.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/lovely_monsters.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_lovely_monsters.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/lovely_monsters.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_lovely_monsters.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/mazoran_fire.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_mazoran_fire.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/mazoran_fire.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_mazoran_fire.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/plagirath_access.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_plagirath_access.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/plagirath_access.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_plagirath_access.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/razzagorn_access.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_razzagorn_access.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/razzagorn_access.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_razzagorn_access.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/red_gem.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_red_gem.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/red_gem.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_red_gem.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/seal.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_seal.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/seal.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_seal.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/shulgrax_lever.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_shulgrax_lever.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/shulgrax_lever.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_shulgrax_lever.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/stair.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_stair.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/stair.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_stair.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/vortex.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_vortex.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/vortex.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_vortex.lua diff --git a/data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/zamulosh_teleport.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_zamulosh_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/ferumbras_ascendant/zamulosh_teleport.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/movements_zamulosh_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/first_dragon/entrance_teleport.lua b/data-otservbr-global/scripts/quests/first_dragon/movements_entrance_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/first_dragon/entrance_teleport.lua rename to data-otservbr-global/scripts/quests/first_dragon/movements_entrance_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/first_dragon/exit_teleport.lua b/data-otservbr-global/scripts/quests/first_dragon/movements_exit_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/first_dragon/exit_teleport.lua rename to data-otservbr-global/scripts/quests/first_dragon/movements_exit_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/first_dragon/flower_bowl.lua b/data-otservbr-global/scripts/quests/first_dragon/movements_flower_bowl.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/first_dragon/flower_bowl.lua rename to data-otservbr-global/scripts/quests/first_dragon/movements_flower_bowl.lua diff --git a/data-otservbr-global/scripts/movements/quests/first_dragon/heaven_blossom.lua b/data-otservbr-global/scripts/quests/first_dragon/movements_heaven_blossom.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/first_dragon/heaven_blossom.lua rename to data-otservbr-global/scripts/quests/first_dragon/movements_heaven_blossom.lua diff --git a/data-otservbr-global/scripts/movements/quests/first_dragon/last_teleport.lua b/data-otservbr-global/scripts/quests/first_dragon/movements_last_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/first_dragon/last_teleport.lua rename to data-otservbr-global/scripts/quests/first_dragon/movements_last_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/first_dragon/zorvorax_secrets.lua b/data-otservbr-global/scripts/quests/first_dragon/movements_zorvorax_secrets.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/first_dragon/zorvorax_secrets.lua rename to data-otservbr-global/scripts/quests/first_dragon/movements_zorvorax_secrets.lua diff --git a/data-otservbr-global/scripts/movements/quests/forgotten_knowledge/cave_entrance.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/movements_cave_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/forgotten_knowledge/cave_entrance.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/movements_cave_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/forgotten_knowledge/challenger.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/movements_challenger.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/forgotten_knowledge/challenger.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/movements_challenger.lua diff --git a/data-otservbr-global/scripts/movements/quests/forgotten_knowledge/dragonking_vortex.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/movements_dragonking_vortex.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/forgotten_knowledge/dragonking_vortex.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/movements_dragonking_vortex.lua diff --git a/data-otservbr-global/scripts/movements/quests/forgotten_knowledge/entrance_teleport.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/movements_entrance_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/forgotten_knowledge/entrance_teleport.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/movements_entrance_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/forgotten_knowledge/fount.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/movements_fount.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/forgotten_knowledge/fount.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/movements_fount.lua diff --git a/data-otservbr-global/scripts/movements/quests/forgotten_knowledge/ice_teleport.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/movements_ice_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/forgotten_knowledge/ice_teleport.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/movements_ice_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/forgotten_knowledge/lava_teleport.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/movements_lava_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/forgotten_knowledge/lava_teleport.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/movements_lava_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/forgotten_knowledge/servant_teleport.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/movements_servant_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/forgotten_knowledge/servant_teleport.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/movements_servant_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/forgotten_knowledge/teleport_tree.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/movements_teleport_tree.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/forgotten_knowledge/teleport_tree.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/movements_teleport_tree.lua diff --git a/data-otservbr-global/scripts/movements/quests/formogar_mine_hoist/hoist.lua b/data-otservbr-global/scripts/quests/formogar_mine_hoist/movements_hoist.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/formogar_mine_hoist/hoist.lua rename to data-otservbr-global/scripts/quests/formogar_mine_hoist/movements_hoist.lua diff --git a/data-otservbr-global/scripts/movements/quests/grave_danger/firewall_gaffir.lua b/data-otservbr-global/scripts/quests/grave_danger/movements_firewall_gaffir.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/grave_danger/firewall_gaffir.lua rename to data-otservbr-global/scripts/quests/grave_danger/movements_firewall_gaffir.lua diff --git a/data-otservbr-global/scripts/movements/quests/grave_danger/teleport_king_zelos.lua b/data-otservbr-global/scripts/quests/grave_danger/movements_teleport_king_zelos.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/grave_danger/teleport_king_zelos.lua rename to data-otservbr-global/scripts/quests/grave_danger/movements_teleport_king_zelos.lua diff --git a/data-otservbr-global/scripts/movements/quests/grimvale/silvered_trap.lua b/data-otservbr-global/scripts/quests/grimvale/movements_silvered_trap.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/grimvale/silvered_trap.lua rename to data-otservbr-global/scripts/quests/grimvale/movements_silvered_trap.lua diff --git a/data-otservbr-global/scripts/movements/quests/grimvale/strangely_glowing_mark.lua b/data-otservbr-global/scripts/quests/grimvale/movements_strangely_glowing_mark.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/grimvale/strangely_glowing_mark.lua rename to data-otservbr-global/scripts/quests/grimvale/movements_strangely_glowing_mark.lua diff --git a/data-otservbr-global/scripts/movements/quests/heart_of_destruction/ice_crack.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/movements_ice_crack.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/heart_of_destruction/ice_crack.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/movements_ice_crack.lua diff --git a/data-otservbr-global/scripts/movements/quests/heart_of_destruction/teleport.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/movements_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/heart_of_destruction/teleport.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/movements_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/heart_of_destruction/teleport_heart.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/movements_teleport_heart.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/heart_of_destruction/teleport_heart.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/movements_teleport_heart.lua diff --git a/data-otservbr-global/scripts/movements/quests/heart_of_destruction/vortex_anomaly.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/movements_vortex_anomaly.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/heart_of_destruction/vortex_anomaly.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/movements_vortex_anomaly.lua diff --git a/data-otservbr-global/scripts/movements/quests/heart_of_destruction/vortex_crackler.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/movements_vortex_crackler.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/heart_of_destruction/vortex_crackler.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/movements_vortex_crackler.lua diff --git a/data-otservbr-global/scripts/movements/quests/heart_of_destruction/vortex_hunger.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/movements_vortex_hunger.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/heart_of_destruction/vortex_hunger.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/movements_vortex_hunger.lua diff --git a/data-otservbr-global/scripts/movements/quests/hero_of_rathleton/deep_terror.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/movements_deep_terror.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/hero_of_rathleton/deep_terror.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/movements_deep_terror.lua diff --git a/data-otservbr-global/scripts/movements/quests/hero_of_rathleton/exit.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/movements_exit.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/hero_of_rathleton/exit.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/movements_exit.lua diff --git a/data-otservbr-global/scripts/movements/quests/hero_of_rathleton/fast_way.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/movements_fast_way.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/hero_of_rathleton/fast_way.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/movements_fast_way.lua diff --git a/data-otservbr-global/scripts/movements/quests/hero_of_rathleton/glooth_horror.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/movements_glooth_horror.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/hero_of_rathleton/glooth_horror.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/movements_glooth_horror.lua diff --git a/data-otservbr-global/scripts/movements/quests/hero_of_rathleton/lava.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/movements_lava.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/hero_of_rathleton/lava.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/movements_lava.lua diff --git a/data-otservbr-global/scripts/movements/quests/hero_of_rathleton/professor_maxxen.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/movements_professor_maxxen.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/hero_of_rathleton/professor_maxxen.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/movements_professor_maxxen.lua diff --git a/data-otservbr-global/scripts/movements/quests/killing_in_the_name_of/boss.lua b/data-otservbr-global/scripts/quests/killing_in_the_name_of/movements_boss.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/killing_in_the_name_of/boss.lua rename to data-otservbr-global/scripts/quests/killing_in_the_name_of/movements_boss.lua diff --git a/data-otservbr-global/scripts/movements/quests/kilmaresh/firetp.lua b/data-otservbr-global/scripts/quests/kilmaresh/movements_firetp.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/kilmaresh/firetp.lua rename to data-otservbr-global/scripts/quests/kilmaresh/movements_firetp.lua diff --git a/data-otservbr-global/scripts/movements/quests/kilmaresh/steptile.lua b/data-otservbr-global/scripts/quests/kilmaresh/movements_steptile.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/kilmaresh/steptile.lua rename to data-otservbr-global/scripts/quests/kilmaresh/movements_steptile.lua diff --git a/data-otservbr-global/scripts/movements/quests/kilmaresh/tpvoc.lua b/data-otservbr-global/scripts/quests/kilmaresh/movements_tpvoc.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/kilmaresh/tpvoc.lua rename to data-otservbr-global/scripts/quests/kilmaresh/movements_tpvoc.lua diff --git a/data-otservbr-global/scripts/movements/quests/krailos/access_depot.lua b/data-otservbr-global/scripts/quests/krailos/movements_access_depot.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/krailos/access_depot.lua rename to data-otservbr-global/scripts/quests/krailos/movements_access_depot.lua diff --git a/data-otservbr-global/scripts/movements/quests/lions_rock/lions_rock.lua b/data-otservbr-global/scripts/quests/lions_rock/movements_lions_rock.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/lions_rock/lions_rock.lua rename to data-otservbr-global/scripts/quests/lions_rock/movements_lions_rock.lua diff --git a/data-otservbr-global/scripts/movements/quests/liquid_black/ladder.lua b/data-otservbr-global/scripts/quests/liquid_black/movements_ladder.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/liquid_black/ladder.lua rename to data-otservbr-global/scripts/quests/liquid_black/movements_ladder.lua diff --git a/data-otservbr-global/scripts/movements/quests/liquid_black/quick_access.lua b/data-otservbr-global/scripts/quests/liquid_black/movements_quick_access.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/liquid_black/quick_access.lua rename to data-otservbr-global/scripts/quests/liquid_black/movements_quick_access.lua diff --git a/data-otservbr-global/scripts/movements/quests/liquid_black/shortcut.lua b/data-otservbr-global/scripts/quests/liquid_black/movements_shortcut.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/liquid_black/shortcut.lua rename to data-otservbr-global/scripts/quests/liquid_black/movements_shortcut.lua diff --git a/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_enter.lua b/data-otservbr-global/scripts/quests/svargrond_arena/movements_arena_enter.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_enter.lua rename to data-otservbr-global/scripts/quests/svargrond_arena/movements_arena_enter.lua diff --git a/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_pit.lua b/data-otservbr-global/scripts/quests/svargrond_arena/movements_arena_pit.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_pit.lua rename to data-otservbr-global/scripts/quests/svargrond_arena/movements_arena_pit.lua diff --git a/data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_trophy.lua b/data-otservbr-global/scripts/quests/svargrond_arena/movements_arena_trophy.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/svargrond_arena/arena_trophy.lua rename to data-otservbr-global/scripts/quests/svargrond_arena/movements_arena_trophy.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_cursed_crystal/StepIn_CursedCrystal.lua b/data-otservbr-global/scripts/quests/the_cursed_crystal/movements_StepIn_CursedCrystal.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_cursed_crystal/StepIn_CursedCrystal.lua rename to data-otservbr-global/scripts/quests/the_cursed_crystal/movements_StepIn_CursedCrystal.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_dream_courts/faceless_bane_step_positions.lua b/data-otservbr-global/scripts/quests/the_dream_courts/movements_faceless_bane_step_positions.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_dream_courts/faceless_bane_step_positions.lua rename to data-otservbr-global/scripts/quests/the_dream_courts/movements_faceless_bane_step_positions.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_dream_courts/teleport.lua b/data-otservbr-global/scripts/quests/the_dream_courts/movements_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_dream_courts/teleport.lua rename to data-otservbr-global/scripts/quests/the_dream_courts/movements_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_gravedigger_of_drefia/dormitory_teleport.lua b/data-otservbr-global/scripts/quests/the_gravedigger_of_drefia/movements_dormitory_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_gravedigger_of_drefia/dormitory_teleport.lua rename to data-otservbr-global/scripts/quests/the_gravedigger_of_drefia/movements_dormitory_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_gravedigger_of_drefia/necromancer_servant.lua b/data-otservbr-global/scripts/quests/the_gravedigger_of_drefia/movements_necromancer_servant.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_gravedigger_of_drefia/necromancer_servant.lua rename to data-otservbr-global/scripts/quests/the_gravedigger_of_drefia/movements_necromancer_servant.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_gravedigger_of_drefia/sacrifice_teleport.lua b/data-otservbr-global/scripts/quests/the_gravedigger_of_drefia/movements_sacrifice_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_gravedigger_of_drefia/sacrifice_teleport.lua rename to data-otservbr-global/scripts/quests/the_gravedigger_of_drefia/movements_sacrifice_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_gravedigger_of_drefia/teleport.lua b/data-otservbr-global/scripts/quests/the_gravedigger_of_drefia/movements_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_gravedigger_of_drefia/teleport.lua rename to data-otservbr-global/scripts/quests/the_gravedigger_of_drefia/movements_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_hunt_for_the_sea_serpent/teleports.lua b/data-otservbr-global/scripts/quests/the_hunt_for_the_sea_serpent/movements_teleports.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_hunt_for_the_sea_serpent/teleports.lua rename to data-otservbr-global/scripts/quests/the_hunt_for_the_sea_serpent/movements_teleports.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_outlaw_camp/entrance.lua b/data-otservbr-global/scripts/quests/the_outlaw_camp/movements_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_outlaw_camp/entrance.lua rename to data-otservbr-global/scripts/quests/the_outlaw_camp/movements_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_secret_library/boat.lua b/data-otservbr-global/scripts/quests/the_secret_library/movements_boat.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_secret_library/boat.lua rename to data-otservbr-global/scripts/quests/the_secret_library/movements_boat.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_secret_library/golem_teleport.lua b/data-otservbr-global/scripts/quests/the_secret_library/movements_golem_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_secret_library/golem_teleport.lua rename to data-otservbr-global/scripts/quests/the_secret_library/movements_golem_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_secret_library/pink_teleport.lua b/data-otservbr-global/scripts/quests/the_secret_library/movements_pink_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_secret_library/pink_teleport.lua rename to data-otservbr-global/scripts/quests/the_secret_library/movements_pink_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_secret_library/teleport.lua b/data-otservbr-global/scripts/quests/the_secret_library/movements_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_secret_library/teleport.lua rename to data-otservbr-global/scripts/quests/the_secret_library/movements_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_spike_tasks/geomantic_charges.lua b/data-otservbr-global/scripts/quests/the_spike_tasks/movements_geomantic_charges.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_spike_tasks/geomantic_charges.lua rename to data-otservbr-global/scripts/quests/the_spike_tasks/movements_geomantic_charges.lua diff --git a/data-otservbr-global/scripts/movements/quests/the_spike_tasks/spike_teleport.lua b/data-otservbr-global/scripts/quests/the_spike_tasks/movements_spike_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/the_spike_tasks/spike_teleport.lua rename to data-otservbr-global/scripts/quests/the_spike_tasks/movements_spike_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/their_master_voice/entrance.lua b/data-otservbr-global/scripts/quests/their_master_voice/movements_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/their_master_voice/entrance.lua rename to data-otservbr-global/scripts/quests/their_master_voice/movements_entrance.lua diff --git a/data-otservbr-global/scripts/movements/quests/troll_sabotage/teleport.lua b/data-otservbr-global/scripts/quests/troll_sabotage/movements_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/troll_sabotage/teleport.lua rename to data-otservbr-global/scripts/quests/troll_sabotage/movements_teleport.lua diff --git a/data-otservbr-global/scripts/movements/quests/waterfall/waterfall.lua b/data-otservbr-global/scripts/quests/waterfall/movements_waterfall.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/waterfall/waterfall.lua rename to data-otservbr-global/scripts/quests/waterfall/movements_waterfall.lua diff --git a/data-otservbr-global/scripts/movements/quests/white_pearl/white_pearl.lua b/data-otservbr-global/scripts/quests/white_pearl/movements_white_pearl.lua similarity index 100% rename from data-otservbr-global/scripts/movements/quests/white_pearl/white_pearl.lua rename to data-otservbr-global/scripts/quests/white_pearl/movements_white_pearl.lua From 78a83eee27d9fc2c5c23ff96b88d60481d2b72dc Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 11:35:08 -0300 Subject: [PATCH 106/112] Organization of quest creaturescripts --- .../a_pirates_tail/creaturescripts_a_pirates_tail_bosses.lua} | 0 .../a_pirates_tail/creaturescripts_ratmiral_death.lua} | 0 .../a_pirates_tail/creaturescripts_tentugly_death.lua} | 0 .../adventurers_guild/creaturescripts_the_great_dragon_hunt.lua} | 0 .../an_uneasy_alliance/creaturescripts_renegade_orc_kill.lua} | 0 .../bigfoot_burden/creaturescripts_boss_room_kick.lua} | 0 .../bigfoot_burden/creaturescripts_bosses_warzone.lua} | 0 .../bigfoot_burden/creaturescripts_parasite.lua} | 0 .../bigfoot_burden/creaturescripts_versperoth_kill.lua} | 0 .../bigfoot_burden/creaturescripts_wiggler_kill.lua} | 0 .../cults_of_tibia/creaturescripts_bosses_mission_cults.lua} | 0 .../cults_of_tibia/creaturescripts_carlin_vortex_spawn.lua} | 0 .../cults_of_tibia/creaturescripts_check_tile.lua} | 0 .../cults_of_tibia/creaturescripts_destroyed_pillar.lua} | 0 .../cults_of_tibia/creaturescripts_essence_of_malice.lua} | 0 .../cults_of_tibia/creaturescripts_evaporate.lua} | 0 .../cults_of_tibia/creaturescripts_glowing_rubbish_amulet.lua} | 0 .../cults_of_tibia/creaturescripts_leiden_heal.lua} | 0 .../cults_of_tibia/creaturescripts_machine.lua} | 0 .../cults_of_tibia/creaturescripts_minotaur_task_count.lua} | 0 .../cults_of_tibia/creaturescripts_pillar_health.lua} | 0 .../cults_of_tibia/creaturescripts_sandking.lua} | 0 .../cults_of_tibia/creaturescripts_spawn_boss.lua} | 0 .../cults_of_tibia/creaturescripts_splash.lua} | 0 .../cults_of_tibia/creaturescripts_zarcorix_reflect_damage.lua} | 0 .../dangerous_depths/creaturescripts_bosses_mission_depths.lua} | 0 .../dangerous_depths/creaturescripts_fiery_heart.lua} | 0 .../dangerous_depths/creaturescripts_lost_exile_task.lua} | 0 .../dangerous_depths/creaturescripts_snail_slime_kill.lua} | 0 .../dangerous_depths/creaturescripts_the_baron_from_below.lua} | 0 .../dark_trails/creaturescripts_kill_death_priest_shargon.lua} | 0 .../dark_trails/creaturescripts_kill_the_ravager.lua} | 0 .../dark_trails/creaturescripts_think_the_ravager_heal.lua} | 0 .../dawnport/creaturescripts_goblin_kill.lua} | 0 .../dawnport/creaturescripts_minotaur_kill.lua} | 0 .../dawnport/creaturescripts_troll_kill.lua} | 0 .../elemental_spheres/creaturescripts_overlord_kill.lua} | 0 .../feaster_of_souls/creaturescripts_pale_worm_death.lua} | 0 .../ferumbras_ascendant/creaturescripts_bone_capsule.lua} | 0 .../ferumbras_ascendant/creaturescripts_bosses_kill.lua} | 0 .../ferumbras_ascendant/creaturescripts_death_dragon.lua} | 0 .../creaturescripts_disgusting_ooze_death.lua} | 0 .../creaturescripts_ferumbras_mortal_shell_death.lua} | 0 .../creaturescripts_ferumbras_soul_splinter.lua} | 0 .../ferumbras_ascendant/creaturescripts_rift_invader_death.lua} | 0 .../ferumbras_ascendant/creaturescripts_the_shatterer_kill.lua} | 0 .../ferumbras_ascendant/creaturescripts_zamulosh_clone.lua} | 0 .../firewalker_boots/creaturescripts_pythius_the_rotten_kill.lua} | 0 .../forgotten_knowledge/creaturescripts_astral_glyph_death.lua} | 0 .../forgotten_knowledge/creaturescripts_astral_source.lua} | 0 .../forgotten_knowledge/creaturescripts_bosses_kill.lua} | 0 .../forgotten_knowledge/creaturescripts_bound_astral_power.lua} | 0 .../forgotten_knowledge/creaturescripts_corrupted_soul.lua} | 0 .../forgotten_knowledge/creaturescripts_distorted_source.lua} | 0 .../forgotten_knowledge/creaturescripts_dragon_egg.lua} | 0 .../forgotten_knowledge/creaturescripts_energy_prism.lua} | 0 .../forgotten_knowledge/creaturescripts_energy_prism_death.lua} | 0 .../creaturescripts_healthchange_forgotten.lua} | 0 .../forgotten_knowledge/creaturescripts_lloyd_preparedeath.lua} | 0 .../forgotten_knowledge/creaturescripts_melting_death.lua} | 0 .../forgotten_knowledge/creaturescripts_possessed_tree.lua} | 0 .../forgotten_knowledge/creaturescripts_replica_servants.lua} | 0 .../forgotten_knowledge/creaturescripts_soulcatcher_summon.lua} | 0 .../forgotten_knowledge/creaturescripts_thorn_knight_death.lua} | 0 .../forgotten_knowledge/creaturescripts_time_guardian_health.lua} | 0 .../grave_danger/cobra_bastion/creaturescripts_scarlett.lua} | 0 .../grave_danger/cobra_bastion/creaturescripts_ugly_monster.lua} | 0 .../sirs.lua => quests/grave_danger/creaturescripts_sirs.lua} | 0 .../grave_danger/creaturescripts_zelosDeath.lua} | 0 .../grimvale/creaturescripts_feroxa_transform.lua} | 0 .../creaturescripts_aftershock_transform.lua} | 0 .../heart_of_destruction/creaturescripts_anomaly_transform.lua} | 0 .../creaturescripts_charged_anomaly_death.lua} | 0 .../creaturescripts_charged_disruption_transform.lua} | 0 .../heart_of_destruction/creaturescripts_charger_spawn.lua} | 0 .../heart_of_destruction/creaturescripts_charging_out_death.lua} | 0 .../heart_of_destruction/creaturescripts_crackler_transform.lua} | 0 .../heart_of_destruction/creaturescripts_depolarized_death.lua} | 0 .../creaturescripts_depolarized_transform.lua} | 0 .../creaturescripts_devourer_player_death.lua} | 0 .../creaturescripts_disruption_transform.lua} | 0 .../creaturescripts_eradicator_transform.lua} | 0 .../heart_of_destruction/creaturescripts_foreshock_transform.lua} | 0 .../heart_of_destruction/creaturescripts_heart_boss_death.lua} | 0 .../heart_of_destruction/creaturescripts_heart_minion_death.lua} | 0 .../heart_of_destruction/creaturescripts_outburst_charge.lua} | 0 .../heart_of_destruction/creaturescripts_overcharge_death.lua} | 0 .../heart_of_destruction/creaturescripts_rupture_heal.lua} | 0 .../heart_of_destruction/creaturescripts_rupture_resonance.lua} | 0 .../heart_of_destruction/creaturescripts_shocks_death.lua} | 0 .../heart_of_destruction/creaturescripts_spark_death.lua} | 0 .../creaturescripts_spark_devourer_death.lua} | 0 .../hero_of_rathleton/creaturescripts_bosses_kill.lua} | 0 .../hero_of_rathleton/creaturescripts_glooth_horror.lua} | 0 .../hero_of_rathleton/creaturescripts_tentacle.lua} | 0 .../killing_in_the_name_of/creaturescripts_boss_kill.lua} | 0 .../killing_in_the_name_of/creaturescripts_monster_kill.lua} | 0 .../kilmaresh/creaturescripts_bragrumol.lua} | 0 .../fafnar.lua => quests/kilmaresh/creaturescripts_fafnar.lua} | 0 .../kilmaresh/creaturescripts_mozradek.lua} | 0 .../kilmaresh/creaturescripts_xogixath.lua} | 0 .../liquid_black/creaturescripts_deepling_boss_kill.lua} | 0 .../creaturescripts_energized_raging_mage_kill.lua} | 0 .../raging_mage_tower/creaturescripts_raging_mage_1.lua} | 0 .../raging_mage_tower/creaturescripts_raging_mage_2.lua} | 0 .../raging_mage_tower/creaturescripts_raging_mage_kill.lua} | 0 .../raging_mage_tower/creaturescripts_yielothax_kill.lua} | 0 .../spike_tasks/creaturescripts_lower_spike_kill.lua} | 0 .../spike_tasks/creaturescripts_middle_spike_kill.lua} | 0 .../spike_tasks/creaturescripts_upper_spike_kill.lua} | 0 .../svargrond_arena/creaturescripts_arena_kill.lua} | 0 .../the_first_dragon/creaturescripts_death_angry_plant.lua} | 0 .../the_first_dragon/creaturescripts_death_dragon_essence.lua} | 0 .../the_first_dragon/creaturescripts_death_fallen.lua} | 0 .../the_first_dragon/creaturescripts_death_first_dragon.lua} | 0 .../the_first_dragon/creaturescripts_death_somewhat_beatable.lua} | 0 .../the_first_dragon/creaturescripts_kill_dragon.lua} | 0 .../the_ice_islands/creaturescripts_husky_kill.lua} | 0 .../the_primal_ordeal/creaturescripts_magma_bubble_death.lua} | 0 .../creaturescripts_the_primal_menace_killed.lua} | 0 .../the_secret_library/creaturescripts_falcon_minibosses.lua} | 0 .../their_masters_voice/creaturescripts_mage_death.lua} | 0 .../their_masters_voice/creaturescripts_servant_death.lua} | 0 .../thieves_guild/creaturescripts_nomad_kill.lua} | 0 124 files changed, 0 insertions(+), 0 deletions(-) rename data-otservbr-global/scripts/{creaturescripts/quests/a_pirates_tail/a_pirates_tail_bosses.lua => quests/a_pirates_tail/creaturescripts_a_pirates_tail_bosses.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/a_pirates_tail/ratmiral_death.lua => quests/a_pirates_tail/creaturescripts_ratmiral_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/a_pirates_tail/tentugly_death.lua => quests/a_pirates_tail/creaturescripts_tentugly_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/adventurers_guild/the_great_dragon_hunt.lua => quests/adventurers_guild/creaturescripts_the_great_dragon_hunt.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/an_uneasy_alliance/renegade_orc_kill.lua => quests/an_uneasy_alliance/creaturescripts_renegade_orc_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/bigfoot_burden/boss_room_kick.lua => quests/bigfoot_burden/creaturescripts_boss_room_kick.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/bigfoot_burden/bosses_warzone.lua => quests/bigfoot_burden/creaturescripts_bosses_warzone.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/bigfoot_burden/parasite.lua => quests/bigfoot_burden/creaturescripts_parasite.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/bigfoot_burden/versperoth_kill.lua => quests/bigfoot_burden/creaturescripts_versperoth_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/bigfoot_burden/wiggler_kill.lua => quests/bigfoot_burden/creaturescripts_wiggler_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/bosses_mission_cults.lua => quests/cults_of_tibia/creaturescripts_bosses_mission_cults.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/carlin_vortex_spawn.lua => quests/cults_of_tibia/creaturescripts_carlin_vortex_spawn.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/check_tile.lua => quests/cults_of_tibia/creaturescripts_check_tile.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/destroyed_pillar.lua => quests/cults_of_tibia/creaturescripts_destroyed_pillar.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/essence_of_malice.lua => quests/cults_of_tibia/creaturescripts_essence_of_malice.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/evaporate.lua => quests/cults_of_tibia/creaturescripts_evaporate.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/glowing_rubbish_amulet.lua => quests/cults_of_tibia/creaturescripts_glowing_rubbish_amulet.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/leiden_heal.lua => quests/cults_of_tibia/creaturescripts_leiden_heal.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/machine.lua => quests/cults_of_tibia/creaturescripts_machine.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/minotaur_task_count.lua => quests/cults_of_tibia/creaturescripts_minotaur_task_count.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/pillar_health.lua => quests/cults_of_tibia/creaturescripts_pillar_health.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/sandking.lua => quests/cults_of_tibia/creaturescripts_sandking.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/spawn_boss.lua => quests/cults_of_tibia/creaturescripts_spawn_boss.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/splash.lua => quests/cults_of_tibia/creaturescripts_splash.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/cults_of_tibia/zarcorix_reflect_damage.lua => quests/cults_of_tibia/creaturescripts_zarcorix_reflect_damage.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dangerous_depths/bosses_mission_depths.lua => quests/dangerous_depths/creaturescripts_bosses_mission_depths.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dangerous_depths/fiery_heart.lua => quests/dangerous_depths/creaturescripts_fiery_heart.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dangerous_depths/lost_exile_task.lua => quests/dangerous_depths/creaturescripts_lost_exile_task.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dangerous_depths/snail_slime_kill.lua => quests/dangerous_depths/creaturescripts_snail_slime_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dangerous_depths/the_baron_from_below.lua => quests/dangerous_depths/creaturescripts_the_baron_from_below.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dark_trails/kill_death_priest_shargon.lua => quests/dark_trails/creaturescripts_kill_death_priest_shargon.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dark_trails/kill_the_ravager.lua => quests/dark_trails/creaturescripts_kill_the_ravager.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dark_trails/think_the_ravager_heal.lua => quests/dark_trails/creaturescripts_think_the_ravager_heal.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dawnport/goblin_kill.lua => quests/dawnport/creaturescripts_goblin_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dawnport/minotaur_kill.lua => quests/dawnport/creaturescripts_minotaur_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/dawnport/troll_kill.lua => quests/dawnport/creaturescripts_troll_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/elemental_spheres/overlord_kill.lua => quests/elemental_spheres/creaturescripts_overlord_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/feaster_of_souls/pale_worm_death.lua => quests/feaster_of_souls/creaturescripts_pale_worm_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/ferumbras_ascendant/bone_capsule.lua => quests/ferumbras_ascendant/creaturescripts_bone_capsule.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/ferumbras_ascendant/bosses_kill.lua => quests/ferumbras_ascendant/creaturescripts_bosses_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/ferumbras_ascendant/death_dragon.lua => quests/ferumbras_ascendant/creaturescripts_death_dragon.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/ferumbras_ascendant/disgusting_ooze_death.lua => quests/ferumbras_ascendant/creaturescripts_disgusting_ooze_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/ferumbras_ascendant/ferumbras_mortal_shell_death.lua => quests/ferumbras_ascendant/creaturescripts_ferumbras_mortal_shell_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/ferumbras_ascendant/ferumbras_soul_splinter.lua => quests/ferumbras_ascendant/creaturescripts_ferumbras_soul_splinter.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/ferumbras_ascendant/rift_invader_death.lua => quests/ferumbras_ascendant/creaturescripts_rift_invader_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/ferumbras_ascendant/the_shatterer_kill.lua => quests/ferumbras_ascendant/creaturescripts_the_shatterer_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/ferumbras_ascendant/zamulosh_clone.lua => quests/ferumbras_ascendant/creaturescripts_zamulosh_clone.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/firewalker_boots/pythius_the_rotten_kill.lua => quests/firewalker_boots/creaturescripts_pythius_the_rotten_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/astral_glyph_death.lua => quests/forgotten_knowledge/creaturescripts_astral_glyph_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/astral_source.lua => quests/forgotten_knowledge/creaturescripts_astral_source.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/bosses_kill.lua => quests/forgotten_knowledge/creaturescripts_bosses_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/bound_astral_power.lua => quests/forgotten_knowledge/creaturescripts_bound_astral_power.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/corrupted_soul.lua => quests/forgotten_knowledge/creaturescripts_corrupted_soul.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/distorted_source.lua => quests/forgotten_knowledge/creaturescripts_distorted_source.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/dragon_egg.lua => quests/forgotten_knowledge/creaturescripts_dragon_egg.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/energy_prism.lua => quests/forgotten_knowledge/creaturescripts_energy_prism.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/energy_prism_death.lua => quests/forgotten_knowledge/creaturescripts_energy_prism_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/healthchange_forgotten.lua => quests/forgotten_knowledge/creaturescripts_healthchange_forgotten.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/lloyd_preparedeath.lua => quests/forgotten_knowledge/creaturescripts_lloyd_preparedeath.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/melting_death.lua => quests/forgotten_knowledge/creaturescripts_melting_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/possessed_tree.lua => quests/forgotten_knowledge/creaturescripts_possessed_tree.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/replica_servants.lua => quests/forgotten_knowledge/creaturescripts_replica_servants.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/soulcatcher_summon.lua => quests/forgotten_knowledge/creaturescripts_soulcatcher_summon.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/thorn_knight_death.lua => quests/forgotten_knowledge/creaturescripts_thorn_knight_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/forgotten_knowledge/time_guardian_health.lua => quests/forgotten_knowledge/creaturescripts_time_guardian_health.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/grave_danger/cobra_bastion/scarlett.lua => quests/grave_danger/cobra_bastion/creaturescripts_scarlett.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/grave_danger/cobra_bastion/ugly_monster.lua => quests/grave_danger/cobra_bastion/creaturescripts_ugly_monster.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/grave_danger/sirs.lua => quests/grave_danger/creaturescripts_sirs.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/grave_danger/zelosDeath.lua => quests/grave_danger/creaturescripts_zelosDeath.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/grimvale/feroxa_transform.lua => quests/grimvale/creaturescripts_feroxa_transform.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/aftershock_transform.lua => quests/heart_of_destruction/creaturescripts_aftershock_transform.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/anomaly_transform.lua => quests/heart_of_destruction/creaturescripts_anomaly_transform.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/charged_anomaly_death.lua => quests/heart_of_destruction/creaturescripts_charged_anomaly_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/charged_disruption_transform.lua => quests/heart_of_destruction/creaturescripts_charged_disruption_transform.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/charger_spawn.lua => quests/heart_of_destruction/creaturescripts_charger_spawn.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/charging_out_death.lua => quests/heart_of_destruction/creaturescripts_charging_out_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/crackler_transform.lua => quests/heart_of_destruction/creaturescripts_crackler_transform.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/depolarized_death.lua => quests/heart_of_destruction/creaturescripts_depolarized_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/depolarized_transform.lua => quests/heart_of_destruction/creaturescripts_depolarized_transform.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/devourer_player_death.lua => quests/heart_of_destruction/creaturescripts_devourer_player_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/disruption_transform.lua => quests/heart_of_destruction/creaturescripts_disruption_transform.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/eradicator_transform.lua => quests/heart_of_destruction/creaturescripts_eradicator_transform.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/foreshock_transform.lua => quests/heart_of_destruction/creaturescripts_foreshock_transform.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/heart_boss_death.lua => quests/heart_of_destruction/creaturescripts_heart_boss_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/heart_minion_death.lua => quests/heart_of_destruction/creaturescripts_heart_minion_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/outburst_charge.lua => quests/heart_of_destruction/creaturescripts_outburst_charge.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/overcharge_death.lua => quests/heart_of_destruction/creaturescripts_overcharge_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/rupture_heal.lua => quests/heart_of_destruction/creaturescripts_rupture_heal.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/rupture_resonance.lua => quests/heart_of_destruction/creaturescripts_rupture_resonance.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/shocks_death.lua => quests/heart_of_destruction/creaturescripts_shocks_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/spark_death.lua => quests/heart_of_destruction/creaturescripts_spark_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/heart_of_destruction/spark_devourer_death.lua => quests/heart_of_destruction/creaturescripts_spark_devourer_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/hero_of_rathleton/bosses_kill.lua => quests/hero_of_rathleton/creaturescripts_bosses_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/hero_of_rathleton/glooth_horror.lua => quests/hero_of_rathleton/creaturescripts_glooth_horror.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/hero_of_rathleton/tentacle.lua => quests/hero_of_rathleton/creaturescripts_tentacle.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/killing_in_the_name_of/boss_kill.lua => quests/killing_in_the_name_of/creaturescripts_boss_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/killing_in_the_name_of/monster_kill.lua => quests/killing_in_the_name_of/creaturescripts_monster_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/kilmaresh/bragrumol.lua => quests/kilmaresh/creaturescripts_bragrumol.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/kilmaresh/fafnar.lua => quests/kilmaresh/creaturescripts_fafnar.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/kilmaresh/mozradek.lua => quests/kilmaresh/creaturescripts_mozradek.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/kilmaresh/xogixath.lua => quests/kilmaresh/creaturescripts_xogixath.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/liquid_black/deepling_boss_kill.lua => quests/liquid_black/creaturescripts_deepling_boss_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/raging_mage_tower/energized_raging_mage_kill.lua => quests/raging_mage_tower/creaturescripts_energized_raging_mage_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/raging_mage_tower/raging_mage_1.lua => quests/raging_mage_tower/creaturescripts_raging_mage_1.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/raging_mage_tower/raging_mage_2.lua => quests/raging_mage_tower/creaturescripts_raging_mage_2.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/raging_mage_tower/raging_mage_kill.lua => quests/raging_mage_tower/creaturescripts_raging_mage_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/raging_mage_tower/yielothax_kill.lua => quests/raging_mage_tower/creaturescripts_yielothax_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/spike_tasks/lower_spike_kill.lua => quests/spike_tasks/creaturescripts_lower_spike_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/spike_tasks/middle_spike_kill.lua => quests/spike_tasks/creaturescripts_middle_spike_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/spike_tasks/upper_spike_kill.lua => quests/spike_tasks/creaturescripts_upper_spike_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/svargrond_arena/arena_kill.lua => quests/svargrond_arena/creaturescripts_arena_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_first_dragon/death_angry_plant.lua => quests/the_first_dragon/creaturescripts_death_angry_plant.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_first_dragon/death_dragon_essence.lua => quests/the_first_dragon/creaturescripts_death_dragon_essence.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_first_dragon/death_fallen.lua => quests/the_first_dragon/creaturescripts_death_fallen.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_first_dragon/death_first_dragon.lua => quests/the_first_dragon/creaturescripts_death_first_dragon.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_first_dragon/death_somewhat_beatable.lua => quests/the_first_dragon/creaturescripts_death_somewhat_beatable.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_first_dragon/kill_dragon.lua => quests/the_first_dragon/creaturescripts_kill_dragon.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_ice_islands/husky_kill.lua => quests/the_ice_islands/creaturescripts_husky_kill.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_primal_ordeal/magma_bubble_death.lua => quests/the_primal_ordeal/creaturescripts_magma_bubble_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_primal_ordeal/the_primal_menace_killed.lua => quests/the_primal_ordeal/creaturescripts_the_primal_menace_killed.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/the_secret_library/falcon_minibosses.lua => quests/the_secret_library/creaturescripts_falcon_minibosses.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/their_masters_voice/mage_death.lua => quests/their_masters_voice/creaturescripts_mage_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/their_masters_voice/servant_death.lua => quests/their_masters_voice/creaturescripts_servant_death.lua} (100%) rename data-otservbr-global/scripts/{creaturescripts/quests/thieves_guild/nomad_kill.lua => quests/thieves_guild/creaturescripts_nomad_kill.lua} (100%) diff --git a/data-otservbr-global/scripts/creaturescripts/quests/a_pirates_tail/a_pirates_tail_bosses.lua b/data-otservbr-global/scripts/quests/a_pirates_tail/creaturescripts_a_pirates_tail_bosses.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/a_pirates_tail/a_pirates_tail_bosses.lua rename to data-otservbr-global/scripts/quests/a_pirates_tail/creaturescripts_a_pirates_tail_bosses.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/a_pirates_tail/ratmiral_death.lua b/data-otservbr-global/scripts/quests/a_pirates_tail/creaturescripts_ratmiral_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/a_pirates_tail/ratmiral_death.lua rename to data-otservbr-global/scripts/quests/a_pirates_tail/creaturescripts_ratmiral_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/a_pirates_tail/tentugly_death.lua b/data-otservbr-global/scripts/quests/a_pirates_tail/creaturescripts_tentugly_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/a_pirates_tail/tentugly_death.lua rename to data-otservbr-global/scripts/quests/a_pirates_tail/creaturescripts_tentugly_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/adventurers_guild/the_great_dragon_hunt.lua b/data-otservbr-global/scripts/quests/adventurers_guild/creaturescripts_the_great_dragon_hunt.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/adventurers_guild/the_great_dragon_hunt.lua rename to data-otservbr-global/scripts/quests/adventurers_guild/creaturescripts_the_great_dragon_hunt.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/an_uneasy_alliance/renegade_orc_kill.lua b/data-otservbr-global/scripts/quests/an_uneasy_alliance/creaturescripts_renegade_orc_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/an_uneasy_alliance/renegade_orc_kill.lua rename to data-otservbr-global/scripts/quests/an_uneasy_alliance/creaturescripts_renegade_orc_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/boss_room_kick.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_boss_room_kick.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/boss_room_kick.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_boss_room_kick.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/bosses_warzone.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_bosses_warzone.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/bosses_warzone.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_bosses_warzone.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/parasite.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_parasite.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/parasite.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_parasite.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/versperoth_kill.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_versperoth_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/versperoth_kill.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_versperoth_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/wiggler_kill.lua b/data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_wiggler_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/bigfoot_burden/wiggler_kill.lua rename to data-otservbr-global/scripts/quests/bigfoot_burden/creaturescripts_wiggler_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/bosses_mission_cults.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_bosses_mission_cults.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/bosses_mission_cults.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_bosses_mission_cults.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/carlin_vortex_spawn.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_carlin_vortex_spawn.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/carlin_vortex_spawn.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_carlin_vortex_spawn.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/check_tile.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_check_tile.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/check_tile.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_check_tile.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/destroyed_pillar.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_destroyed_pillar.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/destroyed_pillar.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_destroyed_pillar.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/essence_of_malice.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_essence_of_malice.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/essence_of_malice.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_essence_of_malice.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/evaporate.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_evaporate.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/evaporate.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_evaporate.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/glowing_rubbish_amulet.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_glowing_rubbish_amulet.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/glowing_rubbish_amulet.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_glowing_rubbish_amulet.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/leiden_heal.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_leiden_heal.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/leiden_heal.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_leiden_heal.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/machine.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_machine.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/machine.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_machine.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/minotaur_task_count.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_minotaur_task_count.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/minotaur_task_count.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_minotaur_task_count.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/pillar_health.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_pillar_health.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/pillar_health.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_pillar_health.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/sandking.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_sandking.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/sandking.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_sandking.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/spawn_boss.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_spawn_boss.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/spawn_boss.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_spawn_boss.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/splash.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_splash.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/splash.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_splash.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/zarcorix_reflect_damage.lua b/data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_zarcorix_reflect_damage.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/cults_of_tibia/zarcorix_reflect_damage.lua rename to data-otservbr-global/scripts/quests/cults_of_tibia/creaturescripts_zarcorix_reflect_damage.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/bosses_mission_depths.lua b/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_bosses_mission_depths.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/bosses_mission_depths.lua rename to data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_bosses_mission_depths.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/fiery_heart.lua b/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_fiery_heart.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/fiery_heart.lua rename to data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_fiery_heart.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/lost_exile_task.lua b/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_lost_exile_task.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/lost_exile_task.lua rename to data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_lost_exile_task.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/snail_slime_kill.lua b/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_snail_slime_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/snail_slime_kill.lua rename to data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_snail_slime_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/the_baron_from_below.lua b/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_the_baron_from_below.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dangerous_depths/the_baron_from_below.lua rename to data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_the_baron_from_below.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dark_trails/kill_death_priest_shargon.lua b/data-otservbr-global/scripts/quests/dark_trails/creaturescripts_kill_death_priest_shargon.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dark_trails/kill_death_priest_shargon.lua rename to data-otservbr-global/scripts/quests/dark_trails/creaturescripts_kill_death_priest_shargon.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dark_trails/kill_the_ravager.lua b/data-otservbr-global/scripts/quests/dark_trails/creaturescripts_kill_the_ravager.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dark_trails/kill_the_ravager.lua rename to data-otservbr-global/scripts/quests/dark_trails/creaturescripts_kill_the_ravager.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dark_trails/think_the_ravager_heal.lua b/data-otservbr-global/scripts/quests/dark_trails/creaturescripts_think_the_ravager_heal.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dark_trails/think_the_ravager_heal.lua rename to data-otservbr-global/scripts/quests/dark_trails/creaturescripts_think_the_ravager_heal.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dawnport/goblin_kill.lua b/data-otservbr-global/scripts/quests/dawnport/creaturescripts_goblin_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dawnport/goblin_kill.lua rename to data-otservbr-global/scripts/quests/dawnport/creaturescripts_goblin_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dawnport/minotaur_kill.lua b/data-otservbr-global/scripts/quests/dawnport/creaturescripts_minotaur_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dawnport/minotaur_kill.lua rename to data-otservbr-global/scripts/quests/dawnport/creaturescripts_minotaur_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/dawnport/troll_kill.lua b/data-otservbr-global/scripts/quests/dawnport/creaturescripts_troll_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/dawnport/troll_kill.lua rename to data-otservbr-global/scripts/quests/dawnport/creaturescripts_troll_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/elemental_spheres/overlord_kill.lua b/data-otservbr-global/scripts/quests/elemental_spheres/creaturescripts_overlord_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/elemental_spheres/overlord_kill.lua rename to data-otservbr-global/scripts/quests/elemental_spheres/creaturescripts_overlord_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/feaster_of_souls/pale_worm_death.lua b/data-otservbr-global/scripts/quests/feaster_of_souls/creaturescripts_pale_worm_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/feaster_of_souls/pale_worm_death.lua rename to data-otservbr-global/scripts/quests/feaster_of_souls/creaturescripts_pale_worm_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/bone_capsule.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_bone_capsule.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/bone_capsule.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_bone_capsule.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/bosses_kill.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_bosses_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/bosses_kill.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_bosses_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/death_dragon.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_death_dragon.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/death_dragon.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_death_dragon.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/disgusting_ooze_death.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_disgusting_ooze_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/disgusting_ooze_death.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_disgusting_ooze_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/ferumbras_mortal_shell_death.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_ferumbras_mortal_shell_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/ferumbras_mortal_shell_death.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_ferumbras_mortal_shell_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/ferumbras_soul_splinter.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_ferumbras_soul_splinter.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/ferumbras_soul_splinter.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_ferumbras_soul_splinter.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/rift_invader_death.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_rift_invader_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/rift_invader_death.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_rift_invader_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/the_shatterer_kill.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_the_shatterer_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/the_shatterer_kill.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_the_shatterer_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/zamulosh_clone.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_zamulosh_clone.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/ferumbras_ascendant/zamulosh_clone.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/creaturescripts_zamulosh_clone.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/firewalker_boots/pythius_the_rotten_kill.lua b/data-otservbr-global/scripts/quests/firewalker_boots/creaturescripts_pythius_the_rotten_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/firewalker_boots/pythius_the_rotten_kill.lua rename to data-otservbr-global/scripts/quests/firewalker_boots/creaturescripts_pythius_the_rotten_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/astral_glyph_death.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_astral_glyph_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/astral_glyph_death.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_astral_glyph_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/astral_source.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_astral_source.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/astral_source.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_astral_source.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/bosses_kill.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_bosses_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/bosses_kill.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_bosses_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/bound_astral_power.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_bound_astral_power.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/bound_astral_power.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_bound_astral_power.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/corrupted_soul.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_corrupted_soul.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/corrupted_soul.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_corrupted_soul.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/distorted_source.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_distorted_source.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/distorted_source.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_distorted_source.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/dragon_egg.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_dragon_egg.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/dragon_egg.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_dragon_egg.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/energy_prism.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_energy_prism.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/energy_prism.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_energy_prism.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/energy_prism_death.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_energy_prism_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/energy_prism_death.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_energy_prism_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/healthchange_forgotten.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_healthchange_forgotten.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/healthchange_forgotten.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_healthchange_forgotten.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/lloyd_preparedeath.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_lloyd_preparedeath.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/lloyd_preparedeath.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_lloyd_preparedeath.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/melting_death.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_melting_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/melting_death.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_melting_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/possessed_tree.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_possessed_tree.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/possessed_tree.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_possessed_tree.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/replica_servants.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_replica_servants.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/replica_servants.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_replica_servants.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/soulcatcher_summon.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_soulcatcher_summon.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/soulcatcher_summon.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_soulcatcher_summon.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/thorn_knight_death.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_thorn_knight_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/thorn_knight_death.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_thorn_knight_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/time_guardian_health.lua b/data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_time_guardian_health.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/forgotten_knowledge/time_guardian_health.lua rename to data-otservbr-global/scripts/quests/forgotten_knowledge/creaturescripts_time_guardian_health.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/grave_danger/cobra_bastion/scarlett.lua b/data-otservbr-global/scripts/quests/grave_danger/cobra_bastion/creaturescripts_scarlett.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/grave_danger/cobra_bastion/scarlett.lua rename to data-otservbr-global/scripts/quests/grave_danger/cobra_bastion/creaturescripts_scarlett.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/grave_danger/cobra_bastion/ugly_monster.lua b/data-otservbr-global/scripts/quests/grave_danger/cobra_bastion/creaturescripts_ugly_monster.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/grave_danger/cobra_bastion/ugly_monster.lua rename to data-otservbr-global/scripts/quests/grave_danger/cobra_bastion/creaturescripts_ugly_monster.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/grave_danger/sirs.lua b/data-otservbr-global/scripts/quests/grave_danger/creaturescripts_sirs.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/grave_danger/sirs.lua rename to data-otservbr-global/scripts/quests/grave_danger/creaturescripts_sirs.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/grave_danger/zelosDeath.lua b/data-otservbr-global/scripts/quests/grave_danger/creaturescripts_zelosDeath.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/grave_danger/zelosDeath.lua rename to data-otservbr-global/scripts/quests/grave_danger/creaturescripts_zelosDeath.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/grimvale/feroxa_transform.lua b/data-otservbr-global/scripts/quests/grimvale/creaturescripts_feroxa_transform.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/grimvale/feroxa_transform.lua rename to data-otservbr-global/scripts/quests/grimvale/creaturescripts_feroxa_transform.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/aftershock_transform.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_aftershock_transform.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/aftershock_transform.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_aftershock_transform.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/anomaly_transform.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_anomaly_transform.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/anomaly_transform.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_anomaly_transform.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/charged_anomaly_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_charged_anomaly_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/charged_anomaly_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_charged_anomaly_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/charged_disruption_transform.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_charged_disruption_transform.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/charged_disruption_transform.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_charged_disruption_transform.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/charger_spawn.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_charger_spawn.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/charger_spawn.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_charger_spawn.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/charging_out_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_charging_out_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/charging_out_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_charging_out_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/crackler_transform.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_crackler_transform.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/crackler_transform.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_crackler_transform.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/depolarized_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_depolarized_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/depolarized_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_depolarized_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/depolarized_transform.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_depolarized_transform.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/depolarized_transform.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_depolarized_transform.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/devourer_player_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_devourer_player_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/devourer_player_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_devourer_player_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/disruption_transform.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_disruption_transform.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/disruption_transform.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_disruption_transform.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/eradicator_transform.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_eradicator_transform.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/eradicator_transform.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_eradicator_transform.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/foreshock_transform.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_foreshock_transform.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/foreshock_transform.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_foreshock_transform.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/heart_boss_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_heart_boss_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/heart_boss_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_heart_boss_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/heart_minion_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_heart_minion_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/heart_minion_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_heart_minion_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/outburst_charge.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_outburst_charge.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/outburst_charge.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_outburst_charge.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/overcharge_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_overcharge_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/overcharge_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_overcharge_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/rupture_heal.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_rupture_heal.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/rupture_heal.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_rupture_heal.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/rupture_resonance.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_rupture_resonance.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/rupture_resonance.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_rupture_resonance.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/shocks_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_shocks_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/shocks_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_shocks_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/spark_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_spark_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/spark_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_spark_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/spark_devourer_death.lua b/data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_spark_devourer_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/heart_of_destruction/spark_devourer_death.lua rename to data-otservbr-global/scripts/quests/heart_of_destruction/creaturescripts_spark_devourer_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/hero_of_rathleton/bosses_kill.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/creaturescripts_bosses_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/hero_of_rathleton/bosses_kill.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/creaturescripts_bosses_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/hero_of_rathleton/glooth_horror.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/creaturescripts_glooth_horror.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/hero_of_rathleton/glooth_horror.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/creaturescripts_glooth_horror.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/hero_of_rathleton/tentacle.lua b/data-otservbr-global/scripts/quests/hero_of_rathleton/creaturescripts_tentacle.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/hero_of_rathleton/tentacle.lua rename to data-otservbr-global/scripts/quests/hero_of_rathleton/creaturescripts_tentacle.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/killing_in_the_name_of/boss_kill.lua b/data-otservbr-global/scripts/quests/killing_in_the_name_of/creaturescripts_boss_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/killing_in_the_name_of/boss_kill.lua rename to data-otservbr-global/scripts/quests/killing_in_the_name_of/creaturescripts_boss_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/killing_in_the_name_of/monster_kill.lua b/data-otservbr-global/scripts/quests/killing_in_the_name_of/creaturescripts_monster_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/killing_in_the_name_of/monster_kill.lua rename to data-otservbr-global/scripts/quests/killing_in_the_name_of/creaturescripts_monster_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/kilmaresh/bragrumol.lua b/data-otservbr-global/scripts/quests/kilmaresh/creaturescripts_bragrumol.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/kilmaresh/bragrumol.lua rename to data-otservbr-global/scripts/quests/kilmaresh/creaturescripts_bragrumol.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/kilmaresh/fafnar.lua b/data-otservbr-global/scripts/quests/kilmaresh/creaturescripts_fafnar.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/kilmaresh/fafnar.lua rename to data-otservbr-global/scripts/quests/kilmaresh/creaturescripts_fafnar.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/kilmaresh/mozradek.lua b/data-otservbr-global/scripts/quests/kilmaresh/creaturescripts_mozradek.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/kilmaresh/mozradek.lua rename to data-otservbr-global/scripts/quests/kilmaresh/creaturescripts_mozradek.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/kilmaresh/xogixath.lua b/data-otservbr-global/scripts/quests/kilmaresh/creaturescripts_xogixath.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/kilmaresh/xogixath.lua rename to data-otservbr-global/scripts/quests/kilmaresh/creaturescripts_xogixath.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/liquid_black/deepling_boss_kill.lua b/data-otservbr-global/scripts/quests/liquid_black/creaturescripts_deepling_boss_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/liquid_black/deepling_boss_kill.lua rename to data-otservbr-global/scripts/quests/liquid_black/creaturescripts_deepling_boss_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/energized_raging_mage_kill.lua b/data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_energized_raging_mage_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/energized_raging_mage_kill.lua rename to data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_energized_raging_mage_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/raging_mage_1.lua b/data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_raging_mage_1.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/raging_mage_1.lua rename to data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_raging_mage_1.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/raging_mage_2.lua b/data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_raging_mage_2.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/raging_mage_2.lua rename to data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_raging_mage_2.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/raging_mage_kill.lua b/data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_raging_mage_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/raging_mage_kill.lua rename to data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_raging_mage_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/yielothax_kill.lua b/data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_yielothax_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/raging_mage_tower/yielothax_kill.lua rename to data-otservbr-global/scripts/quests/raging_mage_tower/creaturescripts_yielothax_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/spike_tasks/lower_spike_kill.lua b/data-otservbr-global/scripts/quests/spike_tasks/creaturescripts_lower_spike_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/spike_tasks/lower_spike_kill.lua rename to data-otservbr-global/scripts/quests/spike_tasks/creaturescripts_lower_spike_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/spike_tasks/middle_spike_kill.lua b/data-otservbr-global/scripts/quests/spike_tasks/creaturescripts_middle_spike_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/spike_tasks/middle_spike_kill.lua rename to data-otservbr-global/scripts/quests/spike_tasks/creaturescripts_middle_spike_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/spike_tasks/upper_spike_kill.lua b/data-otservbr-global/scripts/quests/spike_tasks/creaturescripts_upper_spike_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/spike_tasks/upper_spike_kill.lua rename to data-otservbr-global/scripts/quests/spike_tasks/creaturescripts_upper_spike_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/svargrond_arena/arena_kill.lua b/data-otservbr-global/scripts/quests/svargrond_arena/creaturescripts_arena_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/svargrond_arena/arena_kill.lua rename to data-otservbr-global/scripts/quests/svargrond_arena/creaturescripts_arena_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_angry_plant.lua b/data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_angry_plant.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_angry_plant.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_angry_plant.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_dragon_essence.lua b/data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_dragon_essence.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_dragon_essence.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_dragon_essence.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_fallen.lua b/data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_fallen.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_fallen.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_fallen.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_first_dragon.lua b/data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_first_dragon.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_first_dragon.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_first_dragon.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_somewhat_beatable.lua b/data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_somewhat_beatable.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/death_somewhat_beatable.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_death_somewhat_beatable.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/kill_dragon.lua b/data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_kill_dragon.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_first_dragon/kill_dragon.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/creaturescripts_kill_dragon.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_ice_islands/husky_kill.lua b/data-otservbr-global/scripts/quests/the_ice_islands/creaturescripts_husky_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_ice_islands/husky_kill.lua rename to data-otservbr-global/scripts/quests/the_ice_islands/creaturescripts_husky_kill.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_primal_ordeal/magma_bubble_death.lua b/data-otservbr-global/scripts/quests/the_primal_ordeal/creaturescripts_magma_bubble_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_primal_ordeal/magma_bubble_death.lua rename to data-otservbr-global/scripts/quests/the_primal_ordeal/creaturescripts_magma_bubble_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_primal_ordeal/the_primal_menace_killed.lua b/data-otservbr-global/scripts/quests/the_primal_ordeal/creaturescripts_the_primal_menace_killed.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_primal_ordeal/the_primal_menace_killed.lua rename to data-otservbr-global/scripts/quests/the_primal_ordeal/creaturescripts_the_primal_menace_killed.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/the_secret_library/falcon_minibosses.lua b/data-otservbr-global/scripts/quests/the_secret_library/creaturescripts_falcon_minibosses.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/the_secret_library/falcon_minibosses.lua rename to data-otservbr-global/scripts/quests/the_secret_library/creaturescripts_falcon_minibosses.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/their_masters_voice/mage_death.lua b/data-otservbr-global/scripts/quests/their_masters_voice/creaturescripts_mage_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/their_masters_voice/mage_death.lua rename to data-otservbr-global/scripts/quests/their_masters_voice/creaturescripts_mage_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/their_masters_voice/servant_death.lua b/data-otservbr-global/scripts/quests/their_masters_voice/creaturescripts_servant_death.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/their_masters_voice/servant_death.lua rename to data-otservbr-global/scripts/quests/their_masters_voice/creaturescripts_servant_death.lua diff --git a/data-otservbr-global/scripts/creaturescripts/quests/thieves_guild/nomad_kill.lua b/data-otservbr-global/scripts/quests/thieves_guild/creaturescripts_nomad_kill.lua similarity index 100% rename from data-otservbr-global/scripts/creaturescripts/quests/thieves_guild/nomad_kill.lua rename to data-otservbr-global/scripts/quests/thieves_guild/creaturescripts_nomad_kill.lua From 1c906e647f3817ed8088b27d0a02e75ba89dce2e Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 11:55:31 -0300 Subject: [PATCH 107/112] Organization of quest globalevents --- .../demon_oak/globalevents_demon_oak_voices.lua} | 0 .../globalevents_druid_outfits_blooming_griffinclaw.lua} | 0 .../globalevents_ferumbras_ascendant_effect_1.lua} | 0 .../globalevents_ferumbras_ascendant_effect_2.lua} | 0 .../grave_danger/globalevents_cobra_minis_custodian.lua} | 0 .../grave_danger/globalevents_cobra_minis_gaffir.lua} | 0 .../grave_danger/globalevents_cobra_minis_quaid.lua} | 0 .../grimvale/globalevents_grimvale_feroxa.lua} | 0 .../globalevents_secret_library_grand_canon_dominus.lua} | 0 .../globalevents_secret_library_grand_chaplain_gaunder.lua} | 0 .../globalevents_secret_library_grand_commander_soeren.lua} | 0 .../globalevents_secret_library_preceptor_lazare.lua} | 0 .../secret_library/globalevents_secret_library_spawn_damage.lua} | 0 .../globalevents_pits_of_inferno_bosses.lua} | 0 .../globalevents_their_master_voice_mad_mage.lua} | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename data-otservbr-global/scripts/{globalevents/quests/demon_oak_voices.lua => quests/demon_oak/globalevents_demon_oak_voices.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/druid_outfits_blooming_griffinclaw.lua => quests/druid_outfits_quest/globalevents_druid_outfits_blooming_griffinclaw.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/ferumbras_ascendant_effect_1.lua => quests/ferumbras_ascendant/globalevents_ferumbras_ascendant_effect_1.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/ferumbras_ascendant_effect_2.lua => quests/ferumbras_ascendant/globalevents_ferumbras_ascendant_effect_2.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/cobra_minis_custodian.lua => quests/grave_danger/globalevents_cobra_minis_custodian.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/cobra_minis_gaffir.lua => quests/grave_danger/globalevents_cobra_minis_gaffir.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/cobra_minis_quaid.lua => quests/grave_danger/globalevents_cobra_minis_quaid.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/grimvale_feroxa.lua => quests/grimvale/globalevents_grimvale_feroxa.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/secret_library_grand_canon_dominus.lua => quests/secret_library/globalevents_secret_library_grand_canon_dominus.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/secret_library_grand_chaplain_gaunder.lua => quests/secret_library/globalevents_secret_library_grand_chaplain_gaunder.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/secret_library_grand_commander_soeren.lua => quests/secret_library/globalevents_secret_library_grand_commander_soeren.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/secret_library_preceptor_lazare.lua => quests/secret_library/globalevents_secret_library_preceptor_lazare.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/secret_library_spawn_damage.lua => quests/secret_library/globalevents_secret_library_spawn_damage.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/pits_of_inferno_bosses.lua => quests/the_pits_of_inferno_quest/globalevents_pits_of_inferno_bosses.lua} (100%) rename data-otservbr-global/scripts/{globalevents/quests/their_master_voice_mad_mage.lua => quests/their_master_voice/globalevents_their_master_voice_mad_mage.lua} (100%) diff --git a/data-otservbr-global/scripts/globalevents/quests/demon_oak_voices.lua b/data-otservbr-global/scripts/quests/demon_oak/globalevents_demon_oak_voices.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/demon_oak_voices.lua rename to data-otservbr-global/scripts/quests/demon_oak/globalevents_demon_oak_voices.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/druid_outfits_blooming_griffinclaw.lua b/data-otservbr-global/scripts/quests/druid_outfits_quest/globalevents_druid_outfits_blooming_griffinclaw.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/druid_outfits_blooming_griffinclaw.lua rename to data-otservbr-global/scripts/quests/druid_outfits_quest/globalevents_druid_outfits_blooming_griffinclaw.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/ferumbras_ascendant_effect_1.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/globalevents_ferumbras_ascendant_effect_1.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/ferumbras_ascendant_effect_1.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/globalevents_ferumbras_ascendant_effect_1.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/ferumbras_ascendant_effect_2.lua b/data-otservbr-global/scripts/quests/ferumbras_ascendant/globalevents_ferumbras_ascendant_effect_2.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/ferumbras_ascendant_effect_2.lua rename to data-otservbr-global/scripts/quests/ferumbras_ascendant/globalevents_ferumbras_ascendant_effect_2.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/cobra_minis_custodian.lua b/data-otservbr-global/scripts/quests/grave_danger/globalevents_cobra_minis_custodian.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/cobra_minis_custodian.lua rename to data-otservbr-global/scripts/quests/grave_danger/globalevents_cobra_minis_custodian.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/cobra_minis_gaffir.lua b/data-otservbr-global/scripts/quests/grave_danger/globalevents_cobra_minis_gaffir.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/cobra_minis_gaffir.lua rename to data-otservbr-global/scripts/quests/grave_danger/globalevents_cobra_minis_gaffir.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/cobra_minis_quaid.lua b/data-otservbr-global/scripts/quests/grave_danger/globalevents_cobra_minis_quaid.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/cobra_minis_quaid.lua rename to data-otservbr-global/scripts/quests/grave_danger/globalevents_cobra_minis_quaid.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/grimvale_feroxa.lua b/data-otservbr-global/scripts/quests/grimvale/globalevents_grimvale_feroxa.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/grimvale_feroxa.lua rename to data-otservbr-global/scripts/quests/grimvale/globalevents_grimvale_feroxa.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/secret_library_grand_canon_dominus.lua b/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_canon_dominus.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/secret_library_grand_canon_dominus.lua rename to data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_canon_dominus.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/secret_library_grand_chaplain_gaunder.lua b/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_chaplain_gaunder.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/secret_library_grand_chaplain_gaunder.lua rename to data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_chaplain_gaunder.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/secret_library_grand_commander_soeren.lua b/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_commander_soeren.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/secret_library_grand_commander_soeren.lua rename to data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_commander_soeren.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/secret_library_preceptor_lazare.lua b/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_preceptor_lazare.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/secret_library_preceptor_lazare.lua rename to data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_preceptor_lazare.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/secret_library_spawn_damage.lua b/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_spawn_damage.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/secret_library_spawn_damage.lua rename to data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_spawn_damage.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/pits_of_inferno_bosses.lua b/data-otservbr-global/scripts/quests/the_pits_of_inferno_quest/globalevents_pits_of_inferno_bosses.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/pits_of_inferno_bosses.lua rename to data-otservbr-global/scripts/quests/the_pits_of_inferno_quest/globalevents_pits_of_inferno_bosses.lua diff --git a/data-otservbr-global/scripts/globalevents/quests/their_master_voice_mad_mage.lua b/data-otservbr-global/scripts/quests/their_master_voice/globalevents_their_master_voice_mad_mage.lua similarity index 100% rename from data-otservbr-global/scripts/globalevents/quests/their_master_voice_mad_mage.lua rename to data-otservbr-global/scripts/quests/their_master_voice/globalevents_their_master_voice_mad_mage.lua From 495b01c74bd85bb131a2c7abea8bbd79f6d288e1 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 12:00:14 -0300 Subject: [PATCH 108/112] Duplicate folders --- .../actions_boxramp.lua | 0 .../actions_coral.lua | 0 .../actions_crystal.lua | 0 .../actions_crystalvortex.lua | 0 .../actions_golden_anchor.lua | 0 .../actions_questfirst.lua | 0 .../actions_statue.lua | 0 .../{first_dragon => the_first_dragon}/actions_lair_entrance.lua | 0 .../quests/{first_dragon => the_first_dragon}/actions_lever.lua | 0 .../quests/{first_dragon => the_first_dragon}/actions_rewards.lua | 0 .../actions_sacrifice_items.lua | 0 .../{first_dragon => the_first_dragon}/actions_treasure_chest.lua | 0 .../movements_entrance_teleport.lua | 0 .../movements_exit_teleport.lua | 0 .../{first_dragon => the_first_dragon}/movements_flower_bowl.lua | 0 .../movements_heaven_blossom.lua | 0 .../movements_last_teleport.lua | 0 .../movements_zorvorax_secrets.lua | 0 .../creaturescripts_husky_kill.lua | 0 19 files changed, 0 insertions(+), 0 deletions(-) rename data-otservbr-global/scripts/quests/{deepling_worldchange => deeplings_worldchange}/actions_boxramp.lua (100%) rename data-otservbr-global/scripts/quests/{deepling_worldchange => deeplings_worldchange}/actions_coral.lua (100%) rename data-otservbr-global/scripts/quests/{deepling_worldchange => deeplings_worldchange}/actions_crystal.lua (100%) rename data-otservbr-global/scripts/quests/{deepling_worldchange => deeplings_worldchange}/actions_crystalvortex.lua (100%) rename data-otservbr-global/scripts/quests/{deepling_worldchange => deeplings_worldchange}/actions_golden_anchor.lua (100%) rename data-otservbr-global/scripts/quests/{deepling_worldchange => deeplings_worldchange}/actions_questfirst.lua (100%) rename data-otservbr-global/scripts/quests/{deepling_worldchange => deeplings_worldchange}/actions_statue.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/actions_lair_entrance.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/actions_lever.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/actions_rewards.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/actions_sacrifice_items.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/actions_treasure_chest.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/movements_entrance_teleport.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/movements_exit_teleport.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/movements_flower_bowl.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/movements_heaven_blossom.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/movements_last_teleport.lua (100%) rename data-otservbr-global/scripts/quests/{first_dragon => the_first_dragon}/movements_zorvorax_secrets.lua (100%) rename data-otservbr-global/scripts/quests/{the_ice_islands => the_ice_islands_quest}/creaturescripts_husky_kill.lua (100%) diff --git a/data-otservbr-global/scripts/quests/deepling_worldchange/actions_boxramp.lua b/data-otservbr-global/scripts/quests/deeplings_worldchange/actions_boxramp.lua similarity index 100% rename from data-otservbr-global/scripts/quests/deepling_worldchange/actions_boxramp.lua rename to data-otservbr-global/scripts/quests/deeplings_worldchange/actions_boxramp.lua diff --git a/data-otservbr-global/scripts/quests/deepling_worldchange/actions_coral.lua b/data-otservbr-global/scripts/quests/deeplings_worldchange/actions_coral.lua similarity index 100% rename from data-otservbr-global/scripts/quests/deepling_worldchange/actions_coral.lua rename to data-otservbr-global/scripts/quests/deeplings_worldchange/actions_coral.lua diff --git a/data-otservbr-global/scripts/quests/deepling_worldchange/actions_crystal.lua b/data-otservbr-global/scripts/quests/deeplings_worldchange/actions_crystal.lua similarity index 100% rename from data-otservbr-global/scripts/quests/deepling_worldchange/actions_crystal.lua rename to data-otservbr-global/scripts/quests/deeplings_worldchange/actions_crystal.lua diff --git a/data-otservbr-global/scripts/quests/deepling_worldchange/actions_crystalvortex.lua b/data-otservbr-global/scripts/quests/deeplings_worldchange/actions_crystalvortex.lua similarity index 100% rename from data-otservbr-global/scripts/quests/deepling_worldchange/actions_crystalvortex.lua rename to data-otservbr-global/scripts/quests/deeplings_worldchange/actions_crystalvortex.lua diff --git a/data-otservbr-global/scripts/quests/deepling_worldchange/actions_golden_anchor.lua b/data-otservbr-global/scripts/quests/deeplings_worldchange/actions_golden_anchor.lua similarity index 100% rename from data-otservbr-global/scripts/quests/deepling_worldchange/actions_golden_anchor.lua rename to data-otservbr-global/scripts/quests/deeplings_worldchange/actions_golden_anchor.lua diff --git a/data-otservbr-global/scripts/quests/deepling_worldchange/actions_questfirst.lua b/data-otservbr-global/scripts/quests/deeplings_worldchange/actions_questfirst.lua similarity index 100% rename from data-otservbr-global/scripts/quests/deepling_worldchange/actions_questfirst.lua rename to data-otservbr-global/scripts/quests/deeplings_worldchange/actions_questfirst.lua diff --git a/data-otservbr-global/scripts/quests/deepling_worldchange/actions_statue.lua b/data-otservbr-global/scripts/quests/deeplings_worldchange/actions_statue.lua similarity index 100% rename from data-otservbr-global/scripts/quests/deepling_worldchange/actions_statue.lua rename to data-otservbr-global/scripts/quests/deeplings_worldchange/actions_statue.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/actions_lair_entrance.lua b/data-otservbr-global/scripts/quests/the_first_dragon/actions_lair_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/actions_lair_entrance.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/actions_lair_entrance.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/actions_lever.lua b/data-otservbr-global/scripts/quests/the_first_dragon/actions_lever.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/actions_lever.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/actions_lever.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/actions_rewards.lua b/data-otservbr-global/scripts/quests/the_first_dragon/actions_rewards.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/actions_rewards.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/actions_rewards.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/actions_sacrifice_items.lua b/data-otservbr-global/scripts/quests/the_first_dragon/actions_sacrifice_items.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/actions_sacrifice_items.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/actions_sacrifice_items.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/actions_treasure_chest.lua b/data-otservbr-global/scripts/quests/the_first_dragon/actions_treasure_chest.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/actions_treasure_chest.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/actions_treasure_chest.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/movements_entrance_teleport.lua b/data-otservbr-global/scripts/quests/the_first_dragon/movements_entrance_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/movements_entrance_teleport.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/movements_entrance_teleport.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/movements_exit_teleport.lua b/data-otservbr-global/scripts/quests/the_first_dragon/movements_exit_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/movements_exit_teleport.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/movements_exit_teleport.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/movements_flower_bowl.lua b/data-otservbr-global/scripts/quests/the_first_dragon/movements_flower_bowl.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/movements_flower_bowl.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/movements_flower_bowl.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/movements_heaven_blossom.lua b/data-otservbr-global/scripts/quests/the_first_dragon/movements_heaven_blossom.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/movements_heaven_blossom.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/movements_heaven_blossom.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/movements_last_teleport.lua b/data-otservbr-global/scripts/quests/the_first_dragon/movements_last_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/movements_last_teleport.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/movements_last_teleport.lua diff --git a/data-otservbr-global/scripts/quests/first_dragon/movements_zorvorax_secrets.lua b/data-otservbr-global/scripts/quests/the_first_dragon/movements_zorvorax_secrets.lua similarity index 100% rename from data-otservbr-global/scripts/quests/first_dragon/movements_zorvorax_secrets.lua rename to data-otservbr-global/scripts/quests/the_first_dragon/movements_zorvorax_secrets.lua diff --git a/data-otservbr-global/scripts/quests/the_ice_islands/creaturescripts_husky_kill.lua b/data-otservbr-global/scripts/quests/the_ice_islands_quest/creaturescripts_husky_kill.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_ice_islands/creaturescripts_husky_kill.lua rename to data-otservbr-global/scripts/quests/the_ice_islands_quest/creaturescripts_husky_kill.lua From 25b138229b65f811ecedc4af45a95be7e37533e0 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 12:08:33 -0300 Subject: [PATCH 109/112] Duplicate folders --- .../creaturescripts_bosses_mission_depths.lua | 0 .../creaturescripts_fiery_heart.lua | 0 .../creaturescripts_lost_exile_task.lua | 0 .../creaturescripts_snail_slime_kill.lua | 0 .../creaturescripts_the_baron_from_below.lua | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename data-otservbr-global/scripts/quests/{dangerous_depths => dangerous_depth}/creaturescripts_bosses_mission_depths.lua (100%) rename data-otservbr-global/scripts/quests/{dangerous_depths => dangerous_depth}/creaturescripts_fiery_heart.lua (100%) rename data-otservbr-global/scripts/quests/{dangerous_depths => dangerous_depth}/creaturescripts_lost_exile_task.lua (100%) rename data-otservbr-global/scripts/quests/{dangerous_depths => dangerous_depth}/creaturescripts_snail_slime_kill.lua (100%) rename data-otservbr-global/scripts/quests/{dangerous_depths => dangerous_depth}/creaturescripts_the_baron_from_below.lua (100%) diff --git a/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_bosses_mission_depths.lua b/data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_bosses_mission_depths.lua similarity index 100% rename from data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_bosses_mission_depths.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_bosses_mission_depths.lua diff --git a/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_fiery_heart.lua b/data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_fiery_heart.lua similarity index 100% rename from data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_fiery_heart.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_fiery_heart.lua diff --git a/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_lost_exile_task.lua b/data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_lost_exile_task.lua similarity index 100% rename from data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_lost_exile_task.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_lost_exile_task.lua diff --git a/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_snail_slime_kill.lua b/data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_snail_slime_kill.lua similarity index 100% rename from data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_snail_slime_kill.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_snail_slime_kill.lua diff --git a/data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_the_baron_from_below.lua b/data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_the_baron_from_below.lua similarity index 100% rename from data-otservbr-global/scripts/quests/dangerous_depths/creaturescripts_the_baron_from_below.lua rename to data-otservbr-global/scripts/quests/dangerous_depth/creaturescripts_the_baron_from_below.lua From 24a2502da9d5bcc610a08dc1f9cc15572389fc51 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 12:12:54 -0300 Subject: [PATCH 110/112] Duplicate folders --- .../{postman => the_postman_missions_quest}/actions_package.lua | 0 .../{postman => the_postman_missions_quest}/actions_present.lua | 0 .../actions_waldos_posthorn.lua | 0 .../actions_bosses_killed.lua | 0 .../actions_library_entrances.lua | 0 .../globalevents_secret_library_grand_canon_dominus.lua | 0 .../globalevents_secret_library_grand_chaplain_gaunder.lua | 0 .../globalevents_secret_library_grand_commander_soeren.lua | 0 .../globalevents_secret_library_preceptor_lazare.lua | 0 .../globalevents_secret_library_spawn_damage.lua | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename data-otservbr-global/scripts/quests/{postman => the_postman_missions_quest}/actions_package.lua (100%) rename data-otservbr-global/scripts/quests/{postman => the_postman_missions_quest}/actions_present.lua (100%) rename data-otservbr-global/scripts/quests/{postman => the_postman_missions_quest}/actions_waldos_posthorn.lua (100%) rename data-otservbr-global/scripts/quests/{secret_library => the_secret_library_quest}/actions_bosses_killed.lua (100%) rename data-otservbr-global/scripts/quests/{secret_library => the_secret_library_quest}/actions_library_entrances.lua (100%) rename data-otservbr-global/scripts/quests/{secret_library => the_secret_library_quest}/globalevents_secret_library_grand_canon_dominus.lua (100%) rename data-otservbr-global/scripts/quests/{secret_library => the_secret_library_quest}/globalevents_secret_library_grand_chaplain_gaunder.lua (100%) rename data-otservbr-global/scripts/quests/{secret_library => the_secret_library_quest}/globalevents_secret_library_grand_commander_soeren.lua (100%) rename data-otservbr-global/scripts/quests/{secret_library => the_secret_library_quest}/globalevents_secret_library_preceptor_lazare.lua (100%) rename data-otservbr-global/scripts/quests/{secret_library => the_secret_library_quest}/globalevents_secret_library_spawn_damage.lua (100%) diff --git a/data-otservbr-global/scripts/quests/postman/actions_package.lua b/data-otservbr-global/scripts/quests/the_postman_missions_quest/actions_package.lua similarity index 100% rename from data-otservbr-global/scripts/quests/postman/actions_package.lua rename to data-otservbr-global/scripts/quests/the_postman_missions_quest/actions_package.lua diff --git a/data-otservbr-global/scripts/quests/postman/actions_present.lua b/data-otservbr-global/scripts/quests/the_postman_missions_quest/actions_present.lua similarity index 100% rename from data-otservbr-global/scripts/quests/postman/actions_present.lua rename to data-otservbr-global/scripts/quests/the_postman_missions_quest/actions_present.lua diff --git a/data-otservbr-global/scripts/quests/postman/actions_waldos_posthorn.lua b/data-otservbr-global/scripts/quests/the_postman_missions_quest/actions_waldos_posthorn.lua similarity index 100% rename from data-otservbr-global/scripts/quests/postman/actions_waldos_posthorn.lua rename to data-otservbr-global/scripts/quests/the_postman_missions_quest/actions_waldos_posthorn.lua diff --git a/data-otservbr-global/scripts/quests/secret_library/actions_bosses_killed.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bosses_killed.lua similarity index 100% rename from data-otservbr-global/scripts/quests/secret_library/actions_bosses_killed.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bosses_killed.lua diff --git a/data-otservbr-global/scripts/quests/secret_library/actions_library_entrances.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_library_entrances.lua similarity index 100% rename from data-otservbr-global/scripts/quests/secret_library/actions_library_entrances.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_library_entrances.lua diff --git a/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_canon_dominus.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_grand_canon_dominus.lua similarity index 100% rename from data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_canon_dominus.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_grand_canon_dominus.lua diff --git a/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_chaplain_gaunder.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_grand_chaplain_gaunder.lua similarity index 100% rename from data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_chaplain_gaunder.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_grand_chaplain_gaunder.lua diff --git a/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_commander_soeren.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_grand_commander_soeren.lua similarity index 100% rename from data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_grand_commander_soeren.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_grand_commander_soeren.lua diff --git a/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_preceptor_lazare.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_preceptor_lazare.lua similarity index 100% rename from data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_preceptor_lazare.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_preceptor_lazare.lua diff --git a/data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_spawn_damage.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_spawn_damage.lua similarity index 100% rename from data-otservbr-global/scripts/quests/secret_library/globalevents_secret_library_spawn_damage.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/globalevents_secret_library_spawn_damage.lua From 8dc80cda5f115ab2c0e6f7255d07060435cdc52f Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 12:14:33 -0300 Subject: [PATCH 111/112] Duplicate folders --- .../actions_asura_mirror.lua | 0 .../actions_basinfire.lua | 0 .../actions_bastion_access.lua | 0 .../actions_blacktp.lua | 0 .../actions_bluetp.lua | 0 .../actions_boattp.lua | 0 .../actions_bone.lua | 0 .../actions_bonedoor.lua | 0 .../actions_book.lua | 0 .../actions_corpse.lua | 0 .../actions_energybasin.lua | 0 .../actions_enterlibrary.lua | 0 .../actions_eyekey.lua | 0 .../actions_fish.lua | 0 .../actions_greentp.lua | 0 .../actions_leverdoor.lua | 0 .../actions_leverruby.lua | 0 .../actions_lotuskey.lua | 0 .../actions_peacock.lua | 0 .../actions_pinktp.lua | 0 .../actions_sealedbook.lua | 0 .../actions_skullground.lua | 0 .../actions_statuedeeplings.lua | 0 .../actions_strandhair.lua | 0 .../actions_telescop.lua | 0 .../creaturescripts_falcon_minibosses.lua | 0 .../movements_boat.lua | 0 .../movements_golem_teleport.lua | 0 .../movements_pink_teleport.lua | 0 .../movements_teleport.lua | 0 .../actions_slime_gobbler.lua | 0 .../globalevents_their_master_voice_mad_mage.lua | 0 .../movements_entrance.lua | 0 33 files changed, 0 insertions(+), 0 deletions(-) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_asura_mirror.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_basinfire.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_bastion_access.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_blacktp.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_bluetp.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_boattp.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_bone.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_bonedoor.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_book.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_corpse.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_energybasin.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_enterlibrary.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_eyekey.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_fish.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_greentp.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_leverdoor.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_leverruby.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_lotuskey.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_peacock.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_pinktp.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_sealedbook.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_skullground.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_statuedeeplings.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_strandhair.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/actions_telescop.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/creaturescripts_falcon_minibosses.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/movements_boat.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/movements_golem_teleport.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/movements_pink_teleport.lua (100%) rename data-otservbr-global/scripts/quests/{the_secret_library => the_secret_library_quest}/movements_teleport.lua (100%) rename data-otservbr-global/scripts/quests/{their_master_voice => their_masters_voice}/actions_slime_gobbler.lua (100%) rename data-otservbr-global/scripts/quests/{their_master_voice => their_masters_voice}/globalevents_their_master_voice_mad_mage.lua (100%) rename data-otservbr-global/scripts/quests/{their_master_voice => their_masters_voice}/movements_entrance.lua (100%) diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_asura_mirror.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_asura_mirror.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_asura_mirror.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_asura_mirror.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_basinfire.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_basinfire.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_basinfire.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_basinfire.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_bastion_access.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bastion_access.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_bastion_access.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bastion_access.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_blacktp.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_blacktp.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_blacktp.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_blacktp.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_bluetp.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bluetp.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_bluetp.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bluetp.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_boattp.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_boattp.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_boattp.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_boattp.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_bone.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bone.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_bone.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bone.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_bonedoor.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bonedoor.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_bonedoor.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_bonedoor.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_book.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_book.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_book.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_book.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_corpse.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_corpse.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_corpse.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_corpse.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_energybasin.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_energybasin.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_energybasin.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_energybasin.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_enterlibrary.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_enterlibrary.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_enterlibrary.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_enterlibrary.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_eyekey.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_eyekey.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_eyekey.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_eyekey.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_fish.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_fish.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_fish.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_fish.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_greentp.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_greentp.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_greentp.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_greentp.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_leverdoor.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_leverdoor.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_leverdoor.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_leverdoor.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_leverruby.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_leverruby.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_leverruby.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_leverruby.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_lotuskey.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_lotuskey.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_lotuskey.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_lotuskey.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_peacock.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_peacock.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_peacock.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_peacock.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_pinktp.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_pinktp.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_pinktp.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_pinktp.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_sealedbook.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_sealedbook.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_sealedbook.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_sealedbook.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_skullground.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_skullground.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_skullground.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_skullground.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_statuedeeplings.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_statuedeeplings.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_statuedeeplings.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_statuedeeplings.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_strandhair.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_strandhair.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_strandhair.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_strandhair.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/actions_telescop.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/actions_telescop.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/actions_telescop.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/actions_telescop.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/creaturescripts_falcon_minibosses.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/creaturescripts_falcon_minibosses.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/creaturescripts_falcon_minibosses.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/creaturescripts_falcon_minibosses.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/movements_boat.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/movements_boat.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/movements_boat.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/movements_boat.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/movements_golem_teleport.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/movements_golem_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/movements_golem_teleport.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/movements_golem_teleport.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/movements_pink_teleport.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/movements_pink_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/movements_pink_teleport.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/movements_pink_teleport.lua diff --git a/data-otservbr-global/scripts/quests/the_secret_library/movements_teleport.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/movements_teleport.lua similarity index 100% rename from data-otservbr-global/scripts/quests/the_secret_library/movements_teleport.lua rename to data-otservbr-global/scripts/quests/the_secret_library_quest/movements_teleport.lua diff --git a/data-otservbr-global/scripts/quests/their_master_voice/actions_slime_gobbler.lua b/data-otservbr-global/scripts/quests/their_masters_voice/actions_slime_gobbler.lua similarity index 100% rename from data-otservbr-global/scripts/quests/their_master_voice/actions_slime_gobbler.lua rename to data-otservbr-global/scripts/quests/their_masters_voice/actions_slime_gobbler.lua diff --git a/data-otservbr-global/scripts/quests/their_master_voice/globalevents_their_master_voice_mad_mage.lua b/data-otservbr-global/scripts/quests/their_masters_voice/globalevents_their_master_voice_mad_mage.lua similarity index 100% rename from data-otservbr-global/scripts/quests/their_master_voice/globalevents_their_master_voice_mad_mage.lua rename to data-otservbr-global/scripts/quests/their_masters_voice/globalevents_their_master_voice_mad_mage.lua diff --git a/data-otservbr-global/scripts/quests/their_master_voice/movements_entrance.lua b/data-otservbr-global/scripts/quests/their_masters_voice/movements_entrance.lua similarity index 100% rename from data-otservbr-global/scripts/quests/their_master_voice/movements_entrance.lua rename to data-otservbr-global/scripts/quests/their_masters_voice/movements_entrance.lua From 81d4c98a85d805313f6f4dc7d8951260597f6972 Mon Sep 17 00:00:00 2001 From: HT Cesta <58153179+htc16@users.noreply.github.com> Date: Sat, 10 Aug 2024 12:21:31 -0300 Subject: [PATCH 112/112] Duplicate folders --- .../creaturescripts_pythius_the_rotten_kill.lua | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename data-otservbr-global/scripts/quests/{firewalker_boots => the_hidden_city_of_beregar}/creaturescripts_pythius_the_rotten_kill.lua (100%) diff --git a/data-otservbr-global/scripts/quests/firewalker_boots/creaturescripts_pythius_the_rotten_kill.lua b/data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/creaturescripts_pythius_the_rotten_kill.lua similarity index 100% rename from data-otservbr-global/scripts/quests/firewalker_boots/creaturescripts_pythius_the_rotten_kill.lua rename to data-otservbr-global/scripts/quests/the_hidden_city_of_beregar/creaturescripts_pythius_the_rotten_kill.lua