Files
pf1e-simulator/data/pcs/tammara.json
T
ctan c88d8fd6f4 refactor(loaders): unify combatant loader, migrate PC features/spells
Rename monster.py → combatant.py with _KNOWN_FEATS lookup table
that resolves feat name strings to AbilitySpec constants (Power Attack,
Iron Will, Toughness, Weapon Focus, etc.). Unknown feats produce
minimal AbilitySpec (data preserved for future implementation).

Migrate all 8 PC JSONs (data/pcs/) with complete feat/spell lists
extracted from Foundry sheets — including traits, racial abilities,
and all spells. Monsters (goblin, orc) unchanged (no feats/spells).

Update all imports, add backward-compatible aliases (load_monster,
MonsterLoadError), update CLI to use load_combatant.

Gate: 377 tests, ruff clean, basedpyright clean.
2026-08-17 22:49:50 +02:00

197 lines
3.8 KiB
JSON

{
"name": "Tammara Cailean",
"level": 4,
"size": "Medium",
"abilities": {
"str_score": 14,
"dex_score": 20,
"con_score": 14,
"int_score": 9,
"wis_score": 17,
"cha_score": 12
},
"hp_max": 36,
"ac": {
"total": 20,
"touch": 16,
"flat_footed": 14
},
"bab": 4,
"initiative_mod": 7,
"speed_land_ft": 30,
"saves": {
"fort": 7,
"ref": 10,
"will": 8
},
"attacks": [
{
"name": "Rapier (masterwork)",
"kind": "melee",
"attack_bonus": 7,
"damage": [
{
"formula": "1d6",
"types": [
"piercing"
]
}
],
"damage_bonus": 2,
"crit_range": 18,
"crit_mult": 2,
"reach_ft": 5,
"count": 1
},
{
"name": "Braises d'Automne (pistolet ?)",
"kind": "ranged",
"attack_bonus": 9,
"damage": [
{
"formula": "1d8",
"types": [
"piercing"
]
}
],
"damage_bonus": 0,
"crit_range": 20,
"crit_mult": 4,
"reach_ft": 5,
"count": 1,
"range_increment_ft": 20
},
{
"name": "Adieux du Printemps (pistolet, masterwork)",
"kind": "ranged",
"attack_bonus": 10,
"damage": [
{
"formula": "1d8",
"types": [
"piercing"
]
}
],
"damage_bonus": 0,
"crit_range": 20,
"crit_mult": 4,
"reach_ft": 5,
"count": 1,
"range_increment_ft": 20
},
{
"name": "Alchemist's Fire",
"kind": "touch",
"attack_bonus": 9,
"damage": [
{
"formula": "1d6",
"types": [
"fire"
]
}
],
"damage_bonus": 0,
"crit_range": 20,
"crit_mult": 2,
"reach_ft": 5,
"count": 1,
"range_increment_ft": 10
},
{
"name": "Unarmed Strike",
"kind": "melee",
"attack_bonus": 6,
"damage": [
{
"formula": "1d3",
"types": [
"bludgeoning"
]
}
],
"damage_bonus": 2,
"crit_range": 20,
"crit_mult": 2,
"reach_ft": 5,
"count": 1
}
],
"source": "fiches_personnages/tammara_sheet.json",
"features": [
"Weapon Focus (Pistol)",
"Rapid Reload (Pistol)",
"Gunsmithing",
"Skill Focus (Perception)",
"Point-Blank Shot",
"Precise Shot",
"Dazzling Display",
"Fortified Drinker (Cayden Cailean)",
"Fate's Favored",
"Lonely",
"Larger Than Life",
"6. Vert - Yes Mistress",
"Focused Study (trait racial humain — remplace le bonus feat)"
],
"spells": [
"Create Water",
"Light",
"Detect Magic",
"Bleed",
"Detect Poison",
"Enhanced Diplomacy",
"Guidance",
"Mending",
"Purify Food and Drink",
"Read Magic",
"Spark",
"Resistance",
"Stabilize",
"Virtue",
"Create Alcool",
"Abundant Ammunition",
"Air Bubble",
"Bane",
"Bless",
"Cure Light Wounds",
"Divine Favor",
"Doom",
"Endure Elements",
"Enhance Water",
"Face of the Devourer",
"Forbid Action",
"Hide from Undead",
"Protection from Evil",
"Protection from Law",
"Sanctuary",
"Shield of Faith",
"Obscuring Mist",
"Weapon of Awe",
"Tears to Wine",
"Surmount Affliction",
"Suppress Charms and Compulsions",
"Stave Off Corruption",
"Status",
"Restoration, Lesser",
"Cure Moderate Wounds",
"Spear of Purity",
"Silence",
"Shard of Chaos",
"Protection from Law, Communal",
"Protection from Evil, Communal",
"Owl's Wisdom",
"Bull's Strength",
"Bear's Endurance",
"Masterwork Transformation",
"Spiritual Weapon",
"Make Whole",
"Ironskin",
"Delay Disease",
"Delay Poison",
"Aid",
"Drunkard's Breath"
]
}