docs(rules): README - component/ASF data now encoded, dedup snapshot bullet

The components/ASF bullet no longer defers the data encoding (done in
the two preceding commits): 107/108 registry spells carry their KB
components (Create Alcool is a homebrew cantrip with no KB entry) and
all 15 combatants carry arcane_caster plus an effective
armor_spell_failure - zero everywhere because the shipped arcane casters
are unarmored or wear light armor whose ASF their magus/bard feature
annuls for their own-list spells. Also collapses an accidental
duplicated armor_spell_failure/arcane_caster description in the
observation snapshot bullet.
This commit is contained in:
2026-09-20 14:34:33 +02:00
parent f6292f8bdc
commit 9f72948d23
+16 -11
View File
@@ -1695,11 +1695,7 @@ Règles modélisées :
pourcentage 0-100 d'échec d'incantation arcanique dû à l'armure, authored
sur le JSON — le modèle n'a pas d'équipement) et arcane_caster (bool :
vrai = incanteur arcanse exposé à l'ASF, faux = incanteur divin jamais
exposé), armor_spell_failure (int 0-100 — pourcentage d'échec
d'incantation arcanique de l'armure, SRD « Arcane Spells and Armor »,
authored sur le JSON faute de modèle d'équipement) et arcane_caster
(bool — vrai pour un incanteur arcanse exposé à l'ASF, faux pour un
incanteur divin),
exposé),
dr {amount, bypass} ou None (C1), creature_type (C3),
bab (E1), initiative_mod (E2) et initiative_total (U2 : total du jet
d'initiative courant = d20 + mod, 0 si pas encore de clé — invocation
@@ -1854,8 +1850,8 @@ plutôt que bricolées) :
large ones, may present an obstacle even when helpless. In such cases, each
square you move through counts as 2 squares » — les cases d'une créature
inactive ne bloquent pas et ne coûtent pas double).
- **Composantes des sorts et échecs d'incantation associés — moteur en
place, encodage des données en cours** (SRD « Cast a Spell — Spell
- **Composantes des sorts et échecs d'incantation associés — moteur et
données en place** (SRD « Cast a Spell — Spell
Components » : « A spellcaster who has been deafened has a 20% chance to
spoil any spell he tries to cast if that spell has a verbal component » ;
SRD « Arcane Spells and Armor » : « If you cast an arcane spell with a
@@ -1875,10 +1871,19 @@ plutôt que bricolées) :
`arcane spell failure`) ; convention `<=` miroir du jet de
dissimulation. Chaque jet n'est joué que si sa condition tient : un
lanceur non-sourd et dépourvu d'ASF garde un flux RNG bit-identique.
Reste hors périmètre (tâche de suivi) : l'encodage des composantes sur
les 108 sorts du registre `data/spells/` (aucun sort ne déclare encore
de composante, donc aucun échec ne peut partir dans les combats
dorés) ; le jet de Perception DD 20 basé sur le son du sourd et son
Données encodées : les 108 sorts du registre `data/spells/` portent leur
ligne `components` issue du KB (107 encodés ; Create Alcool, cantrip
maison sans fiche KB, reste sans composante déclarée — pas d'échec
possible) ; les 15 combattants de `data/pcs/` et `data/monsters/`
portent `arcane_caster` (vrai : misty magus/bard, nairda sorcière,
liche, agent de Thrune) et un `armor_spell_failure` **effectif** — tous à
0 dans les données actuelles : les incanteurs arcanes encodés sont soit
sans armure (nairda, liche), soit en armure légère dont l'ASF est annulée
par leur classe pour leurs sorts de liste (misty : chemise de mithral,
sorts de barde/magus — classes/bard.md, classes/magus.md ; agent de
Thrune : cuir clouté +1, sorts de magus — classes/magus.md). Aucun
combat doré ne joue donc de jet de composante. Reste hors périmètre :
le jet de Perception DD 20 basé sur le son du sourd et son
échec automatique associé ne sont pas modélisés. Le soin des
morts-vivants par les sorts de soin (`cure`) est en revanche modélisé :
SRD « Cure Light Wounds » — « this spell deals damage to them instead of