fix(rules): correct P2/P3 PF1e conformance bugs (flanking, touch, blinded, disabled, death, maneuvers, DR, sneak)

This commit is contained in:
2026-09-10 21:45:50 +02:00
parent 5afe495c4a
commit 9aee4f6f6b
15 changed files with 934 additions and 134 deletions
+4 -2
View File
@@ -233,11 +233,13 @@ def test_stand_up_removes_trip_applied_prone() -> None:
hero = make_state(_combatant("hero"), "players", (0, 0))
foe = make_state(_combatant("foe"), "monsters", (0, 1))
eng = CombatEngine(
ScriptedRng([10, 4, 3]), make_grid(), [hero, foe],
ScriptedRng([1, 10, 4, 3]), make_grid(), [hero, foe],
policy=lambda _e, _s: _WAIT, round_cap=1,
)
eng._current_round = 1
# Real trip handler: d20 10 + CMB 1 = 11 vs CMD 11 -> prone (active_conditions).
# The prone hero threatens, so the trip provokes its AoO first (d20 1 ->
# natural 1 miss); then the real trip handler: d20 10 + CMB 1 = 11 vs
# CMD 11 -> prone (active_conditions).
eng._execute_maneuver(foe, hero, "trip")
assert "trip vs hero d20=10+1=11 CMD 11 -> SUCCESS (prone)" in "\n".join(
eng._transcript