Validate battle save event keys

This commit is contained in:
2026-07-05 11:50:56 +09:00
parent 288fb839d1
commit c02a29e9cc
3 changed files with 43 additions and 13 deletions

View File

@@ -23,7 +23,8 @@ try {
weapon: new Set(['training-sword']),
armor: new Set(['cloth-armor']),
accessory: new Set(['grain-pouch'])
}
},
validTriggeredBattleEventIds: new Set(['opening', 'leader-wavering', 'objective-village-approach', 'objective-village-achieved'])
};
const validState = createValidBattleSaveState();
const patchUnit = (index, patch) => validState.units.map((unit, unitIndex) => (unitIndex === index ? { ...unit, ...patch } : unit));
@@ -83,7 +84,10 @@ try {
['unknown enemy usable unit id', { enemyUsableUseKeys: ['first-battle-zhuo-commandery:ghost-unit: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] }]
['invalid triggered events', { triggeredBattleEvents: [1] }],
['unknown triggered event', { triggeredBattleEvents: ['phantom-event'] }],
['duplicate triggered event', { triggeredBattleEvents: ['opening', 'opening'] }],
['too long triggered event', { triggeredBattleEvents: ['x'.repeat(97)] }]
];
rejectedCases.forEach(([label, patch]) => {
@@ -195,7 +199,7 @@ function createValidBattleSaveState() {
}
},
enemyUsableUseKeys: ['first-battle-zhuo-commandery:rebel-1:roar'],
triggeredBattleEvents: ['first-objective-near']
triggeredBattleEvents: ['opening']
};
}