fix(combat): resolve touch attacks against touch AC and firearms

This commit is contained in:
2026-09-05 11:28:46 +02:00
parent 8e2753e67a
commit 31d970dd5f
6 changed files with 358 additions and 27 deletions
+4 -1
View File
@@ -237,7 +237,9 @@ class AttackSpec(_FrozenModel):
`count` captures repeated identical swings ("2x Talons") without listing
the same entry twice. `reach_ft` applies to melee/touch kinds,
`range_increment_ft` to ranged/touch kinds.
`range_increment_ft` to ranged/touch kinds. `firearm` marks a ranged-touch
weapon (gun) whose shots resolve against touch AC within the first range
increment and against full AC beyond it.
"""
id: str
@@ -251,6 +253,7 @@ class AttackSpec(_FrozenModel):
reach_ft: int = 5
range_increment_ft: int | None = None
count: int = Field(default=1, ge=1)
firearm: bool = False
class DamageReduction(_FrozenModel):