- Clean README.md with installation, usage, CLI, examples - Move data formats to docs/data-formats/ (map.md, monster.md, pc-sheets.md, index.md) - Move architecture to docs/architecture/ (index.md, technical-architecture.md, phase-2-llm-architecture.md) - Add contributing guidelines in docs/contributing.md - Clean README.md: install, usage, CLI, data-formats/rules/architecture links, contributing link
2.5 KiB
Fiches de personnages (PJ)
Les PJ sont définis au format JSON (schéma Combatant) dans data/pcs/. Huit fiches
sont fournies : esha.json, harvie.json, ierlieth.json, jeanne.json,
misty.json, nairda.json, oni.json, tammara.json.
Elles se passent directement à la CLI comme les monstres :
uv run pf1e-sim --map data/maps/sample_arena.yaml \
--side players data/pcs/oni.json \
--side monsters data/pcs/tammara.json --runs 200
Format JSON
Le schéma est identique aux monstres (voir monster.md), avec
ces particularités PJ :
source: pointe vers la fiche Foundry VTT d'origine sousfiches_personnages/(ex:"fiches_personnages/oni.foundry.json").spell_slots: budget d'encounter (pas progression RAW — voir note ci-dessous).spells: noms de sorts connus (doivent exister dansdata/spells/).features: noms de capacités de classe / dons (résolus par le chargeur).carried_items: objets volables (filtrés depuis l'inventaire Foundry per APG Steal).
Note importante : spell_slots = budget d'encounter
Le champ spell_slots est une valeur finale par encounter. Le moteur ne calcule
jamais les sorts bonus de caractéristique d'incantation élevée (SRD Table 1-3).
Les éventuels sorts bonus doivent être encodés dans le JSON par l'auteur.
Preuve : les fiches PJ actuelles encodent la table de classe de BASE sans bonus.
Exemple : Oni (clerc 4, SAG 18) → {"1":4, "2":3} = table de base 4/3,
alors que le RAW avec bonus serait 5/4. Le liche (INT 20, niveau 11) porte
{"1":4, "2":4, "3":4, "4":4, "5":4, "6":3} qui ne correspond à AUCUNE table
RAW — les slots sont donc un budget d'encounter authored, pas une progression RAW.
Conséquence assumée : les PJ incanteurs tiennent moins de sorts par encounter que le RAW ne le permettrait.
Fiches Foundry (source)
fiches_personnages/ contient les 8 fiches au format Foundry VTT
(pf1-sheet/v1) ; le chargeur loaders/foundry.py sait les lire. C'est un
outil de migration one-shot et incomplet : il ne reproduit pas les corrections
manuelles/SRD appliquées aux JSON (drapeaux natural/secondary/firearm,
allonge sabots Jeanne 10 ft, vol Ierlieth 40 ft, morsure Misty 1d6, dons au-delà
de 8 entrées, spell_slots/resources/casting_ability).
data/pcs/*.jsonest la référence canonique des PJ. Ne pas régénérer depuisfoundry.pysans réappliquer les corrections SRD consignées dansdocs/rules/conformance-srd.md.