fix(rules): ierlieth - bite damage_bonus -1 per sheet STR, add secondary Tail (stored +4, runtime -5 = sheet -1)

This commit is contained in:
2026-09-16 22:02:10 +02:00
parent 1c94d48803
commit b9477a2ba1
2 changed files with 40 additions and 8 deletions
+29 -8
View File
@@ -39,14 +39,35 @@
] ]
} }
], ],
"damage_bonus": 1, "damage_bonus": -1,
"crit_range": 20, "crit_range": 20,
"crit_mult": 2, "crit_mult": 2,
"reach_ft": 5, "reach_ft": 5,
"count": 1, "count": 1,
"natural": true "natural": true
} },
], {
"id": "ierlieth:tail",
"name": "Tail",
"kind": "melee",
"attack_bonus": 4,
"damage": [
{
"formula": "1d4",
"types": [
"bludgeoning"
]
}
],
"damage_bonus": 0,
"crit_range": 20,
"crit_mult": 2,
"reach_ft": 5,
"count": 1,
"natural": true,
"secondary": true
}
],
"source": "fiches_personnages/ierlieth_sheet.json", "source": "fiches_personnages/ierlieth_sheet.json",
"features": [ "features": [
"Drake (race)", "Drake (race)",
+11
View File
@@ -53,6 +53,17 @@ def test_pc_sheets_golden_spots() -> None:
assert talons.damage[0].formula == parse_dice("1d4") assert talons.damage[0].formula == parse_dice("1d4")
assert talons.damage[0].types == ["slashing"] assert talons.damage[0].types == ["slashing"]
# Sheet pins (fiches_personnages/ierlieth_sheet.json): STR 8 (-1) rides the
# bite damage, and the secondary Tail prints -1 = stored +4 with the
# engine's runtime -5.
ierlieth = load_combatant(PCS_DIR / "ierlieth.json")
i_bite, i_tail = ierlieth.attacks
assert i_bite.damage_bonus == -1
assert (i_tail.name, i_tail.attack_bonus, i_tail.secondary) == ("Tail", 4, True)
assert i_tail.damage[0].formula == parse_dice("1d4")
assert i_tail.damage[0].types == ["bludgeoning"]
assert i_tail.damage_bonus == 0
oni = load_combatant(PCS_DIR / "oni.json") oni = load_combatant(PCS_DIR / "oni.json")
assert "Pioche" in oni.notes assert "Pioche" in oni.notes
assert "Weapon" in oni.notes assert "Weapon" in oni.notes