From 70836fd79857523ec8202832b070d363a9d950ae Mon Sep 17 00:00:00 2001 From: Kipling Date: Wed, 26 Aug 2026 23:56:25 -0700 Subject: [PATCH] Assault Promotion Block Module --- .../lua/quests/promotion_quest_block.lua | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 modules/phoenix/lua/quests/promotion_quest_block.lua diff --git a/modules/phoenix/lua/quests/promotion_quest_block.lua b/modules/phoenix/lua/quests/promotion_quest_block.lua new file mode 100644 index 00000000000..06310b8e2c5 --- /dev/null +++ b/modules/phoenix/lua/quests/promotion_quest_block.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Module: Mercenary Promotion Block +-- Currently blocking promotion past Lance Corporal. To be updated per Phoenix patch release. +-- No Promotion: Captain block yet because the quest is not yet implemented, so it cannot be called. +----------------------------------- +require('modules/module_utils') +----------------------------------- +local m = Module:new('promotion_quest_block') + +-- Every quest in the chain, so a GM-flagged one goes nowhere either. +local blockedQuests = +{ + 'scripts/quests/ahtUrhgan/Promotion_Corporal', + 'scripts/quests/ahtUrhgan/Promotion_Sergeant', + 'scripts/quests/ahtUrhgan/Promotion_Sergeant_Major', + 'scripts/quests/ahtUrhgan/Promotion_Chief_Sergeant', + 'scripts/quests/ahtUrhgan/Promotion_Second_Lieutenant', + 'scripts/quests/ahtUrhgan/Promotion_First_Lieutenant', +} + +m:addOverride('xi.server.onServerStart', function() + super() + + for _, questPath in ipairs(blockedQuests) do + xi.module.modifyInteractionEntry(questPath, function(quest) + -- Every section, not just the offer. First Lieutenant is offered by a trigger area with no NPC key. + for _, section in ipairs(quest.sections) do + section.check = function() + return false + end + end + end) + end +end)