fix(rules): fatigued -2 Dex now costs -1 AC and -1 Reflex

This commit is contained in:
2026-09-16 19:22:00 +02:00
parent bfe0b767a9
commit 6220edcfd7
2 changed files with 12 additions and 1 deletions
+4 -1
View File
@@ -99,12 +99,15 @@ SICKENED = Condition(
)
# Fatigued: -2 STR, -2 DEX; can't run or charge (CRB)
# Approximation: -1 attack (STR/DEX), -1 damage (STR)
# Approximation: -1 attack, -1 damage (STR/DEX), -1 AC and -1 Ref (the -2 DEX
# = -1 to each, same modelling as exhausted/entangled).
FATIGUED = Condition(
name="fatigued",
modifiers=(
StatModifier(target="attack", value=-1),
StatModifier(target="damage", value=-1),
StatModifier(target="ac", value=-1),
StatModifier(target="ref", value=-1),
),
cant_charge=True,
)
+8
View File
@@ -138,6 +138,14 @@ class TestConditionData:
def test_fatigued_flags(self) -> None:
assert FATIGUED.cant_charge is True
def test_fatigued_minus2_dex_gives_minus1_ac_and_ref(self) -> None:
# SRD: fatigued takes -2 to Dexterity => -1 AC and -1 Reflex.
mods = {m.target: m.value for m in FATIGUED.modifiers}
assert mods["attack"] == -1
assert mods["damage"] == -1
assert mods["ac"] == -1
assert mods["ref"] == -1
def test_flat_footed_flags(self) -> None:
assert FLAT_FOOTED.denies_dex_to_ac is True
assert FLAT_FOOTED.cant_aoo is True