fix(rules): lich stat block aligned to the KB entry - bestiary/lich.md gives hp 111 (11d6+55 plus 15 false life), Str 10, Int 22, Init +2 and 'Aura fear (60-ft. radius, DC 18)'; the JSON carried scenario-tuned 100 hp / Str 12 / Int 20 / Init +6 and the engine's feature-keyed aura constants carried 30 ft / DC 22 (BAB/touch/AC/saves/CON already conformed); the sim's own spell list is kept (the KB's prepared list includes spells outside data/spells/) and the choice is documented in the JSON notes and the README; golden tammara-vs-lich re-pinned for the two SRD-correct line changes (initiative d20=10+2=12 from the KB +2, Magic Missile DC17 = 10+1+6 from Int 22; damage unchanged - the 75 ft deployment distance stays beyond even the widened 60 ft aura, so no save die is consumed); +2 aura range tests (75 ft outside, 60 ft inside)
This commit is contained in:
@@ -1646,14 +1646,20 @@ Règles modélisées :
|
||||
moteur n'ayant pas de descripteur « charme », `mind_affecting` en tient
|
||||
lieu (surcouverture : les effets de compulsion comptent aussi))
|
||||
— couvertes par `tests/test_class_abilities.py`.
|
||||
- Le Liche (`data/monsters/lich.json`) : `creature_type: "undead"` (sensible à l'énergie
|
||||
positive canalisée), aura de terreur (30 ft, Volonté DD 22 ou
|
||||
- Le Liche (`data/monsters/lich.json`) : bloc de stats aligné sur la fiche KB
|
||||
`bestiary/lich.md` (PV 111, For 10, Int 22, Init +2, DD et bonus déjà
|
||||
conformes), `creature_type: "undead"` (sensible à l'énergie
|
||||
positive canalisée), aura de terreur (60 ft, Volonté DD 18 ou
|
||||
`shaken` 1 round, au début de son tour) et contact paralysant (au toucher,
|
||||
`paralysé` 1d4+1 rounds), RD 15/contondant **et** magie (conformance P2 :
|
||||
les deux composants sont requis — une arme contondante non magique ne
|
||||
contourne plus la RD ; lacune documentée : le modèle d'arme n'expose pas de
|
||||
propriété « magique », donc aucun équipement ne contourne cette RD) ; son JSON porte un dictionnaire
|
||||
`spell_slots` sans clés dupliquées.
|
||||
`spell_slots` sans clés dupliquées. Choix assumé : la liste de sorts reste
|
||||
la liste d'encounter du simulateur (la liste préparée de la fiche KB
|
||||
contient des sorts absents du registre `data/spells/`) — seul le bloc de
|
||||
stats a été aligné ; la liste de sorts du registre est donc une
|
||||
approximation documentée, pas une transcription SRD.
|
||||
- Snapshot d'observation (contrat LLM, Phase 2) : avant chaque appel de
|
||||
politique, le moteur construit une `Observation` sérialisable (`to_dict()` →
|
||||
JSON) isolée du combat — le snapshot est la SEULE source d'info de la LLM
|
||||
|
||||
Reference in New Issue
Block a user