Add area tactic effects

This commit is contained in:
2026-06-18 11:09:24 +09:00
parent 65e2508257
commit 47d02e1537
9 changed files with 314 additions and 94 deletions

View File

@@ -102,6 +102,7 @@ $validSkillTargets = @("enemy", "ally", "self", "any")
$validSkillStats = @("atk", "def", "int", "agi")
$validStatusStats = @("atk", "def", "int", "agi", "move")
$validSkillEffectTypes = @("stat_bonus", "damage_over_time", "action_lock")
$validSkillAreaShapes = @("single", "diamond")
$validDialogueSides = @("left", "right")
$validPortraitPathPattern = '^res://.+\.(png|jpg|jpeg|webp)$'
$knownFlagIds = New-Object System.Collections.Generic.HashSet[string]
@@ -774,6 +775,20 @@ function Check-Skill-Definitions() {
Fail "Skill $skillId has unknown target: $target"
}
Check-Skill-Range (Get-Prop $skill "range" 1) "Skill $skillId"
$areaShape = [string](Get-Prop $skill "area_shape" "single")
if (-not $validSkillAreaShapes.Contains($areaShape)) {
Fail "Skill $skillId has unsupported area_shape: $areaShape"
}
$areaRadius = [int](Get-Prop $skill "area_radius" 0)
if ($areaRadius -lt 0) {
Fail "Skill $skillId has invalid area_radius."
}
if ($areaShape -eq "single" -and $areaRadius -gt 0) {
Fail "Skill $skillId area_radius requires a non-single area_shape."
}
if ($areaShape -ne "single" -and $areaRadius -le 0) {
Fail "Skill $skillId area_shape requires a positive area_radius."
}
if ([int](Get-Prop $skill "mp_cost" 0) -lt 0) {
Fail "Skill $skillId has negative mp_cost."
}