feat(conditions): add blinded/invisible/helpless/fascinated combat rules
This commit is contained in:
@@ -217,6 +217,20 @@ ASLEEP = Condition(
|
||||
)
|
||||
|
||||
|
||||
# Helpless: helpless for all intents, treated as Dex 0 (loses Dex to AC),
|
||||
# can't act; melee attackers gain +4 (engine logic in resolve_attack) (CRB)
|
||||
HELPLESS = Condition(
|
||||
name="helpless",
|
||||
denies_dex_to_ac=True,
|
||||
cant_act=True,
|
||||
)
|
||||
|
||||
# Fascinated: distracted, takes no actions other than paying attention (CRB)
|
||||
FASCINATED = Condition(
|
||||
name="fascinated",
|
||||
cant_act=True,
|
||||
)
|
||||
|
||||
# Grappled: -4 Dex, -2 attack, no movement, no AoO, can't cast without concentration (CRB)
|
||||
GRAPPLED = Condition(
|
||||
name="grappled",
|
||||
@@ -267,6 +281,13 @@ DISPLACED = Condition(
|
||||
miss_chance=50,
|
||||
)
|
||||
|
||||
# Invisible: total concealment against attacks targeting it; the attacker-side
|
||||
# +2 on attack rolls and the target's lost Dex bonus are engine logic (CRB)
|
||||
INVISIBLE = Condition(
|
||||
name="invisible",
|
||||
miss_chance=50,
|
||||
)
|
||||
|
||||
# ── Registry ─────────────────────────────────────────────────────────────────
|
||||
CONDITIONS_BY_NAME: dict[str, Condition] = {
|
||||
c.name: c
|
||||
@@ -275,5 +296,6 @@ CONDITIONS_BY_NAME: dict[str, Condition] = {
|
||||
BLINDED, DEAFENED, FLAT_FOOTED, PRONE, STUNNED, PARALYZED,
|
||||
NAUSEATED, DAZED, STAGGERED, FRIGHTENED, PANICKED, COWERING,
|
||||
ASLEEP, GRAPPLED, PINNED, BLURRED, DISPLACED,
|
||||
HELPLESS, FASCINATED, INVISIBLE,
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user