fix(rules): correct P1 PF1e conformance bugs (area saves, concentration, prone, slots, helpless, nauseated)
This commit is contained in:
@@ -189,13 +189,14 @@ class TestStaggeredActionEconomy:
|
||||
assert result is False
|
||||
|
||||
|
||||
# ── Test 4: nauseated → single standard action only ───────────────────────────
|
||||
# ── Test 4: nauseated → single move action only ───────────────────────────────
|
||||
|
||||
|
||||
class TestNauseatedActionEconomy:
|
||||
"""Given: a nauseated combatant
|
||||
When: _take_turn is called
|
||||
Then: they can only take standard actions (no full attack, no charge, no move)."""
|
||||
Then: they can only take a single move action (no standard, no attack,
|
||||
no spellcasting — CRB nauseated)."""
|
||||
|
||||
def test_nauseated_no_attack_and_no_full_round(self) -> None:
|
||||
hero = _make_hero(bab=6)
|
||||
@@ -241,7 +242,7 @@ class TestParalyzedNoActions:
|
||||
assert found_wait, "paralyzed combatant should log 'wait (cannot act)'"
|
||||
|
||||
def test_paralyzed_defender_helpless_ac(self) -> None:
|
||||
"""Paralyzed target: denies_dex_to_ac=True (flat-footed) + -4 AC (helpless)."""
|
||||
"""Paralyzed is helpless: denies_dex_to_ac (flat-footed) + Dex 0 (-5)."""
|
||||
hero = _make_hero()
|
||||
foe = _make_foe()
|
||||
engine, h, f = _make_engine(hero, foe, [10, 4])
|
||||
@@ -249,8 +250,10 @@ class TestParalyzedNoActions:
|
||||
ActiveCondition(condition=PARALYZED, rounds_left=5, source="test")
|
||||
)
|
||||
result = engine.resolve_attack(h, f, hero.attacks[0])
|
||||
# Paralyzed: denies_dex_to_ac → flat_footed AC 13; plus -4 helpless → 9
|
||||
assert result.ac == 9
|
||||
# Paralyzed: denies_dex_to_ac → flat_footed AC 13; helpless Dex 0 → -5;
|
||||
# melee attacker also gains the +4 helpless bonus (roll 10 + 5 + 4 = 19).
|
||||
assert result.ac == 8
|
||||
assert result.total == 19
|
||||
|
||||
|
||||
# ── Test 6: StatModifier condition filtering ──────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user