fix(rules): celestial wolf - SRD bestiary wolf baseline (hp 13, Con 15, touch 12, Fort +5, Will +1, bite +2) + celestial DR 5/magic, ER 5, SR 6

This commit is contained in:
2026-09-16 21:55:09 +02:00
parent b3a7c3787d
commit feaab5ee41
2 changed files with 18 additions and 7 deletions
+17 -6
View File
@@ -5,31 +5,31 @@
"abilities": { "abilities": {
"str_score": 13, "str_score": 13,
"dex_score": 15, "dex_score": 15,
"con_score": 12, "con_score": 15,
"int_score": 2, "int_score": 2,
"wis_score": 12, "wis_score": 12,
"cha_score": 6 "cha_score": 6
}, },
"hp_max": 15, "hp_max": 13,
"ac": { "ac": {
"total": 14, "total": 14,
"touch": 13, "touch": 12,
"flat_footed": 12 "flat_footed": 12
}, },
"bab": 1, "bab": 1,
"initiative_mod": 2, "initiative_mod": 2,
"speed_land_ft": 50, "speed_land_ft": 50,
"saves": { "saves": {
"fort": 4, "fort": 5,
"ref": 5, "ref": 5,
"will": 2 "will": 1
}, },
"attacks": [ "attacks": [
{ {
"id": "celestial_wolf:bite", "id": "celestial_wolf:bite",
"name": "Bite", "name": "Bite",
"kind": "melee", "kind": "melee",
"attack_bonus": 3, "attack_bonus": 2,
"damage": [ "damage": [
{ {
"formula": "1d6+1", "formula": "1d6+1",
@@ -46,6 +46,17 @@
"natural": true "natural": true
} }
], ],
"dr": {
"amount": 5,
"bypass": ["magic"]
},
"resistances": {
"acid": 5,
"cold": 5,
"electricity": 5
},
"spell_resistance": 6,
"notes": "SRD Bestiary wolf (2d8+4 hp 13, AC 14/touch 12/flat 12, Fort +5, Will +1, bite +2 1d6+1 plus trip, Str 13 Dex 15 Con 15) + celestial template. Encoded from the template: DR 5/magic, energy resistance acid/cold/electricity 5, SR 6 (CR 1 + 5). Not encodable in this model: smite evil 2/day (+2 damage vs evil), the bite's free trip on hit (the engine has trip only as a standard-action maneuver, no auto-trip attack qualifier), and the weapon model has no magic property so no equipment bypasses the DR 5/magic (correct for mundane weapons). Summoning scaling (energy resistance +2 and SR +5 per summon spell level above 2nd) is not modeled; this sheet is the summon monster II baseline.",
"source": "summon monster II", "source": "summon monster II",
"features": [], "features": [],
"spells": [], "spells": [],
+1 -1
View File
@@ -833,7 +833,7 @@ class TestSummonMonster:
assert len(summoned) == 1 assert len(summoned) == 1
assert summoned[0].side == "players" assert summoned[0].side == "players"
# Check it has correct HP # Check it has correct HP
assert summoned[0].hp == 15 assert summoned[0].hp == 13 # SRD wolf: 13 hp (2d8+4)
# Check transcript mentions summon # Check transcript mentions summon
assert any("summon" in line.lower() for line in engine._transcript) assert any("summon" in line.lower() for line in engine._transcript)