From 1b1a203ef1cc2e95728bce69fd0d0b7d60ef1e94 Mon Sep 17 00:00:00 2001 From: Wickedness Date: Sun, 5 Jul 2026 14:37:31 +0900 Subject: [PATCH] Restrict enemy usable save keys --- scripts/verify-battle-save-normalization.mjs | 1 + src/game/state/battleSaveState.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/scripts/verify-battle-save-normalization.mjs b/scripts/verify-battle-save-normalization.mjs index 137395b..8af8b6d 100644 --- a/scripts/verify-battle-save-normalization.mjs +++ b/scripts/verify-battle-save-normalization.mjs @@ -126,6 +126,7 @@ try { ['malformed enemy usable key', { enemyUsableUseKeys: ['rebel-1:shout'] }], ['wrong battle enemy usable key', { enemyUsableUseKeys: ['other-battle:rebel-1:roar'] }], ['unknown enemy usable unit id', { enemyUsableUseKeys: ['first-battle-zhuo-commandery:ghost-unit:roar'] }], + ['ally enemy usable unit id', { enemyUsableUseKeys: ['first-battle-zhuo-commandery:liu-bei:roar'] }], ['unknown enemy usable id', { enemyUsableUseKeys: ['first-battle-zhuo-commandery:rebel-1:phantom'] }], ['duplicate enemy usable key', { enemyUsableUseKeys: ['first-battle-zhuo-commandery:rebel-1:roar', 'first-battle-zhuo-commandery:rebel-1:roar'] }], ['invalid triggered events', { triggeredBattleEvents: [1] }], diff --git a/src/game/state/battleSaveState.ts b/src/game/state/battleSaveState.ts index e7af56c..1acf2b8 100644 --- a/src/game/state/battleSaveState.ts +++ b/src/game/state/battleSaveState.ts @@ -555,6 +555,7 @@ function isEnemyUsableUseKey(value: unknown, battleId: string, options: BattleSa typeof usableId === 'string' && usableId.length > 0 && isKnownUnitId(unitId, options) && + (!options.validEnemyUnitIds || options.validEnemyUnitIds.has(unitId)) && (!options.validUsableIds || options.validUsableIds.has(usableId)) ); }