docs(rules): conformance journal round 12 - spell components and arcane spell failure
107/108 spells carry their SRD components; arcane_caster and armor_spell_failure are set from the sheets; the deafened 20% verbal failure and the arcane spell failure roll are modeled. Components/ASF leave the out-of-scope list. Gate 1850.
This commit is contained in:
+13
-4
@@ -26,7 +26,7 @@ résiduel**.
|
||||
|
||||
| Contrôle | Résultat |
|
||||
|---|---|
|
||||
| `uv run pytest -q` | 1829 tests verts |
|
||||
| `uv run pytest -q` | 1850 tests verts |
|
||||
| `uv run ruff check src tests` (`select=ALL`) | conforme |
|
||||
| `uv run basedpyright src` (strict) | 0 erreur |
|
||||
| Transcript doré depuis la passe 1 | inchangé |
|
||||
@@ -194,6 +194,15 @@ Une passe de vérification adversariale a confirmé que les 15 correctifs High/M
|
||||
| `6a18d45` | Type **`AlignmentGate`** sur les dégâts : cible immunisée / neutre (moitié, sans condition) / pleine (dégâts + condition si sauvegarde ratée) ; *Shard of Chaos* (chaotique/loyal, condition `staggered`) et *Spear of Purity* (bon/mauvais, condition `blinded`) |
|
||||
| `3be22b9` | Vocabulaire de conditions **`attacker_is_evil/lawful/good/chaotic`** câblé à l'attaquant réel ; **Protection from Evil/Law** (+2 CA déflexion et +2 sauvegardes contre l'alignement opposé) et variantes communales |
|
||||
|
||||
### Correctifs de la passe 12 — composantes & échec d'armure (sortis du hors-périmètre)
|
||||
|
||||
| Commit | Objet |
|
||||
|---|---|
|
||||
| `1f8f068` | Moteur : `components` sur `SpellSpec` (V/S/M/F/DF validés), `armor_spell_failure` + `arcane_caster` sur `Combatant` ; jets d'échec **conditionnels** (sourd + composante verbale → 20 % ; arcanique + somatique + armure → ASF d100), exposés dans l'observation |
|
||||
| `91666d8` | Encodage des composantes SRD sur **107/108 sorts** (le 108e n'a pas de ligne Composants au KB) |
|
||||
| `f6292f8` | `arcane_caster` / `armor_spell_failure` posés depuis les feuilles (liche, Thrune, misty, nairda arcaniques) |
|
||||
| `9f72948` | README synchronisé |
|
||||
|
||||
> **Registre des sorts clos** : les 35 derniers sorts ont été vérifiés champ par champ contre le KB — **0 divergence** (niveaux, sauvegardes, RM, portées, zones, formules conformes). Seuls 2 sorts sont absents du KB (`create_alcool`, `hidden_diplomacy`) et 1 nit de description subsiste (`detect_poison` mentionne « acid »).
|
||||
|
||||
### Passe 1 — sorts de buff, mouvement/grille, morts-vivants, armes naturelles
|
||||
@@ -323,9 +332,8 @@ ne pas être confondues avec des bogues.
|
||||
| **Acrobatics « Tumbling »** (traverser une case ennemie sans AoO) | Le moteur n'a pas de système de compétences |
|
||||
| **Objets / inventaire** (`Steal`, `Sunder`) | Le modèle n'a pas de piste d'objets (tenu vs porté, PV/dureté d'objet) — seule l'usure d'arme simplifiée existe |
|
||||
| **Système de compétences** (Perception opposée, Discrétion, Acrobaties) | Pas de sous-système de compétences (hors `dex_skills`/bonus statiques) |
|
||||
| **Composantes de sort & échec d'armure (ASF)** | Pas de champ de composantes ni d'armure ; les sorts sont supposés sans composante gênante |
|
||||
| **Créature inerte très grande = obstacle à 2 cases** | Les cases d'une créature inactive ne bloquent pas et ne coûtent pas double |
|
||||
| **Échec d'incantation du personnage sourd (20 %)** | `SpellSpec` n'a pas de composante verbale ; il faudrait encoder les composantes sur les 108 sorts |
|
||||
| **Échec d'incantation du personnage sourd (20 %)** | Modélisé : composante verbale + condition `deafened` → jet de d20% ≤ 20 |
|
||||
| **Incantation multi-round (`long` : 3 rounds, 10 min, 1 h)** | Non planifiable dans un tour ; jetée du budget (`downgraded:cast_time`) plutôt qu'approximée |
|
||||
| **Co-occupation au-delà de Tiny vs plus grand** | Deux créatures Small+ ne partagent jamais une case ; plusieurs Tiny sur une case non gérés |
|
||||
| **Combat à deux armes / arme en main secondaire (×0,5 Force)** | Hors du modèle d'attaque actuel |
|
||||
@@ -382,7 +390,8 @@ Constats explicitement contrôlés et **confirmés conformes** :
|
||||
| 9 | Résiduels assumés (lots 1-3) : course/CON+Run, harmless, centrage Bless/Bane, Selective Channeling, liche, invocations, healing_done, terrain multi-cases, cône effleuré | `bg_0a5b0d6b`, `bg_b304c5a3`, `bg_b277ee2d` | ~10 correctifs, 1 différé | 10 correctifs (`ea83529`..`d5ad3c3`), doré re-pinné une fois (liche) |
|
||||
| 10 | Sorts utilitaires résiduels (lot 4) : guidance, resistance, virtue, stabilize, spiritual_weapon, saving_finale | `bg_9c989e12` | 4 implémentés, 2 différés | 4 correctifs (`08f9af9`..`f788613`) |
|
||||
| 11 | **Hors périmètre — alignement** : champ + dérivées, Shard of Chaos / Spear of Purity, Protection from Evil/Law (+communales) | `bg_1a3b0faa`, `bg_6980098f`, `bg_07b3d604` | 3 correctifs | Alignement **sorti du hors-périmètre** |
|
||||
| 12+ | Hors périmètre restant : objets/inventaire (Steal/Sunder), compétences, pv non létaux, armes à éclaboussures, composantes/ASF, rendu du transcript | — | — | À reprendre (en cours) |
|
||||
| 12 | **Hors périmètre — composantes & ASF** : composantes sur 107 sorts, sourd 20 %, échec d'armure, `arcane_caster` | `bg_02d4b4e3`, `bg_84baec1d` | 4 correctifs | Composantes/ASF **sortis du hors-périmètre** |
|
||||
| 13+ | Hors périmètre restant : objets/inventaire (Steal/Sunder), compétences, pv non létaux, armes à éclaboussures, vol 3D, rendu du transcript | — | — | À reprendre |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user