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 @@
-
-
+
+
+