From 3872956290154d1759c4a2142f97ed74e96681f7 Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Mon, 10 Aug 2026 11:35:12 -0500 Subject: [PATCH] restore era map quest rewards --- .../lua/Quests/A_Foremans_Best_Friend.lua | 31 +++++++++++++++++++ .../lua/Quests/A_Smudge_on_Ones_Record.lua | 27 ++++++++++++++++ .../phoenix/lua/Quests/Exit_the_Gambler.lua | 26 ++++++++++++++++ modules/phoenix/lua/Quests/Glyph_Hanger.lua | 25 +++++++++++++++ .../phoenix/lua/Quests/Go_Go_Gobmuffin.lua | 25 +++++++++++++++ .../lua/Quests/Lost_in_Translocation.lua | 25 +++++++++++++++ modules/phoenix/lua/Quests/One_Good_Deed.lua | 26 ++++++++++++++++ .../Quests/Paradise_Salvation_and_Maps.lua | 25 +++++++++++++++ .../lua/Quests/RQ4_His_Name_is_Valgeir.lua | 31 +++++++++++++++++++ modules/phoenix/lua/Quests/Rock_Bottom.lua | 31 +++++++++++++++++++ .../lua/Quests/The_Antique_Collector.lua | 26 ++++++++++++++++ modules/phoenix/lua/Quests/The_Bare_Bones.lua | 25 +++++++++++++++ .../lua/Quests/The_Flipside_of_Things.lua | 25 +++++++++++++++ modules/phoenix/lua/Quests/The_Rescue.lua | 28 +++++++++++++++++ modules/phoenix/lua/Quests/The_Sand_Charm.lua | 25 +++++++++++++++ .../lua/Quests/The_Weekly_Adventurer.lua | 25 +++++++++++++++ modules/phoenix/lua/Quests/Unforgiven.lua | 25 +++++++++++++++ 17 files changed, 451 insertions(+) create mode 100644 modules/phoenix/lua/Quests/A_Foremans_Best_Friend.lua create mode 100644 modules/phoenix/lua/Quests/A_Smudge_on_Ones_Record.lua create mode 100644 modules/phoenix/lua/Quests/Exit_the_Gambler.lua create mode 100644 modules/phoenix/lua/Quests/Glyph_Hanger.lua create mode 100644 modules/phoenix/lua/Quests/Go_Go_Gobmuffin.lua create mode 100644 modules/phoenix/lua/Quests/Lost_in_Translocation.lua create mode 100644 modules/phoenix/lua/Quests/One_Good_Deed.lua create mode 100644 modules/phoenix/lua/Quests/Paradise_Salvation_and_Maps.lua create mode 100644 modules/phoenix/lua/Quests/RQ4_His_Name_is_Valgeir.lua create mode 100644 modules/phoenix/lua/Quests/Rock_Bottom.lua create mode 100644 modules/phoenix/lua/Quests/The_Antique_Collector.lua create mode 100644 modules/phoenix/lua/Quests/The_Bare_Bones.lua create mode 100644 modules/phoenix/lua/Quests/The_Flipside_of_Things.lua create mode 100644 modules/phoenix/lua/Quests/The_Rescue.lua create mode 100644 modules/phoenix/lua/Quests/The_Sand_Charm.lua create mode 100644 modules/phoenix/lua/Quests/The_Weekly_Adventurer.lua create mode 100644 modules/phoenix/lua/Quests/Unforgiven.lua diff --git a/modules/phoenix/lua/Quests/A_Foremans_Best_Friend.lua b/modules/phoenix/lua/Quests/A_Foremans_Best_Friend.lua new file mode 100644 index 00000000000..bbf7182cf96 --- /dev/null +++ b/modules/phoenix/lua/Quests/A_Foremans_Best_Friend.lua @@ -0,0 +1,31 @@ +----------------------------------- +-- Module to remove the exp compensation given by 'A Foreman's Best Friend' when the +-- player already holds the map key item. +-- Exp was added in 2013 so it is removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_a_foremans_best_friend' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/bastok/A_Foremans_Best_Friend', function(quest) + quest.sections[2][xi.zone.PORT_BASTOK].onEventFinish[112] = function(player, csid, option, npc) + if quest:complete(player) then + player:tradeComplete() + if not player:hasKeyItem(xi.ki.MAP_OF_THE_GUSGEN_MINES) then + npcUtil.giveKeyItem(player, xi.ki.MAP_OF_THE_GUSGEN_MINES) + end + end + end + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/A_Smudge_on_Ones_Record.lua b/modules/phoenix/lua/Quests/A_Smudge_on_Ones_Record.lua new file mode 100644 index 00000000000..598d0b9c98c --- /dev/null +++ b/modules/phoenix/lua/Quests/A_Smudge_on_Ones_Record.lua @@ -0,0 +1,27 @@ +----------------------------------- +-- Module to remove exp and fame from 'A Smudge on One's Record' quest reward, and +-- correct the gil reward to 3,000. +-- Gil and exp were added to the quest reward in 2013 so exp is removed and gil corrected here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_a_smudge_on_ones_record' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/windurst/A_Smudge_on_Ones_Record', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_FEIYIN, + gil = 3000, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/Exit_the_Gambler.lua b/modules/phoenix/lua/Quests/Exit_the_Gambler.lua new file mode 100644 index 00000000000..af468f17810 --- /dev/null +++ b/modules/phoenix/lua/Quests/Exit_the_Gambler.lua @@ -0,0 +1,26 @@ +----------------------------------- +-- Module to remove exp, gil, and fame from 'Exit the Gambler' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_exit_the_gambler' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/sandoria/Exit_the_Gambler', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_KING_RANPERRES_TOMB, + title = xi.title.DAYBREAK_GAMBLER, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/Glyph_Hanger.lua b/modules/phoenix/lua/Quests/Glyph_Hanger.lua new file mode 100644 index 00000000000..5ef95d77dfa --- /dev/null +++ b/modules/phoenix/lua/Quests/Glyph_Hanger.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Module to remove exp and fame from 'Glyph Hanger' quest reward. +-- Exp was added to the quest reward in 2013 so it is removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_glyph_hanger' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/windurst/Glyph_Hanger', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_THE_HORUTOTO_RUINS, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/Go_Go_Gobmuffin.lua b/modules/phoenix/lua/Quests/Go_Go_Gobmuffin.lua new file mode 100644 index 00000000000..46f9a0b017c --- /dev/null +++ b/modules/phoenix/lua/Quests/Go_Go_Gobmuffin.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Module to remove exp and gil from 'Go Go Gobmuffin' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_go_go_gobmuffin' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/otherAreas/Go_Go_Gobmuffin', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_CAPE_RIVERNE, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/Lost_in_Translocation.lua b/modules/phoenix/lua/Quests/Lost_in_Translocation.lua new file mode 100644 index 00000000000..fe2a9df6b02 --- /dev/null +++ b/modules/phoenix/lua/Quests/Lost_in_Translocation.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Module to remove exp and gil from 'Lost in Translocation' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_lost_in_translocation' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/crystalWar/Lost_in_Translocation', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_GRAUBERG, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/One_Good_Deed.lua b/modules/phoenix/lua/Quests/One_Good_Deed.lua new file mode 100644 index 00000000000..aa50d43c2c2 --- /dev/null +++ b/modules/phoenix/lua/Quests/One_Good_Deed.lua @@ -0,0 +1,26 @@ +----------------------------------- +-- Module to remove exp, gil, and fame from 'One Good Deed' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_one_good_deed' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/windurst/One_Good_Deed', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_THE_ATTOHWA_CHASM, + title = xi.title.DEED_VERIFIER, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/Paradise_Salvation_and_Maps.lua b/modules/phoenix/lua/Quests/Paradise_Salvation_and_Maps.lua new file mode 100644 index 00000000000..f5db92d0165 --- /dev/null +++ b/modules/phoenix/lua/Quests/Paradise_Salvation_and_Maps.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Module to remove exp and gil from 'Paradise Salvation and Maps' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_paradise_salvation_and_maps' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/otherAreas/Paradise_Salvation_and_Maps', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_THE_SACRARIUM, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/RQ4_His_Name_is_Valgeir.lua b/modules/phoenix/lua/Quests/RQ4_His_Name_is_Valgeir.lua new file mode 100644 index 00000000000..f35b9d75381 --- /dev/null +++ b/modules/phoenix/lua/Quests/RQ4_His_Name_is_Valgeir.lua @@ -0,0 +1,31 @@ +----------------------------------- +-- Module to remove exp, gil, and fame from 'His Name is Valgeir' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_rq4_his_name_is_valgeir' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/otherAreas/RQ4_His_Name_is_Valgeir', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_THE_TORAIMARAI_CANAL, + } + + quest.sections[2][xi.zone.MHAURA].onEventFinish[88] = function(player, csid, option, npc) + if quest:complete(player) then + quest:setVar(player, 'DayCompleted', VanadielUniqueDay()) + end + end + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/Rock_Bottom.lua b/modules/phoenix/lua/Quests/Rock_Bottom.lua new file mode 100644 index 00000000000..18e5eecf4b1 --- /dev/null +++ b/modules/phoenix/lua/Quests/Rock_Bottom.lua @@ -0,0 +1,31 @@ +----------------------------------- +-- Module to remove the gil compensation given by 'Rock Bottom' when the player +-- already holds the map key item. +-- Gil was added in 2013 so it is removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_rock_bottom' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/ahtUrhgan/Rock_Bottom', function(quest) + quest.sections[2][xi.zone.MOUNT_ZHAYOLM].onEventFinish[9] = function(player, csid, option, npc) + if quest:complete(player) then + player:tradeComplete() + if not player:hasKeyItem(xi.ki.MAP_OF_MOUNT_ZHAYOLM) then + npcUtil.giveKeyItem(player, xi.ki.MAP_OF_MOUNT_ZHAYOLM) + end + end + end + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/The_Antique_Collector.lua b/modules/phoenix/lua/Quests/The_Antique_Collector.lua new file mode 100644 index 00000000000..8a293fa3c4d --- /dev/null +++ b/modules/phoenix/lua/Quests/The_Antique_Collector.lua @@ -0,0 +1,26 @@ +----------------------------------- +-- Module to remove exp, gil, and fame from 'The Antique Collector' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_the_antique_collector' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/jeuno/The_Antique_Collector', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_DELKFUTTS_TOWER, + title = xi.title.TRADER_OF_ANTIQUITIES, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/The_Bare_Bones.lua b/modules/phoenix/lua/Quests/The_Bare_Bones.lua new file mode 100644 index 00000000000..b0ba2617202 --- /dev/null +++ b/modules/phoenix/lua/Quests/The_Bare_Bones.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Module to remove exp and fame from 'The Bare Bones' quest reward. +-- Exp was added to the quest reward in 2013 so it is removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_the_bare_bones' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/bastok/The_Bare_Bones', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_THE_DANGRUF_WADI, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/The_Flipside_of_Things.lua b/modules/phoenix/lua/Quests/The_Flipside_of_Things.lua new file mode 100644 index 00000000000..8340695c0d6 --- /dev/null +++ b/modules/phoenix/lua/Quests/The_Flipside_of_Things.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Module to remove exp and gil from 'The Flipside of Things' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_the_flipside_of_things' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/crystalWar/The_Flipside_of_Things', function(quest) + quest.reward = { + keyItem = xi.keyItem.MAP_OF_VUNKERL_INLET, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/The_Rescue.lua b/modules/phoenix/lua/Quests/The_Rescue.lua new file mode 100644 index 00000000000..0eafcf50d23 --- /dev/null +++ b/modules/phoenix/lua/Quests/The_Rescue.lua @@ -0,0 +1,28 @@ +----------------------------------- +-- Module to remove exp from 'The Rescue' quest reward, and correct the gil +-- reward to 3,000. +-- Gil and exp were added to the quest reward in 2013 so exp is removed and gil corrected here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_the_rescue' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/otherAreas/The_Rescue', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_THE_RANGUEMONT_PASS, + gil = 3000, + title = xi.title.HONORARY_CITIZEN_OF_SELBINA, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/The_Sand_Charm.lua b/modules/phoenix/lua/Quests/The_Sand_Charm.lua new file mode 100644 index 00000000000..572394857e7 --- /dev/null +++ b/modules/phoenix/lua/Quests/The_Sand_Charm.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Module to remove exp, gil, and fame from 'The Sand Charm' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_the_sand_charm' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/otherAreas/The_Sand_Charm', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_BOSTAUNIEUX_OUBLIETTE, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/The_Weekly_Adventurer.lua b/modules/phoenix/lua/Quests/The_Weekly_Adventurer.lua new file mode 100644 index 00000000000..b6788224372 --- /dev/null +++ b/modules/phoenix/lua/Quests/The_Weekly_Adventurer.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Module to remove exp and gil from 'The Weekly Adventurer' quest reward. +-- Gil and exp were added to the quest reward in 2013 so they are removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_the_weekly_adventurer' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/crystalWar/The_Weekly_Adventurer', function(quest) + quest.reward = { + keyItem = xi.keyItem.MAP_OF_FORT_KARUGO_NARUGO, + } + end) +end) + +return m diff --git a/modules/phoenix/lua/Quests/Unforgiven.lua b/modules/phoenix/lua/Quests/Unforgiven.lua new file mode 100644 index 00000000000..c124d0134a3 --- /dev/null +++ b/modules/phoenix/lua/Quests/Unforgiven.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Module to remove exp from 'Unforgiven' quest reward. +-- Exp was added to the quest reward in 2013 so it is removed here. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_quest_unforgiven' + +if xi.module.isContentEnabled('SOA') then + return { name = moduleName } +end + +local m = Module:new(moduleName) + +m:addOverride('xi.server.onServerStart', function() + super() + + xi.module.modifyInteractionEntry('scripts/quests/otherAreas/Unforgiven', function(quest) + quest.reward = { + keyItem = xi.ki.MAP_OF_TAVNAZIA, + } + end) +end) + +return m