Skip to content

Commit

Permalink
The Explorer Society Quest - (Without The Frozen Trench) - last part
Browse files Browse the repository at this point in the history
  • Loading branch information
htc16 committed Jul 5, 2024
1 parent 182b1c8 commit f37a958
Show file tree
Hide file tree
Showing 18 changed files with 133 additions and 81 deletions.
86 changes: 43 additions & 43 deletions data-otservbr-global/lib/core/storages.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1327,6 +1327,7 @@ Storage = {
OldParchment = 51767,
DragahsSpellbook = 51768,
StealFromThieves = 51769,
WitchHouseQuest = 51770,
},
PitsOfInferno = {
-- Reserved storage from 52000 - 52019
Expand Down Expand Up @@ -1668,9 +1669,6 @@ Storage = {
Cookies = 40031,
},
},
ExplorerBrooch = {
Brooch = 40032,
},
OrcFortress = {
Rewards = {
KnightAxe = 40033,
Expand Down Expand Up @@ -1848,23 +1846,13 @@ Storage = {
FamilyBrooch = {
Brooch = 9000,
},
GiantSmithhammer = {
QuestLine = 10091,
Talon = 10092,
Hammer = 10093,
GoldCoin = 10094,
},
MadMageRoom = {
QuestLine = 10095,
APrisoner = 10096,
StarAmulet = 10097,
Hat = 10098,
StoneSkinAmulet = 10099,
},
SkullOfRatha = {
Bag1 = 10100,
Bag2 = 10101,
},
TheAnnihilator = {
Reward = 10102,
},
Expand Down Expand Up @@ -1983,36 +1971,48 @@ Storage = {
ExplorerSociety = {
QuestLine = 40629,
SpectralStone = 40630,
SkullOfRatha = 40631,
GiantSmithHammer = 40632,
JoiningTheExplorers = 40633,
TheIceDelivery = 40634,
TheButterflyHunt = 40635,
ThePlantCollection = 40636,
TheLizardUrn = 40637,
TheBonelordSecret = 40638,
TheOrcPowder = 40639,
CalassaQuest = 40640,
TheMemoryStone = 40641,
TheRuneWritings = 40642,
TheEctoplasm = 40643,
TheSpectralDress = 40644,
TheSpectralStone = 40645,
TheAstralPortals = 40646,
TheIslandofDragons = 40647,
TheIceMusic = 40648,
BansheeDoor = 40649,
BonelordsDoor = 40650,
CalassaDoor = 40651,
MemoryStoneDoor = 40652,
ElvenDoor = 40653,
OrcDoor = 40654,
ChorurnDoor = 40655,
DwacatraDoor = 40656,
FamilyBroochDoor = 40657,
TheElvenPoetry = 40658,
SpectralStoneDoor = 40659,
IceMusicDoor = 40660,
JoiningTheExplorers = 40631,
TheIceDelivery = 40632,
TheButterflyHunt = 40633,
ThePlantCollection = 40634,
TheLizardUrn = 40635,
TheBonelordSecret = 40636,
TheOrcPowder = 40637,
CalassaQuest = 40638,
TheMemoryStone = 40639,
TheRuneWritings = 40640,
TheEctoplasm = 40641,
TheSpectralDress = 40642,
TheSpectralStone = 40643,
TheAstralPortals = 40644,
TheIslandofDragons = 40645,
TheIceMusic = 40646,
BansheeDoor = 40647,
BonelordsDoor = 40648,
CalassaDoor = 40649,
MemoryStoneDoor = 40650,
ElvenDoor = 40651,
OrcDoor = 40652,
ChorurnDoor = 40653,
DwacatraDoor = 40654,
FamilyBroochDoor = 40655,
TheElvenPoetry = 40656,
SpectralStoneDoor = 40657,
IceMusicDoor = 40658,
ExplorerBrooch = 40659,
SkullOfRatha = {
Bag1 = 40660,
Bag2 = 40661,
},
GiantSmithHammer = {
Talon = 40662,
Hammer = 40663,
GoldCoin = 40664,
},
Books = {
Cyclops = 40665,
Hengis = 40666,
},
},
},
U7_8 = { -- update 7.8 - Reserved Storages 40761 - 41000
Expand Down
41 changes: 25 additions & 16 deletions data-otservbr-global/npc/angus.lua
Original file line number Diff line number Diff line change
Expand Up @@ -508,9 +508,7 @@ local function creatureSayCallback(npc, creature, type, message)
"Fine. The society is looking for new means to travel. Some of our most brilliant minds have some theories about astral travel that they want to research further ...",
"Therefore we need you to collect some ectoplasm from the corpse of a ghost. We will supply you with a collector that you can use on the body of a slain ghost ...",
"Do you think you are ready for that mission?",
npc,
creature
)
npc, creature)
npcHandler:setTopic(playerId, 28)
elseif npcHandler:getTopic(playerId) == 28 then
npcHandler:say("Good! Take this container and use it on a ghost that was recently slain. Return with the collected ectoplasm and hand me that container ...", npc, creature)
Expand All @@ -532,9 +530,7 @@ local function creatureSayCallback(npc, creature, type, message)
npcHandler:say(
"That is quite courageous. We know, it's much we are asking for. The queen of the banshees lives in the so called Ghostlands, south west of Carlin. It is rumoured that her lair is located in the deepest dungeons beneath that cursed place ...",
"Any violence will probably be futile, you will have to negotiate with her. Try to get a spectral dress from her. Good luck.",
npc,
creature
)
npc, creature)
npcHandler:setTopic(playerId, 0)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheSpectralDress, 48)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 48)
Expand All @@ -559,9 +555,7 @@ local function creatureSayCallback(npc, creature, type, message)
elseif npcHandler:getTopic(playerId) == 33 then
if player:removeItem(3207, 1) then
npcHandler:say("Poor Ratha. Thank you for returning this skull to the society. We will see to a honourable burial of Ratha.", npc, creature)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha, 1)
player:addItem(3035, 2)
player:addItem(3031, 50)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha.Bag1, 2)
npcHandler:setTopic(playerId, 0)
else
npcHandler:say("Come back when you find any information.", npc, creature)
Expand All @@ -570,9 +564,7 @@ local function creatureSayCallback(npc, creature, type, message)
elseif npcHandler:getTopic(playerId) == 34 then
if player:removeItem(12510, 1) then
npcHandler:say("Marvellous! You brought a giant smith hammer for the explorer society!", npc, creature)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer, 1)
player:addItem(3035, 2)
player:addItem(3031, 50)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer.Hamer, 2)
npcHandler:setTopic(playerId, 0)
else
npcHandler:say("No you don't.", npc, creature)
Expand All @@ -585,6 +577,13 @@ local function creatureSayCallback(npc, creature, type, message)
player:setStorageValue(TheNewFrontier.Mission05.Angus, 1)
npcHandler:setTopic(playerId, 2)
end
-- Explorer Brooch
elseif npcHandler:getTopic(playerId) == 36 then
if player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.ExplorerBrooch) == 1 and player:removeItem(4871, 1) then
npcHandler:say("It's always a sad day when we learn about the death of a member. But at least we learnt about his fate. Thank you, here is your reward.", npc, creature)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.ExplorerBrooch, 2)
npcHandler:setTopic(playerId, 0)
end
end
-- Answer Yes
-- Answer No
Expand All @@ -601,13 +600,23 @@ local function creatureSayCallback(npc, creature, type, message)
end
-- Answer No
-- Skull Of Ratha / Giant Smithhammer
elseif MsgContains(message, "skull of ratha") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha) < 1 then
npcHandler:say({ "Ratha was a great explorer and even greater ladies' man. Sadly he never returned from a visit to the amazons. Probably he is dead ...", "The society offers a substantial reward for the retrieval of Ratha or his remains. Do you have any news about Ratha?" }, npc, creature)
elseif MsgContains(message, "skull of ratha") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha.Bag1) == 1 then
npcHandler:say({
"Ratha was a great explorer and even greater ladies' man. Sadly he never returned from a visit to the amazons. Probably he is dead ...",
"The society offers a substantial reward for the retrieval of Ratha or his remains. Do you have any news about Ratha?",
}, npc, creature)
npcHandler:setTopic(playerId, 33)
elseif MsgContains(message, "giant smith hammer") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer) < 1 then
elseif MsgContains(message, "giant smith hammer") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer.Hammer) == 1 then
npcHandler:say("The explorer society is looking for a genuine giant smith hammer for our collection. It is rumoured the cyclopses of the Plains of Havoc might be using one. Did you by chance obtain such a hammer?", npc, creature)
npcHandler:setTopic(playerId, 34)
-- Skull Of Ratha / Giant Smithhammer
-- Explorer Brooch
elseif MsgContains(message, "brooch") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.ExplorerBrooch) == 1 then
npcHandler:say({
"Our members travel to far away places and cross dangerous areas, many fall prey to enemies or the land ...",
"Sometimes the personal explorer brooches can be recovered. That way we learn about the fate of our members ...",
"We offer a reward for each brooch returned to us. Have you found an explorer brooch?",
}, npc, creature)
npcHandler:setTopic(playerId, 36)
else
-- The New Frontier
if player:getStorageValue(TheNewFrontier.Questline) == 14 and player:getStorageValue(TheNewFrontier.Mission05.Angus) == 1 then
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/npc/lurik.lua
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ 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 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.Quest.U7_6.ExplorerSociety.TheIslandofDragons) == 58 and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine) == 58 then
Expand Down
33 changes: 22 additions & 11 deletions data-otservbr-global/npc/mortimer.lua
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,9 @@ local function creatureSayCallback(npc, creature, type, message)
}, npc, creature)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.TheAstralPortals, 56)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 56)
player:addItem(5021, 6) -- orichalcum pearl
player:addItem(9605, 1) -- crown backpack
player:addItem(5021, 6) -- Orichalcum pearl
player:addItem(9605, 1) -- Crown backpack
player:addItem(3035, 50) -- 50 Platinum coins
-- ASTRAL PORTALS
end
-- MISSION CHECK
Expand Down Expand Up @@ -605,9 +606,7 @@ local function creatureSayCallback(npc, creature, type, message)
elseif npcHandler:getTopic(playerId) == 33 then
if player:removeItem(3207, 1) then
npcHandler:say("Poor Ratha. Thank you for returning this skull to the society. We will see to a honourable burial of Ratha.", npc, creature)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha, 1)
player:addItem(3035, 2)
player:addItem(3031, 50)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha.Bag1, 2)
npcHandler:setTopic(playerId, 0)
else
npcHandler:say("Come back when you find any information.", npc, creature)
Expand All @@ -616,15 +615,19 @@ local function creatureSayCallback(npc, creature, type, message)
elseif npcHandler:getTopic(playerId) == 34 then
if player:removeItem(12510, 1) then
npcHandler:say("Marvellous! You brought a giant smith hammer for the explorer society!", npc, creature)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer, 1)
player:addItem(3035, 2)
player:addItem(3031, 50)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer.Hamer, 2)
npcHandler:setTopic(playerId, 0)
else
npcHandler:say("No you don't.", npc, creature)
npcHandler:setTopic(playerId, 0)
end
-- SKULL OF RATHA / GIANT SMITHHAMMER
elseif npcHandler:getTopic(playerId) == 35 then
if player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.ExplorerBrooch) == 1 and player:removeItem(4871, 1) then
npcHandler:say("It's always a sad day when we learn about the death of a member. But at least we learnt about his fate. Thank you, here is your reward.", npc, creature)
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.ExplorerBrooch, 2)
npcHandler:setTopic(playerId, 0)
end
end
-- ANSWER YES

