Files
ctan f61fc5c61f docs: reorganize documentation structure
- 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
2026-09-26 20:12:05 +02:00

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 sous fiches_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 dans data/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/*.json est la référence canonique des PJ. Ne pas régénérer depuis foundry.py sans réappliquer les corrections SRD consignées dans docs/rules/conformance-srd.md.