From aba8a3899e24553aba42d2f1c5d27f6b43164cfc Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Wed, 8 Apr 2026 02:16:22 -0400 Subject: [PATCH] [lua, sql] Fixes COP 7-1 full inventory message and NPC --- scripts/missions/cop/7_1_Chains_and_Bonds.lua | 21 +++++++++++++++++++ .../zones/Lufaise_Meadows/DefaultActions.lua | 1 + scripts/zones/Lufaise_Meadows/IDs.lua | 1 + sql/npc_list.sql | 2 +- 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/scripts/missions/cop/7_1_Chains_and_Bonds.lua b/scripts/missions/cop/7_1_Chains_and_Bonds.lua index 1b9a2b1370c..1bf67ffb212 100644 --- a/scripts/missions/cop/7_1_Chains_and_Bonds.lua +++ b/scripts/missions/cop/7_1_Chains_and_Bonds.lua @@ -6,6 +6,8 @@ -- Walnut Door : !pos 111 -41 41 26 -- Sewer Entrance : !pos 28 -12 44 26 ----------------------------------- +local lufaiseID = zones[xi.zone.LUFAISE_MEADOWS] +----------------------------------- local mission = Mission:new(xi.mission.log_id.COP, xi.mission.id.cop.CHAINS_AND_BONDS) @@ -23,6 +25,15 @@ mission.sections = [xi.zone.LUFAISE_MEADOWS] = { + ['qm3'] = + { + onTrigger = function(player, npc) + if mission:getVar(player, 'RingStashed') == 1 then + return mission:progressEvent(114) + end + end, + }, + onZoneIn = function(player, prevZone) if mission:getVar(player, 'Status') == 0 then return 111 @@ -39,7 +50,17 @@ mission.sections = onEventFinish = { [111] = function(player, csid, option, npc) + if player:getFreeSlotsCount() == 0 then + player:messageSpecial(lufaiseID.text.NO_ROOM_COME_BACK_LATER, xi.item.DUCAL_GUARDS_RING) + mission:setVar(player, 'RingStashed', 1) + elseif npcUtil.giveItem(player, xi.item.DUCAL_GUARDS_RING) then + mission:setVar(player, 'Status', 1) + end + end, + + [114] = function(player, csid, option, npc) if npcUtil.giveItem(player, xi.item.DUCAL_GUARDS_RING) then + mission:setVar(player, 'RingStashed', 0) mission:setVar(player, 'Status', 1) end end, diff --git a/scripts/zones/Lufaise_Meadows/DefaultActions.lua b/scripts/zones/Lufaise_Meadows/DefaultActions.lua index 7b14ef7e77e..89fdad14148 100644 --- a/scripts/zones/Lufaise_Meadows/DefaultActions.lua +++ b/scripts/zones/Lufaise_Meadows/DefaultActions.lua @@ -5,4 +5,5 @@ return { ['qm_hard_days_knight'] = { messageSpecial = ID.text.YOU_CAN_SEE_FOR_MALMS }, ['qm_bitter_past'] = { messageSpecial = ID.text.NOTHING_OUT_OF_ORDINARY }, ['qm_baumesel'] = { messageSpecial = ID.text.NOTHING_OUT_OF_ORDINARY }, + ['qm_chains_and_bonds'] = { messageSpecial = ID.text.NOTHING_OUT_OF_ORDINARY }, } diff --git a/scripts/zones/Lufaise_Meadows/IDs.lua b/scripts/zones/Lufaise_Meadows/IDs.lua index e1998c0d422..d9016632ab0 100644 --- a/scripts/zones/Lufaise_Meadows/IDs.lua +++ b/scripts/zones/Lufaise_Meadows/IDs.lua @@ -23,6 +23,7 @@ zones[xi.zone.LUFAISE_MEADOWS] = CONQUEST = 7237, -- You've earned conquest points! FISHING_MESSAGE_OFFSET = 7571, -- You can't fish here. KI_STOLEN = 7700, -- The has been stolen! + NO_ROOM_COME_BACK_LATER = 7716, -- You do not have any room in your bag, so you hide the in the grass nearby. Come and retrieve it later. LOGGING_IS_POSSIBLE_HERE = 7748, -- Logging is possible here if you have . SURVEY_THE_SURROUNDINGS = 7755, -- You survey the surroundings but see nothing out of the ordinary. MURDEROUS_PRESENCE = 7756, -- Wait, you sense a murderous presence...! diff --git a/sql/npc_list.sql b/sql/npc_list.sql index 12844a931a3..2b438d886d5 100644 --- a/sql/npc_list.sql +++ b/sql/npc_list.sql @@ -1748,7 +1748,7 @@ INSERT INTO `npc_list` VALUES (16875850,'Makki-Chebukki','Makki-Chebukki',242,40 INSERT INTO `npc_list` VALUES (16875851,'Kukki-Chebukki','Kukki-Chebukki',231,416.572,1.847,-44.016,0,50,50,0,0,0,6,27,0x0000A40500000000000000000000000000000000,32,'COP',1); INSERT INTO `npc_list` VALUES (16875852,'Cherukiki','Cherukiki',218,417.736,1.899,-44.264,0,50,50,0,0,0,6,27,0x0000A30500000000000000000000000000000000,32,'COP',1); INSERT INTO `npc_list` VALUES (16875853,'qm_hard_days_knight','???',47,-38.605,-9.022,-290.700,1,50,50,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16875854,'qm3','???',1,393.250,-0.058,-78.170,1,50,50,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16875854,'qm_chains_and_bonds','???',1,393.250,-0.058,-78.170,1,50,50,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',0); INSERT INTO `npc_list` VALUES (16875855,'Sanctia','Sanctia',112,427.261,-1.798,-23.102,0,50,50,0,1,0,6,25,0x01000F0239100220553054406650006000700000,32,'COP',1); INSERT INTO `npc_list` VALUES (16875856,'Novice_Moogle','Novice Moogle',123,428.758,-1.660,-23.237,0,50,50,0,1,0,6,25,0x0000520000000000000000000000000000000000,32,'COP',1); INSERT INTO `npc_list` VALUES (16875857,'NPC[150]','NPC',0,0.000,0.000,0.000,0,50,50,0,0,0,2,3,0x0000320000000000000000000000000000000000,0,NULL,1);