feat(combat): add concealment miss chance, sneak attack, and Precise Shot

This commit is contained in:
2026-09-10 10:22:50 +02:00
parent a1c43e83af
commit 97f4429c2b
7 changed files with 682 additions and 40 deletions
+15 -1
View File
@@ -37,6 +37,7 @@ class Condition:
cant_aoo: bool = False
must_flee: bool = False
speed_mult: float = 1.0
miss_chance: int = 0
# ── Fear conditions ──────────────────────────────────────────────────────────
@@ -253,6 +254,19 @@ STAGGERED = Condition(
name="staggered",
)
# ── Concealment conditions ───────────────────────────────────────────────────
# Blurred (blur spell): concealment — 20% miss chance on attacks (CRB)
BLURRED = Condition(
name="blurred",
miss_chance=20,
)
# Displaced (displacement spell): total concealment — 50% miss chance (CRB)
DISPLACED = Condition(
name="displaced",
miss_chance=50,
)
# ── Registry ─────────────────────────────────────────────────────────────────
CONDITIONS_BY_NAME: dict[str, Condition] = {
c.name: c
@@ -260,6 +274,6 @@ CONDITIONS_BY_NAME: dict[str, Condition] = {
SHAKEN, SICKENED, FATIGUED, EXHAUSTED, ENTANGLED, DAZZLED,
BLINDED, DEAFENED, FLAT_FOOTED, PRONE, STUNNED, PARALYZED,
NAUSEATED, DAZED, STAGGERED, FRIGHTENED, PANICKED, COWERING,
ASLEEP, GRAPPLED, PINNED,
ASLEEP, GRAPPLED, PINNED, BLURRED, DISPLACED,
]
}