Expand All @@ -643,17 +646,25 @@ local function creatureSayCallback(npc, creature, type, message)
-- ANSWER NO

-- SKULL OF RATHA / GIANT SMITHHAMMER
elseif MsgContains(message, "skull of ratha") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha) < 1 then
elseif MsgContains(message, "skull of ratha") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha.Bag1) == 1 then
npcHandler:say({
"Ratha was a great explorer and even greater ladies' man. Sadly he never returned from a visit to the amazons. Probably he is dead ...",
"The society offers a substantial reward for the retrieval of Ratha or his remains. Do you have any news about Ratha?",
}, npc, creature)
npcHandler:setTopic(playerId, 33)
elseif MsgContains(message, "giant smithhammer") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer) < 1 then
elseif MsgContains(message, "giant smith hammer") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer.Hammer) == 1 then
npcHandler:say("The explorer society is looking for a genuine giant smith hammer for our collection. It is rumoured the cyclopses of the Plains of Havoc might be using one. Did you by chance obtain such a hammer?", npc, creature)
npcHandler:setTopic(playerId, 34)
-- SKULL OF RATHA / GIANT SMITHHAMMER
-- Explorer Brooch
elseif MsgContains(message, "brooch") and player:getStorageValue(Storage.Quest.U7_6.ExplorerSociety.ExplorerBrooch) == 1 then
npcHandler:say({
"Our members travel to far away places and cross dangerous areas, many fall prey to enemies or the land ...",
"Sometimes the personal explorer brooches can be recovered. That way we learn about the fate of our members ...",
"We offer a reward for each brooch returned to us. Have you found an explorer brooch?",
}, npc, creature)
npcHandler:setTopic(playerId, 35)
end

