Clamp battle save unit core stats

This commit is contained in:
2026-07-05 13:48:19 +09:00
parent deaec059ee
commit fe5a3edfd2
2 changed files with 12 additions and 4 deletions

View File

@@ -92,6 +92,9 @@ const maxBattleEffectTurns = 9;
const maxBattleBuffBonus = 99;
const maxBattleStatusPower = 99;
const maxBattleUnitStatValue = 999999;
const maxBattleUnitHp = 9999;
const maxBattleUnitAttack = 9999;
const maxBattleUnitMove = 99;
const maxStatusKindsPerUnit = 2;
const maxBattleItemStockById: Record<string, number> = {
bean: 3,
@@ -273,11 +276,11 @@ function isSavedBattleUnitState(value: unknown, options: BattleSaveValidationOpt
if (
!isValidCharacterProgress(value.level, value.exp) ||
!isNonNegativeFiniteNumber(value.hp) ||
!isPositiveInteger(value.maxHp) ||
!isIntegerInRange(value.hp, 0, maxBattleUnitHp) ||
!isIntegerInRange(value.maxHp, 1, maxBattleUnitHp) ||
Number(value.hp) > Number(value.maxHp) ||
!isFiniteNumber(value.attack) ||
!isNonNegativeFiniteNumber(value.move) ||
!isIntegerInRange(value.attack, 0, maxBattleUnitAttack) ||
!isIntegerInRange(value.move, 0, maxBattleUnitMove) ||
!Number.isInteger(value.x) ||
!Number.isInteger(value.y)
) {