Add tactic seal action lock

This commit is contained in:
2026-06-18 09:55:54 +09:00
parent a20c099301
commit 23642a14e1
10 changed files with 181 additions and 28 deletions

View File

@@ -100,7 +100,7 @@ $validBonusStats = @("hp", "mp", "atk", "def", "int", "agi")
$validSkillKinds = @("damage", "heal", "support")
$validSkillTargets = @("enemy", "ally", "self", "any")
$validSkillStats = @("atk", "def", "int", "agi")
$validSkillEffectTypes = @("stat_bonus", "damage_over_time")
$validSkillEffectTypes = @("stat_bonus", "damage_over_time", "action_lock")
$validDialogueSides = @("left", "right")
$validPortraitPathPattern = '^res://.+\.(png|jpg|jpeg|webp)$'
$knownFlagIds = New-Object System.Collections.Generic.HashSet[string]
@@ -792,6 +792,18 @@ function Check-Skill-Definitions() {
if ([int](Get-Prop $effect "duration_turns" 1) -le 0) {
Fail "Skill $skillId damage_over_time effect must have positive duration_turns."
}
} elseif ($effectType -eq "action_lock") {
$status = [string](Get-Prop $effect "status" "")
if ([string]::IsNullOrWhiteSpace($status) -or -not ($status -match '^[a-z0-9_]+$')) {
Fail "Skill $skillId action_lock effect must have a stable status."
}
$action = [string](Get-Prop $effect "action" "")
if ($action -ne "skill") {
Fail "Skill $skillId action_lock effect currently supports only action=skill."
}
if ([int](Get-Prop $effect "duration_turns" 1) -le 0) {
Fail "Skill $skillId action_lock effect must have positive duration_turns."
}
}
}
}