return true
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ function explorerSocietyResonance.onUse(player, item, fromPosition, target, toPo
player:setStorageValue(Storage.Quest.U7_6.ExplorerSociety.QuestLine, 61)
toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE)
item:transform(7315)
player:say("You recorded the ice music.", TALKTYPE_MONSTER_SAY)
end
end
return true
Expand Down
38 changes: 31 additions & 7 deletions data-otservbr-global/startup/tables/chest.lua
Original file line number Diff line number Diff line change
Expand Up @@ -293,12 +293,12 @@ ChestUnique = {
reward = { { 3587, 1 } },
storage = Storage.Quest.U6_0.StuddedShield.Rewards.BananaPremium,
},
-- Explorer brooch quest (kazordoon)
-- The Explorer Society - Explorer brooch (kazordoon)
[6019] = {
itemId = 4240,
itemPos = { x = 32636, y = 31873, z = 10 },
reward = { { 4871, 1 } },
storage = Storage.Quest.U6_1.ExplorerBrooch.Brooch,
storage = Storage.Quest.U7_6.ExplorerSociety.ExplorerBrooch,
},
-- Orc fortress quest
-- Knight axe
Expand Down Expand Up @@ -745,21 +745,21 @@ ChestUnique = {
itemId = 2472,
itemPos = { x = 32774, y = 32253, z = 8 },
reward = { { 3034, 1 } },
storage = Storage.Quest.U7_24.GiantSmithhammer.Talon,
storage = Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer.Talon,
},
-- Giant smithhammer
[6078] = {
itemId = 2472,
itemPos = { x = 32776, y = 32253, z = 8 },
reward = { { 12510, 1 } },
storage = Storage.Quest.U7_24.GiantSmithhammer.Hammer,
storage = Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer.Hammer,
},
-- 100 gold coin
[6079] = {
itemId = 2472,
itemPos = { x = 32778, y = 32253, z = 8 },
reward = { { 3031, 100 } },
storage = Storage.Quest.U7_24.GiantSmithhammer.GoldCoin,
storage = Storage.Quest.U7_6.ExplorerSociety.GiantSmithHammer.GoldCoin,
},
-- Mad Mage room quest
-- Star amulet
Expand Down Expand Up @@ -791,7 +791,7 @@ ChestUnique = {
container = 2853,
weight = 42,
reward = { { 3026, 1 }, { 3207, 1 } },
storage = Storage.Quest.U7_24.SkullOfRatha.Bag1,
storage = Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha.Bag1,
},
-- Bag (wolf tooth chain/dwarven ring)
[6084] = {
Expand All @@ -800,7 +800,7 @@ ChestUnique = {
container = 2853,
weight = 42,
reward = { { 3012, 1 }, { 3097, 1 } },
storage = Storage.Quest.U7_24.SkullOfRatha.Bag2,
storage = Storage.Quest.U7_6.ExplorerSociety.SkullOfRatha.Bag2,
},
-- The annihilator quest
-- Demon armor
Expand Down Expand Up @@ -1023,6 +1023,30 @@ ChestUnique = {
reward = { { 3044, 2 } },
storage = Storage.Quest.U7_5.ElephantTusk,
},
-- The Explorer Society - Books
[6114] = {
itemId = 2434,
itemPos = { x = 32770, y = 32245, z = 8 },
weight = 13,
reward = { { 2821, 1 } },
storage = Storage.Quest.U7_6.ExplorerSociety.Books.Cyclops,
},
[6115] = {
itemId = 2523,
itemPos = { x = 32786, y = 32254, z = 8 },
weight = 13.00,
reward = { { 2821, 1 } },
storage = Storage.Quest.U7_6.ExplorerSociety.Books.Hengis,
},
-- Witch House Quest
[6116] = {
itemId = 2472,
itemPos = { x = 32867, y = 31909, z = 8 },
weight = 23.30,
container = 2853,
reward = { { 3027, 2 }, { 3008, 1 }, { 3031, 100 } },
storage = Storage.QuestChests.WitchHouseQuest,
},
-- Reward of others scrips files (varied rewards)
-- The First dragon Quest
-- Treasure chests (data\scripts\actions\quests\first_dragon\treasure_chests.lua)
Expand Down
Loading

0 comments on commit f37a958

Please sign in to comment.