fix(rules): fatigued -2 Dex now costs -1 AC and -1 Reflex
This commit is contained in:
@@ -99,12 +99,15 @@ SICKENED = Condition(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Fatigued: -2 STR, -2 DEX; can't run or charge (CRB)
|
# 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(
|
FATIGUED = Condition(
|
||||||
name="fatigued",
|
name="fatigued",
|
||||||
modifiers=(
|
modifiers=(
|
||||||
StatModifier(target="attack", value=-1),
|
StatModifier(target="attack", value=-1),
|
||||||
StatModifier(target="damage", value=-1),
|
StatModifier(target="damage", value=-1),
|
||||||
|
StatModifier(target="ac", value=-1),
|
||||||
|
StatModifier(target="ref", value=-1),
|
||||||
),
|
),
|
||||||
cant_charge=True,
|
cant_charge=True,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -138,6 +138,14 @@ class TestConditionData:
|
|||||||
def test_fatigued_flags(self) -> None:
|
def test_fatigued_flags(self) -> None:
|
||||||
assert FATIGUED.cant_charge is True
|
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:
|
def test_flat_footed_flags(self) -> None:
|
||||||
assert FLAT_FOOTED.denies_dex_to_ac is True
|
assert FLAT_FOOTED.denies_dex_to_ac is True
|
||||||
assert FLAT_FOOTED.cant_aoo is True
|
assert FLAT_FOOTED.cant_aoo is True
|
||||||
|
|||||||
Reference in New Issue
Block a user