From 433c9fe79ab78eec0b0aec95d17e5b9646e79bdc Mon Sep 17 00:00:00 2001 From: Tim Date: Wed, 5 Nov 2025 15:36:30 +0100 Subject: [PATCH 1/9] First pass at selling equipped weapon when buying weapon. --- disasm/code/common/menus/shop/shopactions.asm | 49 ++++++++++++++++++- .../scripting/text/gamescript-standard.txt | 2 +- disasm/sf2patches.asm | 1 + 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/disasm/code/common/menus/shop/shopactions.asm b/disasm/code/common/menus/shop/shopactions.asm index 13b0ff948..548083768 100644 --- a/disasm/code/common/menus/shop/shopactions.asm +++ b/disasm/code/common/menus/shop/shopactions.asm @@ -99,6 +99,39 @@ byte_2013C: lea ((GENERIC_LIST-$1000000)).w,a1 move.w ((TARGETS_LIST_LENGTH-$1000000)).w,d7 subq.b #1,d7 + + if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + ; Check if weapon equippable (this is checked again later) + move.w selectedItem(a6),d1 + jsr j_GetEquipmentType + cmpi.w #EQUIPMENTTYPE_WEAPON,d2 + bne.s loc_GEW01 + move.w selectedItem(a6),d1 + move.w member(a6),d0 + jsr j_IsWeaponOrRingEquippable + bcs.s loc_GEW01 + bra.s loc_2015E ; Weapon is not equipable so return to base game flow +loc_GEW01: + ; Check if character already has a weapon equipped + jsr GetEquippedWeapon + cmpi.w #-1,d1 + beq.s loc_2015E ; No current weapon equipped + move.w member(a6),((DIALOGUE_NAME_INDEX_1-$1000000)).w + jsr j_GetItemDefinitionAddress + move.w selectedItem(a6),((DIALOGUE_NAME_INDEX_1-$1000000)).w + txt 406 ; "{NAME} is already{N}holding a {N}{ITEM}.{N}Do you want to sell it first?{N}{W2}" + move.w itemPrice(a6),d0 + mulu.w #ITEMSELLPRICE_MULTIPLIER,d0 + lsr.l #ITEMSELLPRICE_BITSHIFTRIGHT,d0 + txt 178 ; "I'll pay {#} gold coins{N}for it, OK?" + jsr j_alt_YesNoPrompt + cmpi.w #0,d0 + beq.s loc_2015E + txt 179 ; "{CLEAR}Too bad.{W2}" + bra.w byte_2013C ; @SelectRecipient_Buy + + endif + loc_2015E: move.b (a0)+,(a1)+ @@ -108,7 +141,11 @@ loc_2015E: move.b #ITEM_SUBMENU_ACTION_USE,((CURRENT_ITEM_SUBMENU_ACTION-$1000000)).w jsr j_ExecuteMembersListScreenOnItemSummaryPage cmpi.w #-1,d0 - beq.s byte_20118 + if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + beq.w byte_20118 + else + beq.s byte_20118 + endif move.w d0,member(a6) moveq #0,d1 jsr j_GetItemBySlotAndHeldItemsNumber @@ -118,8 +155,16 @@ loc_2015E: txt 168 ; "Oops! {NAME}'s hands{N}are full! To anybody else?" jsr j_alt_YesNoPrompt cmpi.w #0,d0 + if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + beq.w byte_2013C ; @SelectRecipient_Buy + else beq.s byte_2013C ; @SelectRecipient_Buy - bra.w byte_20118 + endif + if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + bra.w byte_20118 + else + bra.s byte_20118 + endif loc_201AC: move.w selectedItem(a6),d1 diff --git a/disasm/data/scripting/text/gamescript-standard.txt b/disasm/data/scripting/text/gamescript-standard.txt index 2f1721687..0fe64f958 100644 --- a/disasm/data/scripting/text/gamescript-standard.txt +++ b/disasm/data/scripting/text/gamescript-standard.txt @@ -404,7 +404,7 @@ 0193={NAME} opened the chest.{W2}{CLEAR} 0194={NAME} investigated{N}the vase.{W2}{CLEAR} 0195={NAME} looked in{N}the barrel.{W2}{CLEAR} -0196=x +0196={NAME} is already{N}holding a {ITEM}.{N}Do you want to sell it first?{N}{W2} 0197=x 0198=But, it was empty.{W1} 0199=It was dark inside.{W1} diff --git a/disasm/sf2patches.asm b/disasm/sf2patches.asm index ea73be346..a79241f5e 100644 --- a/disasm/sf2patches.asm +++ b/disasm/sf2patches.asm @@ -92,6 +92,7 @@ SKIP_TITLE_SCREEN: equ 0 SKIP_WITCH_DIALOGUE: equ 0 UNLOCK_RENAME_CHARACTERS: equ 1 ; Hold Start while confirming the leader's name to rename all characters when starting a new game. UNLOCK_SOUND_TEST: equ 1 ; Hold Up while entering Configuration Mode; there is no need to have set Game Completed save flag. +AUTO_SELL_WEAPONS: equ 1 ; When buying a weapon, adds an option to first sell the currently equipped weapon. ; Misc. features From 4444d92ff66392865805c82f467a80e2a721e9c5 Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 6 Nov 2025 21:40:39 +0100 Subject: [PATCH 2/9] Successfully selling weapon before buying selected. --- disasm/code/common/menus/shop/shopactions.asm | 80 +++++++++---------- 1 file changed, 37 insertions(+), 43 deletions(-) diff --git a/disasm/code/common/menus/shop/shopactions.asm b/disasm/code/common/menus/shop/shopactions.asm index 548083768..668dc5c6e 100644 --- a/disasm/code/common/menus/shop/shopactions.asm +++ b/disasm/code/common/menus/shop/shopactions.asm @@ -98,40 +98,7 @@ byte_2013C: lea ((TARGETS_LIST-$1000000)).w,a0 lea ((GENERIC_LIST-$1000000)).w,a1 move.w ((TARGETS_LIST_LENGTH-$1000000)).w,d7 - subq.b #1,d7 - - if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) - ; Check if weapon equippable (this is checked again later) - move.w selectedItem(a6),d1 - jsr j_GetEquipmentType - cmpi.w #EQUIPMENTTYPE_WEAPON,d2 - bne.s loc_GEW01 - move.w selectedItem(a6),d1 - move.w member(a6),d0 - jsr j_IsWeaponOrRingEquippable - bcs.s loc_GEW01 - bra.s loc_2015E ; Weapon is not equipable so return to base game flow -loc_GEW01: - ; Check if character already has a weapon equipped - jsr GetEquippedWeapon - cmpi.w #-1,d1 - beq.s loc_2015E ; No current weapon equipped - move.w member(a6),((DIALOGUE_NAME_INDEX_1-$1000000)).w - jsr j_GetItemDefinitionAddress - move.w selectedItem(a6),((DIALOGUE_NAME_INDEX_1-$1000000)).w - txt 406 ; "{NAME} is already{N}holding a {N}{ITEM}.{N}Do you want to sell it first?{N}{W2}" - move.w itemPrice(a6),d0 - mulu.w #ITEMSELLPRICE_MULTIPLIER,d0 - lsr.l #ITEMSELLPRICE_BITSHIFTRIGHT,d0 - txt 178 ; "I'll pay {#} gold coins{N}for it, OK?" - jsr j_alt_YesNoPrompt - cmpi.w #0,d0 - beq.s loc_2015E - txt 179 ; "{CLEAR}Too bad.{W2}" - bra.w byte_2013C ; @SelectRecipient_Buy - - endif - + subq.b #1,d7 loc_2015E: move.b (a0)+,(a1)+ @@ -141,12 +108,35 @@ loc_2015E: move.b #ITEM_SUBMENU_ACTION_USE,((CURRENT_ITEM_SUBMENU_ACTION-$1000000)).w jsr j_ExecuteMembersListScreenOnItemSummaryPage cmpi.w #-1,d0 - if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) - beq.w byte_20118 - else beq.s byte_20118 - endif move.w d0,member(a6) + + if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + ; Check if weapon is equippable (checks again later in normal flow) + ;jsr j_IsWeaponOrRingEquippable + ;bcs.s loc_GEW02 ; Weapon is not equipable so return to base game flow +loc_GEW01: + + ; Check if character already has a weapon equipped + move.w member(a6),d0 + move.w selectedItem(a6),d6 + jsr GetEquippedWeapon + cmpi.w #-1,d1 + beq.s loc_GEW02 ; No current weapon equipped + move.w d2,itemSlot(a6) + move.w d1,selectedItem(a6) + move.w member(a6),((DIALOGUE_NAME_INDEX_1-$1000000)).w + move.w selectedItem(a6),((DIALOGUE_NAME_INDEX_2-$1000000)).w + txt 406 ; "{NAME} is already{N}holding a {N}{ITEM}.{N}Do you want to sell it first?{N}{W2}" + ; Jump to sell flow and use sentinel to get back to loc_GEW02 + clr.w rareItemFlag(a6) + move.w selectedItem(a6),d1 + move.b #200,d7 ; Set senetinel value + bra.w loc_GEW03 +loc_GEW02: + endif + + move.w d6,selectedItem(a6) moveq #0,d1 jsr j_GetItemBySlotAndHeldItemsNumber cmpi.w #COMBATANT_ITEMSLOTS,d2 @@ -157,13 +147,10 @@ loc_2015E: cmpi.w #0,d0 if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) beq.w byte_2013C ; @SelectRecipient_Buy - else - beq.s byte_2013C ; @SelectRecipient_Buy - endif - if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) bra.w byte_20118 else - bra.s byte_20118 + beq.s byte_2013C ; @SelectRecipient_Buy + bra.s byte_20118 endif loc_201AC: @@ -283,6 +270,9 @@ loc_202F4: move.w d1,itemSlot(a6) move.w d2,selectedItem(a6) move.w selectedItem(a6),d1 + if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) +loc_GEW03: + endif jsr j_GetItemDefinitionAddress move.w ITEMDEF_OFFSET_PRICE(a0),itemPrice(a6) move.l ITEMDEF_OFFSET_TYPE(a0),itemTypeBitfield(a6) @@ -368,6 +358,10 @@ byte_20436: byte_2043A: clsTxt + if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + cmp.b #200,d7 ; Senetinel value to indicate that player is selling before buying + beq.w loc_GEW02 + endif bra.w byte_202D2 @CheckChoice_Repair: From 9fd8a5746f6501383e505106caeb7952cbb30ef6 Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 6 Nov 2025 21:42:13 +0100 Subject: [PATCH 3/9] Renamed the patch "Sell_before_Buy" --- disasm/code/common/menus/shop/shopactions.asm | 8 ++++---- disasm/sf2patches.asm | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/disasm/code/common/menus/shop/shopactions.asm b/disasm/code/common/menus/shop/shopactions.asm index 668dc5c6e..95ed09009 100644 --- a/disasm/code/common/menus/shop/shopactions.asm +++ b/disasm/code/common/menus/shop/shopactions.asm @@ -111,7 +111,7 @@ loc_2015E: beq.s byte_20118 move.w d0,member(a6) - if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + if (STANDARD_BUILD&SELL_BEFORE_BUY=1) ; Check if weapon is equippable (checks again later in normal flow) ;jsr j_IsWeaponOrRingEquippable ;bcs.s loc_GEW02 ; Weapon is not equipable so return to base game flow @@ -145,7 +145,7 @@ loc_GEW02: txt 168 ; "Oops! {NAME}'s hands{N}are full! To anybody else?" jsr j_alt_YesNoPrompt cmpi.w #0,d0 - if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + if (STANDARD_BUILD&SELL_BEFORE_BUY=1) beq.w byte_2013C ; @SelectRecipient_Buy bra.w byte_20118 else @@ -270,7 +270,7 @@ loc_202F4: move.w d1,itemSlot(a6) move.w d2,selectedItem(a6) move.w selectedItem(a6),d1 - if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + if (STANDARD_BUILD&SELL_BEFORE_BUY=1) loc_GEW03: endif jsr j_GetItemDefinitionAddress @@ -358,7 +358,7 @@ byte_20436: byte_2043A: clsTxt - if (STANDARD_BUILD&AUTO_SELL_WEAPONS=1) + if (STANDARD_BUILD&SELL_BEFORE_BUY=1) cmp.b #200,d7 ; Senetinel value to indicate that player is selling before buying beq.w loc_GEW02 endif diff --git a/disasm/sf2patches.asm b/disasm/sf2patches.asm index a79241f5e..818ffc905 100644 --- a/disasm/sf2patches.asm +++ b/disasm/sf2patches.asm @@ -92,7 +92,7 @@ SKIP_TITLE_SCREEN: equ 0 SKIP_WITCH_DIALOGUE: equ 0 UNLOCK_RENAME_CHARACTERS: equ 1 ; Hold Start while confirming the leader's name to rename all characters when starting a new game. UNLOCK_SOUND_TEST: equ 1 ; Hold Up while entering Configuration Mode; there is no need to have set Game Completed save flag. -AUTO_SELL_WEAPONS: equ 1 ; When buying a weapon, adds an option to first sell the currently equipped weapon. +SELL_BEFORE_BUY: equ 1 ; When buying a weapon, adds an option to first sell the currently equipped weapon (before checking if item slots are full). ; Misc. features From 385c8d2e5caf8d9ba7b74d64abeb8e95a58bca47 Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 7 Nov 2025 17:59:48 +0100 Subject: [PATCH 4/9] Fixed crash bug when don't chose to sell weapon first. --- disasm/code/common/menus/shop/shopactions.asm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/disasm/code/common/menus/shop/shopactions.asm b/disasm/code/common/menus/shop/shopactions.asm index 95ed09009..a12f4455f 100644 --- a/disasm/code/common/menus/shop/shopactions.asm +++ b/disasm/code/common/menus/shop/shopactions.asm @@ -117,9 +117,13 @@ loc_2015E: ;bcs.s loc_GEW02 ; Weapon is not equipable so return to base game flow loc_GEW01: + move.w member(a6),d5 + move.w selectedItem(a6),d6 + + ; TODO Check if new item is equippable + ; Check if character already has a weapon equipped move.w member(a6),d0 - move.w selectedItem(a6),d6 jsr GetEquippedWeapon cmpi.w #-1,d1 beq.s loc_GEW02 ; No current weapon equipped @@ -133,10 +137,16 @@ loc_GEW01: move.w selectedItem(a6),d1 move.b #200,d7 ; Set senetinel value bra.w loc_GEW03 +loc_GEW05: + move.w d5,member(a6) + move.w d6,selectedItem(a6) + move.w member(a6),d0 + jsr j_GetItemDefinitionAddress + move.w ITEMDEF_OFFSET_PRICE(a0),itemPrice(a6) + move.l ITEMDEF_OFFSET_TYPE(a0),itemTypeBitfield(a6) loc_GEW02: endif - move.w d6,selectedItem(a6) moveq #0,d1 jsr j_GetItemBySlotAndHeldItemsNumber cmpi.w #COMBATANT_ITEMSLOTS,d2 @@ -360,7 +370,7 @@ byte_2043A: clsTxt if (STANDARD_BUILD&SELL_BEFORE_BUY=1) cmp.b #200,d7 ; Senetinel value to indicate that player is selling before buying - beq.w loc_GEW02 + beq.w loc_GEW05 endif bra.w byte_202D2 @CheckChoice_Repair: From 0aa6393ca5020e0f31f96930ca98963a52493008 Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 7 Nov 2025 18:00:12 +0100 Subject: [PATCH 5/9] Items are sold and purchased at the correct price. --- disasm/code/common/menus/shop/shopactions.asm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/disasm/code/common/menus/shop/shopactions.asm b/disasm/code/common/menus/shop/shopactions.asm index a12f4455f..c64221ff1 100644 --- a/disasm/code/common/menus/shop/shopactions.asm +++ b/disasm/code/common/menus/shop/shopactions.asm @@ -138,9 +138,11 @@ loc_GEW01: move.b #200,d7 ; Set senetinel value bra.w loc_GEW03 loc_GEW05: + move.w d5,member(a6) move.w d6,selectedItem(a6) move.w member(a6),d0 + move.w selectedItem(a6),d1z jsr j_GetItemDefinitionAddress move.w ITEMDEF_OFFSET_PRICE(a0),itemPrice(a6) move.l ITEMDEF_OFFSET_TYPE(a0),itemTypeBitfield(a6) From 8586dd0ff86b4f87b66aa63583439590df42bef3 Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 7 Nov 2025 18:15:27 +0100 Subject: [PATCH 6/9] Checking if weapon is equippable before checking to sell item. --- disasm/code/common/menus/shop/shopactions.asm | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/disasm/code/common/menus/shop/shopactions.asm b/disasm/code/common/menus/shop/shopactions.asm index c64221ff1..b3e3f1177 100644 --- a/disasm/code/common/menus/shop/shopactions.asm +++ b/disasm/code/common/menus/shop/shopactions.asm @@ -108,45 +108,49 @@ loc_2015E: move.b #ITEM_SUBMENU_ACTION_USE,((CURRENT_ITEM_SUBMENU_ACTION-$1000000)).w jsr j_ExecuteMembersListScreenOnItemSummaryPage cmpi.w #-1,d0 - beq.s byte_20118 + beq.w byte_20118 move.w d0,member(a6) if (STANDARD_BUILD&SELL_BEFORE_BUY=1) - ; Check if weapon is equippable (checks again later in normal flow) - ;jsr j_IsWeaponOrRingEquippable - ;bcs.s loc_GEW02 ; Weapon is not equipable so return to base game flow -loc_GEW01: - move.w member(a6),d5 move.w selectedItem(a6),d6 - ; TODO Check if new item is equippable + ; Check if new item is equippable (this is checked again later) + move.w selectedItem(a6),d1 + jsr j_GetEquipmentType + cmpi.w #EQUIPMENTTYPE_WEAPON,d2 + bne.w loc_SBB03 ; Not even a weapon so jump to regular flow + move.w selectedItem(a6),d1 + move.w member(a6),d0 + jsr j_IsWeaponOrRingEquippable + bcc.s loc_SBB01 ; Not equippable by character so jump to regular flow ; Check if character already has a weapon equipped move.w member(a6),d0 jsr GetEquippedWeapon cmpi.w #-1,d1 - beq.s loc_GEW02 ; No current weapon equipped + beq.s loc_SBB01 ; No current weapon equipped move.w d2,itemSlot(a6) move.w d1,selectedItem(a6) move.w member(a6),((DIALOGUE_NAME_INDEX_1-$1000000)).w move.w selectedItem(a6),((DIALOGUE_NAME_INDEX_2-$1000000)).w txt 406 ; "{NAME} is already{N}holding a {N}{ITEM}.{N}Do you want to sell it first?{N}{W2}" - ; Jump to sell flow and use sentinel to get back to loc_GEW02 + ; Jump to sell flow and use sentinel to get back to loc_SBB02 clr.w rareItemFlag(a6) move.w selectedItem(a6),d1 move.b #200,d7 ; Set senetinel value - bra.w loc_GEW03 -loc_GEW05: + bra.w loc_SBB02 +loc_SBB01: move.w d5,member(a6) move.w d6,selectedItem(a6) move.w member(a6),d0 - move.w selectedItem(a6),d1z + move.w selectedItem(a6),d1 jsr j_GetItemDefinitionAddress move.w ITEMDEF_OFFSET_PRICE(a0),itemPrice(a6) move.l ITEMDEF_OFFSET_TYPE(a0),itemTypeBitfield(a6) -loc_GEW02: + move.w #0,d3 +loc_SBB03: endif moveq #0,d1 @@ -283,7 +287,7 @@ loc_202F4: move.w d2,selectedItem(a6) move.w selectedItem(a6),d1 if (STANDARD_BUILD&SELL_BEFORE_BUY=1) -loc_GEW03: +loc_SBB02: endif jsr j_GetItemDefinitionAddress move.w ITEMDEF_OFFSET_PRICE(a0),itemPrice(a6) @@ -372,7 +376,7 @@ byte_2043A: clsTxt if (STANDARD_BUILD&SELL_BEFORE_BUY=1) cmp.b #200,d7 ; Senetinel value to indicate that player is selling before buying - beq.w loc_GEW05 + beq.w loc_SBB01 endif bra.w byte_202D2 @CheckChoice_Repair: From a310418adae8bfd16f4c059f132eef74197d42af Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 7 Nov 2025 19:04:08 +0100 Subject: [PATCH 7/9] Fixed bug introduced to basic build. --- disasm/code/common/menus/shop/shopactions.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/disasm/code/common/menus/shop/shopactions.asm b/disasm/code/common/menus/shop/shopactions.asm index b3e3f1177..bd8baa685 100644 --- a/disasm/code/common/menus/shop/shopactions.asm +++ b/disasm/code/common/menus/shop/shopactions.asm @@ -166,7 +166,7 @@ loc_SBB03: bra.w byte_20118 else beq.s byte_2013C ; @SelectRecipient_Buy - bra.s byte_20118 + bra.w byte_20118 endif loc_201AC: From ce1a5f043137435972e8a59e24f36be2d6bce975 Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 7 Nov 2025 19:17:39 +0100 Subject: [PATCH 8/9] Fixed: Branch call was not wrapped in patch flag. --- disasm/code/common/menus/shop/shopactions.asm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/disasm/code/common/menus/shop/shopactions.asm b/disasm/code/common/menus/shop/shopactions.asm index bd8baa685..faf50cf30 100644 --- a/disasm/code/common/menus/shop/shopactions.asm +++ b/disasm/code/common/menus/shop/shopactions.asm @@ -108,10 +108,10 @@ loc_2015E: move.b #ITEM_SUBMENU_ACTION_USE,((CURRENT_ITEM_SUBMENU_ACTION-$1000000)).w jsr j_ExecuteMembersListScreenOnItemSummaryPage cmpi.w #-1,d0 + + if (STANDARD_BUILD&SELL_BEFORE_BUY=1) beq.w byte_20118 move.w d0,member(a6) - - if (STANDARD_BUILD&SELL_BEFORE_BUY=1) move.w member(a6),d5 move.w selectedItem(a6),d6 @@ -151,6 +151,9 @@ loc_SBB01: move.l ITEMDEF_OFFSET_TYPE(a0),itemTypeBitfield(a6) move.w #0,d3 loc_SBB03: + else + beq.s byte_20118 + move.w d0,member(a6) endif moveq #0,d1 From 61d9e202e0c28f350ec21e541271a989c5674eb3 Mon Sep 17 00:00:00 2001 From: Tim Date: Sat, 8 Nov 2025 09:50:45 +0100 Subject: [PATCH 9/9] Removed extra newline from new dialog line. --- disasm/data/scripting/text/gamescript-standard.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/disasm/data/scripting/text/gamescript-standard.txt b/disasm/data/scripting/text/gamescript-standard.txt index 0fe64f958..71ff342fe 100644 --- a/disasm/data/scripting/text/gamescript-standard.txt +++ b/disasm/data/scripting/text/gamescript-standard.txt @@ -404,7 +404,7 @@ 0193={NAME} opened the chest.{W2}{CLEAR} 0194={NAME} investigated{N}the vase.{W2}{CLEAR} 0195={NAME} looked in{N}the barrel.{W2}{CLEAR} -0196={NAME} is already{N}holding a {ITEM}.{N}Do you want to sell it first?{N}{W2} +0196={NAME} is already{N}holding a {ITEM}.{N}Do you want to sell it first?{W2} 0197=x 0198=But, it was empty.{W1} 0199=It was dark inside.{W1}