diff --git a/data-otservbr-global/lib/core/quests.lua b/data-otservbr-global/lib/core/quests.lua index 487ad1b8e22..f4f620642b5 100644 --- a/data-otservbr-global/lib/core/quests.lua +++ b/data-otservbr-global/lib/core/quests.lua @@ -6588,10 +6588,11 @@ if not Quests then storageId = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline, missionId = 10454, startValue = 1, - endValue = 2, + endValue = 3, states = { [1] = "It is said that an ancient order of knights once resided in Edron. The knights disappeared a long time ago but their abandoned outpost is still there. The place may yet hold some surprises.", [2] = "You defeated Grand Master Oberon in mortal combat. The Falcon Order may have lost its glory a long time ago but you are just getting started.", + [3] = "Congratulations you completed this mission.", }, }, [5] = { diff --git a/data-otservbr-global/lib/core/storages.lua b/data-otservbr-global/lib/core/storages.lua index ae82273769e..decd9de6b74 100644 --- a/data-otservbr-global/lib/core/storages.lua +++ b/data-otservbr-global/lib/core/storages.lua @@ -2616,6 +2616,15 @@ Storage = { OberonHeal = 46019, LastBossMsgInterval = 46020, OberonSay = 46021, + ChestsTimer = { + Coast = 46022, + Island = 46023, + ThroneHall = 46024, + Shortcut = 46026, + LowerBastion = 46027, + UndergroundBastion = 46028, + Key0909 = 46029, + }, }, Darashia = { Questline = 46022, diff --git a/data-otservbr-global/monster/humans/the_flaming_orchid.lua b/data-otservbr-global/monster/bosses/the_flaming_orchid.lua similarity index 100% rename from data-otservbr-global/monster/humans/the_flaming_orchid.lua rename to data-otservbr-global/monster/bosses/the_flaming_orchid.lua diff --git a/data-otservbr-global/npc/dedoras.lua b/data-otservbr-global/npc/dedoras.lua index b6f8053f8f0..ee2d426b57a 100644 --- a/data-otservbr-global/npc/dedoras.lua +++ b/data-otservbr-global/npc/dedoras.lua @@ -91,6 +91,11 @@ local function creatureSayCallback(npc, creature, type, message) return false end + local currentStorage = player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.LibraryPermission) + if currentStorage < 0 then + currentStorage = 0 + end + if MsgContains(message, "search") then npcHandler:say({ "I gathered some lore on my own, but I desperately need more information that you might provide me. ...", @@ -102,10 +107,6 @@ local function creatureSayCallback(npc, creature, type, message) "This is ...", "An astonishing find to say the least! I'm certain it will help the efforts of accessing the library a lot!", }, npc, creature) - local currentStorage = player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.LibraryPermission) - if currentStorage < 0 then - currentStorage = 0 - end startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.LibraryPermission, currentStorage + 1) startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.MoTA.Questline, 8) elseif player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.MoTA.Questline) < 1 then @@ -118,10 +119,6 @@ local function creatureSayCallback(npc, creature, type, message) elseif MsgContains(message, "fishmen") then if player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.LiquidDeath.Questline) == 7 then npcHandler:say("You brought incredible news. This book proves an invaluable clue!", npc, creature) - local currentStorage = player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.LibraryPermission) - if currentStorage < 0 then - currentStorage = 0 - end startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.LibraryPermission, currentStorage + 1) startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.LiquidDeath.Questline, 8) elseif player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.LiquidDeath.Questline) < 1 then @@ -132,18 +129,20 @@ local function creatureSayCallback(npc, creature, type, message) startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.LiquidDeath.Questline, 1) end elseif MsgContains(message, "order") then - npcHandler:say({ - "Our world has seen many noble knights and orders throughout the centuries. Most of them vanished a long time ago but only few under such mysterious circumstances as the Order of the Falcon. ...", - "This noble alliance of honourable knights once resided in Edron to serve the king. Legend has it they vanished practically over night. Rumor has it their disappearance is connected to a forbidden book.", - }, npc, creature) - startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline, 1) + if player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline) == 2 then + npcHandler:say("You brought incredible news. This book proves an invaluable clue!", npc, creature) + startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.LibraryPermission, currentStorage + 1) + startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline, 3) + elseif player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline) < 1 then + npcHandler:say({ + "Our world has seen many noble knights and orders throughout the centuries. Most of them vanished a long time ago but only few under such mysterious circumstances as the Order of the Falcon. ...", + "This noble alliance of honourable knights once resided in Edron to serve the king. Legend has it they vanished practically over night. Rumor has it their disappearance is connected to a forbidden book.", + }, npc, creature) + startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline, 1) + end elseif MsgContains(message, "asuri") then if player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.Asuras.Questline) == 6 then npcHandler:say("This is incredible! Thank you so much for digging out that hint!", npc, creature) - local currentStorage = player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.LibraryPermission) - if currentStorage < 0 then - currentStorage = 0 - end startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.LibraryPermission, currentStorage + 1) startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.Asuras.Questline, 7) elseif player:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.Asuras.Questline) < 1 then @@ -152,7 +151,6 @@ local function creatureSayCallback(npc, creature, type, message) "A lucky survivor told me about a portal at the very top of the palace that may lead to another asuri hideout.", }, npc, creature) startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.Asuras.Questline, 1) - startMission(player:getId(), Storage.Quest.U11_80.TheSecretLibrary.Asuras.FlammingOrchid, 1) end elseif MsgContains(message, "isle") then npcHandler:say("Talk to Captain Charles in Port Hope. He told me that he once ran ashore on a small island where he discovered a small ruin. The architecture was like nothing he had seen before.", npc, creature) diff --git a/data-otservbr-global/scripts/quests/roshamuul_quest/actions_mixture.lua b/data-otservbr-global/scripts/quests/roshamuul_quest/actions_mixture.lua index 9ba1ecf88cb..cb2e30d97c8 100644 --- a/data-otservbr-global/scripts/quests/roshamuul_quest/actions_mixture.lua +++ b/data-otservbr-global/scripts/quests/roshamuul_quest/actions_mixture.lua @@ -4,6 +4,7 @@ local buckets = { } local lowerRoshamuulMixtune = Action() + function lowerRoshamuulMixtune.onUse(player, item, fromPosition, target, toPosition, isHotkey) if (target == nil) or not target:isItem() then return false diff --git a/data-otservbr-global/scripts/quests/the_secret_library_quest/creaturescripts_kill.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/creaturescripts_kill.lua index d0024cbd5f4..9f1fae8c931 100644 --- a/data-otservbr-global/scripts/quests/the_secret_library_quest/creaturescripts_kill.lua +++ b/data-otservbr-global/scripts/quests/the_secret_library_quest/creaturescripts_kill.lua @@ -2,50 +2,46 @@ local defaultTime = 20 local creaturescripts_library_bosses = CreatureEvent("killingLibrary") -function creaturescripts_library_bosses.onDeath(player, creature) - if not player:isPlayer() then - return true - end - - if not creature:isMonster() or creature:getMaster() then - return true - end - - local monsterStorages = { - ["grand commander soeren"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.killingBosses, value = 1 }, - ["preceptor lazare"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.killingBosses, value = 2 }, - ["grand chaplain gaunder"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.killingBosses, value = 3 }, - ["grand canon dominus"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.killingBosses, value = 4 }, - ["dazed leaf golem"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.killingBosses, value = 5 }, - ["grand master oberon"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.killingBosses, value = 6, achievements = { "Millennial Falcon", "Master Debater" }, lastBoss = true }, - ["brokul"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.LiquidDeath.Questline, value = 7 }, - ["the flaming orchid"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.Asuras.flammingOrchid, value = 1 }, - } - - local monsterName = creature:getName():lower() - local monsterStorage = monsterStorages[monsterName] - - if monsterStorage then - for playerid, damage in pairs(creature:getDamageMap()) do - local p = Player(playerid) - if p then - if p:getStorageValue(monsterStorage.stg) < monsterStorage.value then - p:setStorageValue(monsterStorage.stg, monsterStorage.value) - end - if monsterStorage.achievements then - for i = 1, #monsterStorage.achievements do - p:addAchievement(monsterStorage.achievements[i]) - end - end - if monsterStorage.lastBoss then - if p:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline) < 2 then - p:setStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline, 2) - end - end - end - end - end - return true +function creaturescripts_library_bosses.onDeath(creature, corpse, killer, mostDamageKiller, lastHitUnjustified) + if not creature:isMonster() or creature:getMaster() then + return true + end + + local monsterStorages = { + ["grand commander soeren"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.KillingBosses, value = 1 }, + ["preceptor lazare"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.KillingBosses, value = 2 }, + ["grand chaplain gaunder"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.KillingBosses, value = 3 }, + ["grand canon dominus"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.KillingBosses, value = 4 }, + ["dazed leaf golem"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.KillingBosses, value = 5 }, + ["grand master oberon"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.KillingBosses, value = 6, achievements = { "Millennial Falcon", "Master Debater" }, lastBoss = true }, + ["brokul"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.LiquidDeath.Questline, value = 7 }, + ["the flaming orchid"] = { stg = Storage.Quest.U11_80.TheSecretLibrary.Asuras.FlammingOrchid, value = 1 }, + } + + local monsterName = creature:getName():lower() + local monsterStorage = monsterStorages[monsterName] + + if monsterStorage then + for playerid, damage in pairs(creature:getDamageMap()) do + local p = Player(playerid) + if p then + if p:getStorageValue(monsterStorage.stg) < monsterStorage.value then + p:setStorageValue(monsterStorage.stg, monsterStorage.value) + end + if monsterStorage.achievements then + for i = 1, #monsterStorage.achievements do + p:addAchievement(monsterStorage.achievements[i]) + end + end + if monsterStorage.lastBoss then + if p:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline) < 2 then + p:setStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.Questline, 2) + end + end + end + end + end + return true end creaturescripts_library_bosses:register() diff --git a/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_doors.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_doors.lua index 9ea613e2d29..179fa89fb37 100644 --- a/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_doors.lua +++ b/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_doors.lua @@ -1,15 +1,31 @@ local doors = { - [1] = { doorPosition = Position(33376, 31323, 2), value = -1 }, - [2] = { doorPosition = Position(33376, 31335, 3), value = 1 }, + [1] = { doorPosition = Position(33376, 31335, 3), value = 1 }, + [2] = { doorPosition = Position(33371, 31349, 4), value = 2 }, [3] = { doorPosition = Position(33376, 31349, 4), value = 2 }, - [4] = { doorPosition = Position(33363, 31346, 7), value = 4 }, + [4] = { doorPosition = Position(33375, 31346, 5), value = 2 }, + [5] = { doorPosition = Position(33363, 31346, 7), value = 4 }, + [6] = { doorPosition = Position(33366, 31343, 7), value = 4 }, } local boats = { - [1] = { boatPosition = Position(33373, 31309, 7), value = 3, toPosition = Position(33382, 31292, 7), message = "A small island emerges out of the mist as you row towards a tiny light inside a dark, forehoding chapel." }, - [2] = { boatPosition = Position(33381, 31294, 7), value = 3, toPosition = Position(33374, 31309, 7), message = "Your heart lightens as you return from the gloomy isle." }, - [3] = { boatPosition = Position(33344, 31348, 7), value = 3, toPosition = Position(33326, 31352, 7) }, - [4] = { boatPosition = Position(33328, 31352, 7), value = 3, toPosition = Position(33346, 31348, 7) }, + [1] = { + boatPosition = Position(33373, 31309, 7), value = 3, + toPosition = Position(33382, 31292, 7), + message = "A small island emerges out of the mist as you row towards a tiny light inside a dark, forehoding chapel." + }, + [2] = { + boatPosition = Position(33382, 31294, 7), value = 3, + toPosition = Position(33374, 31310, 7), + message = "Your heart lightens as you return from the gloomy isle." + }, + [3] = { + boatPosition = Position(33344, 31348, 7), value = 3, + toPosition = Position(33326, 31352, 7) + }, + [4] = { + boatPosition = Position(33328, 31352, 7), value = 3, + toPosition = Position(33346, 31348, 7) + }, } local actions_falcon_doors = Action() diff --git a/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_entrance.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_entrance.lua new file mode 100644 index 00000000000..dfb93dd84ad --- /dev/null +++ b/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_entrance.lua @@ -0,0 +1,28 @@ +local actions_entrance = Action() + +function actions_entrance.onUse(player, item, fromPosition, target, toPosition, isHotkey) + if (target == nil) or not target:isItem() then + return false + end + + local currentTime = os.date("*t") + local currentMinute = currentTime.min + + local isNightTime = (currentMinute >= 45 or currentMinute < 15) + + if isNightTime then + if target:getPosition() == Position(33201, 31763, 1) then + player:teleportTo(Position(33356, 31309, 4), true) + player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Once more you mix the chalk with a drop of your blood and a bit of water and renew the symbol on the floor...") + item:transform(2873, 0) + end + else + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You can only use this entrance during the night.") + end + + return true +end + +actions_entrance:id(28468) +actions_entrance:register() diff --git a/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_oberonLever.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_oberonLever.lua index 59d0d65519d..c6e6841f714 100644 --- a/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_oberonLever.lua +++ b/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/actions_oberonLever.lua @@ -5,15 +5,15 @@ function actions_falcon_oberon_lever.onUse(player, item, fromPosition, itemEx, t local playersTable = {} local fromPosition_ = Position(33356, 31311, 9) local toPosition_ = Position(33376, 31328, 9) - local exitPosition = Position(33297, 31286, 9) + local exitPosition = Position(33297, 31285, 9) if item:getId() == 2772 then if doCheckBossRoom(player:getId(), bossName, fromPosition_, toPosition_) then - for i = 33358, 33362, 1 do - local newpos = Position(i, 31342, 9) + for i = 33362, 33366, 1 do + local newpos = Position(i, 31344, 9) local nplayer = Tile(newpos):getTopCreature() if nplayer and nplayer:isPlayer() then - nplayer:teleportTo(Position(33365, 31323, 9), true) + nplayer:teleportTo(Position(33364, 31322, 9), true) nplayer:getPosition():sendMagicEffect(CONST_ME_TELEPORT) table.insert(playersTable, nplayer:getId()) nplayer:setStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.OberonTimer, os.time() + 20 * 60 * 60) @@ -24,10 +24,10 @@ function actions_falcon_oberon_lever.onUse(player, item, fromPosition, itemEx, t oberon:setStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.OberonHeal, 0) end Game.setStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.OberonSay, -1) - Game.createNpc("Oberon's Spite", Position(33363, 31321, 9)) - Game.createNpc("Oberon's Ire", Position(33368, 31321, 9)) - Game.createNpc("Oberon's Bile", Position(33363, 31317, 9)) - Game.createNpc("Oberon's Hate", Position(33368, 31317, 9)) + Game.createNpc("Oberon's Spite", Position(33361, 31320, 9)) + Game.createNpc("Oberon's Ire", Position(33367, 31320, 9)) + Game.createNpc("Oberon's Bile", Position(33361, 31316, 9)) + Game.createNpc("Oberon's Hate", Position(33367, 31316, 9)) addEvent(kickPlayersAfterTime, 30 * 60 * 1000, playersTable, fromPosition_, toPosition_, exitPosition) end end diff --git a/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/movements_bossEntrance.lua b/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/movements_bossEntrance.lua index 6e4c94edc39..0f000b94e7c 100644 --- a/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/movements_bossEntrance.lua +++ b/data-otservbr-global/scripts/quests/the_secret_library_quest/the_order_of_the_falcon/movements_bossEntrance.lua @@ -1,6 +1,6 @@ local config = { entrance = Position(33310, 31325, 8), - exit = Position(33330, 31334, 9), + exit = Position(33329, 31333, 9), } local movements_falcon_bossEntrance = MoveEvent() @@ -29,7 +29,7 @@ function movements_falcon_bossEntrance.onStepIn(creature, item, position, fromPo local blockedPositions = { Position(33328, 31352, 7), Position(33373, 31309, 7), - Position(33381, 31294, 7), + Position(33382, 31294, 7), Position(33344, 31348, 7), } if creature then @@ -37,7 +37,7 @@ function movements_falcon_bossEntrance.onStepIn(creature, item, position, fromPo return true else if creature:getStorageValue(Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.OberonTimer) <= os.time() then - creature:teleportTo(Position(33359, 31340, 9), true) + creature:teleportTo(Position(33363, 31341, 9), true) else creature:teleportTo(fromPosition, true) creature:sendCancelMessage("You are still exhausted from your last battle.") diff --git a/data-otservbr-global/startup/tables/chest.lua b/data-otservbr-global/startup/tables/chest.lua index cff17d3665c..ef4f0cea1b0 100644 --- a/data-otservbr-global/startup/tables/chest.lua +++ b/data-otservbr-global/startup/tables/chest.lua @@ -181,15 +181,14 @@ ChestUnique = { reward = { { 2970, 1 } }, storage = Storage.Quest.Key.ID3899, }, - --[[ [5012] = { + -- The Secret Library Quest + [5012] = { isKey = true, itemId = 23740, itemPos = { x = 33377, y = 31321, z = 1 }, reward = { { 2969, 1 } }, storage = Storage.Quest.Key.ID0909, - timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastionChestsTimer.Key0909, - time = 24, -- hour - }, ]] + }, -- Bear Room Quest (rookgaard) key 4601 [5013] = { isKey = true, @@ -1080,12 +1079,13 @@ ChestUnique = { weight = 15.00, storage = Storage.Quest.U8_54.TomesOfKnowledge.TopTower, }, - --[[[6105] = { + -- The Secret Library Quest + [6105] = { itemId = 23741, itemPos = { x = 33352, y = 31318, z = 7 }, randomReward = { { 9081, 1 }, { 28821, 1 }, { 28823, 1 }, { 9058, 1 }, { 6299, 1 }, { 3052, 1 }, { 3035, 10 } }, reward = { { nil, nil } }, - timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastionChestsTimer.Coast, + timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.ChestsTimer.Coast, time = 24, -- hour }, [6106] = { @@ -1093,7 +1093,7 @@ ChestUnique = { itemPos = { x = 33384, y = 31285, z = 7 }, randomReward = { { 9081, 1 }, { 28821, 1 }, { 28823, 1 }, { 9058, 1 }, { 6299, 1 }, { 3052, 1 }, { 3035, 10 } }, reward = { { nil, nil } }, - timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastionChestsTimer.Island, + timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.ChestsTimer.Island, time = 24, -- hour }, [6107] = { @@ -1101,7 +1101,7 @@ ChestUnique = { itemPos = { x = 33366, y = 31323, z = 5 }, randomReward = { { 9081, 1 }, { 28821, 1 }, { 28823, 1 }, { 9058, 1 }, { 6299, 1 }, { 3052, 1 }, { 3035, 10 } }, reward = { { nil, nil } }, - timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastionChestsTimer.ThroneHall, + timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.ChestsTimer.ThroneHall, time = 24, -- hour }, [6108] = { @@ -1109,7 +1109,7 @@ ChestUnique = { itemPos = { x = 33374, y = 31340, z = 4 }, randomReward = { { 9081, 1 }, { 28821, 1 }, { 28823, 1 }, { 9058, 1 }, { 6299, 1 }, { 3052, 1 }, { 3035, 10 } }, reward = { { nil, nil } }, - timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastionChestsTimer.Shortcut, + timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.ChestsTimer.Shortcut, time = 24, -- hour }, [6109] = { @@ -1117,7 +1117,7 @@ ChestUnique = { itemPos = { x = 33324, y = 31268, z = 8 }, randomReward = { { 9081, 1 }, { 28821, 1 }, { 28823, 1 }, { 9058, 1 }, { 6299, 1 }, { 3052, 1 }, { 3035, 10 } }, reward = { { nil, nil } }, - timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastionChestsTimer.LowerBastion, + timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.ChestsTimer.LowerBastion, time = 24, -- hour }, [6110] = { @@ -1125,9 +1125,9 @@ ChestUnique = { itemPos = { x = 33308, y = 31304, z = 9 }, randomReward = { { 9081, 1 }, { 28821, 1 }, { 28823, 1 }, { 9058, 1 }, { 6299, 1 }, { 3052, 1 }, { 3035, 10 } }, reward = { { nil, nil } }, - timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastionChestsTimer.UndergroundBastion, + timerStorage = Storage.Quest.U11_80.TheSecretLibrary.FalconBastion.ChestsTimer.UndergroundBastion, time = 24, -- hour - }, ]] + }, -- Blood Herb Quest [6111] = { useKV = true, diff --git a/data-otservbr-global/startup/tables/item.lua b/data-otservbr-global/startup/tables/item.lua index 88d556fba64..2a2fecc7ec2 100644 --- a/data-otservbr-global/startup/tables/item.lua +++ b/data-otservbr-global/startup/tables/item.lua @@ -614,7 +614,7 @@ ItemAction = { { x = 32959, y = 32679, z = 2 }, }, }, - [4914] = { -- saida + [4914] = { itemId = false, itemPos = { { x = 32886, y = 32772, z = 9 }, @@ -626,7 +626,7 @@ ItemAction = { { x = 32882, y = 32820, z = 11 }, }, }, - [4915] = { -- entrada + [4915] = { itemId = false, itemPos = { { x = 32860, y = 32798, z = 11 }, @@ -636,6 +636,35 @@ ItemAction = { { x = 32808, y = 32765, z = 10 }, }, }, + [4920] = { + itemId = false, + itemPos = { + { x = 33376, y = 31335, z = 3 }, + { x = 33371, y = 31349, z = 4 }, + { x = 33376, y = 31349, z = 4 }, + { x = 33375, y = 31346, z = 5 }, + { x = 33363, y = 31346, z = 7 }, + { x = 33366, y = 31343, z = 7 }, + { x = 33310, y = 31325, z = 8 }, + { x = 33329, y = 31333, z = 9 }, + }, + }, + [4921] = { + itemId = false, + itemPos = { + { x = 33373, y = 31309, z = 7 }, + { x = 33382, y = 31294, z = 7 }, + { x = 33344, y = 31348, z = 7 }, + { x = 33328, y = 31352, z = 7 }, + { x = 33298, y = 31287, z = 9 }, + { x = 33297, y = 31287, z = 9 }, + { x = 33296, y = 31287, z = 9 }, + { x = 33296, y = 31288, z = 9 }, + { x = 33298, y = 31288, z = 9 }, + { x = 33298, y = 31289, z = 9 }, + { x = 33297, y = 31289, z = 9 }, + }, + }, -- Cults of Tibia Quest [5522] = { itemId = 25687, diff --git a/data-otservbr-global/startup/tables/lever.lua b/data-otservbr-global/startup/tables/lever.lua index 39648ba45d2..e7db97ab859 100644 --- a/data-otservbr-global/startup/tables/lever.lua +++ b/data-otservbr-global/startup/tables/lever.lua @@ -29,6 +29,12 @@ LeverAction = { { x = 33218, y = 32096, z = 10 }, }, }, + [4922] = { + itemId = 2772, + itemPos = { + { x = 33364, y = 31343, z = 9 }, + }, + }, -- Cults of Tibia Quest [5500] = { itemId = 8911, diff --git a/data-otservbr-global/world/otservbr-monster.xml b/data-otservbr-global/world/otservbr-monster.xml index 80c5f5d4ff3..424e4210b80 100644 --- a/data-otservbr-global/world/otservbr-monster.xml +++ b/data-otservbr-global/world/otservbr-monster.xml @@ -1780,6 +1780,9 @@ + + + @@ -2116,6 +2119,9 @@ + + + @@ -3314,12 +3320,15 @@ - - + + + + + @@ -9595,6 +9604,7 @@ + @@ -14604,6 +14614,9 @@ + + + @@ -51892,8 +51905,9 @@ - - + + +