fix(rules): exhausted -6 Dex now costs -3 AC and -3 Reflex

This commit is contained in:
2026-09-16 19:20:00 +02:00
parent 317f91a07f
commit bfe0b767a9
2 changed files with 16 additions and 1 deletions
+4 -1
View File
@@ -110,12 +110,15 @@ FATIGUED = Condition(
)
# Exhausted: -6 STR, -6 DEX; half speed; can't run or charge (CRB)
# Approximation: -3 attack, -3 damage
# Approximation: -3 attack, -3 damage (STR/DEX), -3 AC and -3 Ref (the -6 DEX
# = -3 to each, mirroring how ENTANGLED models its -4 DEX as -2 AC/-2 Ref).
EXHAUSTED = Condition(
name="exhausted",
modifiers=(
StatModifier(target="attack", value=-3),
StatModifier(target="damage", value=-3),
StatModifier(target="ac", value=-3),
StatModifier(target="ref", value=-3),
),
cant_charge=True,
speed_mult=0.5,
+12
View File
@@ -7,6 +7,7 @@ from pf1e_simulator.conditions import (
BLINDED,
DAZZLED,
ENTANGLED,
EXHAUSTED,
FATIGUED,
FLAT_FOOTED,
FRIGHTENED,
@@ -123,6 +124,17 @@ class TestConditionData:
assert ENTANGLED.cant_charge is True
assert ENTANGLED.speed_mult == 0.5
def test_exhausted_minus6_dex_gives_minus3_ac_and_ref(self) -> None:
# SRD: exhausted takes -6 to Dexterity => -3 AC and -3 Reflex
# (each -2 Dex = -1 AC/Ref, same modelling as entangled's -4 Dex).
mods = {m.target: m.value for m in EXHAUSTED.modifiers}
assert mods["attack"] == -3
assert mods["damage"] == -3
assert mods["ac"] == -3
assert mods["ref"] == -3
assert "fort" not in mods
assert "will" not in mods
def test_fatigued_flags(self) -> None:
assert FATIGUED.cant_charge is True