fix(rules): jeanne + esha mount hooves 1d4 (SRD light horse) marked natural, add Jeanne's sheet Bite as secondary
This commit is contained in:
@@ -32,7 +32,7 @@
|
|||||||
"attack_bonus": 8,
|
"attack_bonus": 8,
|
||||||
"damage": [
|
"damage": [
|
||||||
{
|
{
|
||||||
"formula": "1d6",
|
"formula": "1d4",
|
||||||
"types": ["bludgeoning"]
|
"types": ["bludgeoning"]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -40,9 +40,11 @@
|
|||||||
"crit_range": 20,
|
"crit_range": 20,
|
||||||
"crit_mult": 2,
|
"crit_mult": 2,
|
||||||
"reach_ft": 10,
|
"reach_ft": 10,
|
||||||
"count": 2
|
"count": 2,
|
||||||
|
"natural": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"notes": "Light-horse mount shared with Esha's sheet: hooves are 1d4 bludgeoning (SRD Bestiary horse, light - 2 hooves 1d4), natural attacks. No bite encoded: the SRD light horse has no bite attack and the Foundry sheet lists no mount bite (unlike Jeanne's sheet, which does).",
|
||||||
"source": "fiches_personnages/esha_sheet.json (mount)",
|
"source": "fiches_personnages/esha_sheet.json (mount)",
|
||||||
"features": [
|
"features": [
|
||||||
"Combat Reflexes",
|
"Combat Reflexes",
|
||||||
|
|||||||
+22
-2
@@ -32,7 +32,7 @@
|
|||||||
"attack_bonus": 8,
|
"attack_bonus": 8,
|
||||||
"damage": [
|
"damage": [
|
||||||
{
|
{
|
||||||
"formula": "1d6",
|
"formula": "1d4",
|
||||||
"types": ["bludgeoning"]
|
"types": ["bludgeoning"]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -40,7 +40,27 @@
|
|||||||
"crit_range": 20,
|
"crit_range": 20,
|
||||||
"crit_mult": 2,
|
"crit_mult": 2,
|
||||||
"reach_ft": 10,
|
"reach_ft": 10,
|
||||||
"count": 2
|
"count": 2,
|
||||||
|
"natural": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "jeanne:bite",
|
||||||
|
"name": "Bite",
|
||||||
|
"kind": "melee",
|
||||||
|
"attack_bonus": 8,
|
||||||
|
"damage": [
|
||||||
|
{
|
||||||
|
"formula": "1d3",
|
||||||
|
"types": ["piercing"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"damage_bonus": 2,
|
||||||
|
"crit_range": 20,
|
||||||
|
"crit_mult": 2,
|
||||||
|
"reach_ft": 5,
|
||||||
|
"count": 1,
|
||||||
|
"natural": true,
|
||||||
|
"secondary": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": "fiches_personnages/jeanne_sheet.json",
|
"source": "fiches_personnages/jeanne_sheet.json",
|
||||||
|
|||||||
@@ -64,6 +64,21 @@ def test_pc_sheets_golden_spots() -> None:
|
|||||||
assert i_tail.damage[0].types == ["bludgeoning"]
|
assert i_tail.damage[0].types == ["bludgeoning"]
|
||||||
assert i_tail.damage_bonus == 0
|
assert i_tail.damage_bonus == 0
|
||||||
|
|
||||||
|
# Sheet pins (fiches_personnages/jeanne_sheet.json): "2x Hooves" +8 is a
|
||||||
|
# light-horse 1d4 natural attack; Bite prints +3 = stored +8 with the
|
||||||
|
# engine's runtime -5 (secondary).
|
||||||
|
jeanne = load_combatant(PCS_DIR / "jeanne.json")
|
||||||
|
j_hooves, j_bite = jeanne.attacks
|
||||||
|
assert j_hooves.damage[0].formula == parse_dice("1d4")
|
||||||
|
assert j_hooves.natural is True
|
||||||
|
assert j_hooves.count == 2
|
||||||
|
assert (j_bite.name, j_bite.attack_bonus, j_bite.secondary) == ("Bite", 8, True)
|
||||||
|
assert j_bite.damage[0].formula == parse_dice("1d3")
|
||||||
|
assert j_bite.damage_bonus == 2
|
||||||
|
mount = load_combatant(PCS_DIR / "esha_mount.json")
|
||||||
|
assert mount.attacks[0].damage[0].formula == parse_dice("1d4")
|
||||||
|
assert mount.attacks[0].natural is True
|
||||||
|
|
||||||
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
|
||||||
|
|||||||
Reference in New Issue
Block a user