docs(rules): README - undead death, pass-through movement, squeezing limit
- Paragraphe « Mourir et stabilisation » : les morts-vivants et les constructeurs sont detruits des hp <= 0 (SRD traits Undead/Construct : 'immediately destroyed when reduced to 0 hit points or fewer'), sans bande d'invalidite ni agonie - conformance deja codee (59caf67). - Paragraphe « Mouvement » : la traverse des ennuis a 3 categories de taille d'ecart avec AoO d'entree (SRD 'Moving Through a Square' : 'Any creature can move through a square occupied by a creature three size categories larger than itself [...] provoke attacks of opportunity from those creatures' ; 'You can't end your movement in the same square as another creature unless it is helpless') ; la mention 'les ennemis bloquent toujours le chemin' est corrigee (blocage total seulement a 0-2 categories). - « Limites hors perimetre » : nouvelle entree squeeze (largeur de corridor vs taille non modelisee), entree des approximations du pass-through (Acrobatics Tumbling et la clause 'counts as 2 squares' des tres grosses creatures inertes non modelisees), et entree de l'echec d'incantation du sourd (tache 11, differe). - « Attaques multiples par action » : verifie conforme aux armes naturelles aprese5691bd(pas d'iteratifs, secondaires a -5, Multiattack -2) - aucune modification necessaire. - Compteur de tests de la section « Developpement » : 1408 -> 1491.
This commit is contained in:
@@ -333,7 +333,12 @@ Règles modélisées :
|
|||||||
puis **échoue automatiquement** son jet de stabilisation (aucun d20 jeté) et
|
puis **échoue automatiquement** son jet de stabilisation (aucun d20 jeté) et
|
||||||
perd donc 1 pv de plus par tour en plus des dégâts continus (CRB « Stable
|
perd donc 1 pv de plus par tour en plus des dégâts continus (CRB « Stable
|
||||||
Characters and Recovery ») — elle meurt ainsi plus vite qu'une créature
|
Characters and Recovery ») — elle meurt ainsi plus vite qu'une créature
|
||||||
mourante non saignante.
|
mourante non saignante. Les morts-vivants et les constructeurs n'ont pas de
|
||||||
|
score de Constitution et sont **détruits dès `hp ≤ 0`** — ni bande
|
||||||
|
d'invalidité à 0 pv, ni bande d'agonie (SRD traits « Undead » /
|
||||||
|
« Construct » : « undead do not risk death from massive damage, but are
|
||||||
|
immediately destroyed when reduced to 0 hit points or fewer ») ; le seuil
|
||||||
|
`hp ≤ -CON` ne s'applique qu'aux créatures vivantes.
|
||||||
- Mort simplifiée des monstres (option `--simple-monster-death`, défaut
|
- Mort simplifiée des monstres (option `--simple-monster-death`, défaut
|
||||||
désactivé) : quand l'option est présente dans la commande, un **monstre**
|
désactivé) : quand l'option est présente dans la commande, un **monstre**
|
||||||
meurt dès `hp ≤ 0` — ni bande d'invalidité à 0 pv, ni bande d'agonie entre
|
meurt dès `hp ≤ 0` — ni bande d'invalidité à 0 pv, ni bande d'agonie entre
|
||||||
@@ -701,10 +706,22 @@ Règles modélisées :
|
|||||||
d'osciller contre eux. Conformance L5 (SRD « Movement, Position and
|
d'osciller contre eux. Conformance L5 (SRD « Movement, Position and
|
||||||
Distance ») : « You can move through a square occupied by a friendly
|
Distance ») : « You can move through a square occupied by a friendly
|
||||||
character, unless you are charging » — `move` et `run` **traversent** les
|
character, unless you are charging » — `move` et `run` **traversent** les
|
||||||
cases des alliés (les ennemis bloquent toujours le chemin), mais ne
|
cases des alliés, mais ne peuvent jamais **finir** sur une case occupée :
|
||||||
peuvent jamais **finir** sur une case occupée : entrer sur une case alliée
|
entrer sur une case alliée
|
||||||
exige un prolongement libre (règle du « pass-through »), et la queue du
|
exige un prolongement libre (règle du « pass-through »), et la queue du
|
||||||
chemin est tronquée si le budget s'épuise sur une case alliée. La charge
|
chemin est tronquée si le budget s'épuise sur une case alliée. SRD
|
||||||
|
« Moving Through a Square » : « Any creature can move through a
|
||||||
|
square occupied by a creature three size categories larger than itself
|
||||||
|
[...] Creatures moving through squares occupied by other creatures
|
||||||
|
provoke attacks of opportunity from those creatures » — un ennemi séparé
|
||||||
|
du déplaceur par **trois catégories de taille ou plus** est traversé de
|
||||||
|
la même façon (jamais fini dessus : « You can't end your movement in the
|
||||||
|
same square as another creature unless it is helpless »), et l'entrée dans
|
||||||
|
sa case **provoque une AoO de l'occupant** (une seule par entrée fraîche,
|
||||||
|
plafonnée par l'allowance du round ; résolu par `_check_enter_aoo` dans la
|
||||||
|
marche pas à pas). Un ennemi à 0–2 catégories
|
||||||
|
reste un blocage total (« You can't move through a square occupied by an
|
||||||
|
opponent unless the opponent is helpless »). La charge
|
||||||
reste bloquée par les créatures (ligne droite dégagée), comme la retraite
|
reste bloquée par les créatures (ligne droite dégagée), comme la retraite
|
||||||
(limite documentée : le passage à travers les alliés n'est pas modélisé
|
(limite documentée : le passage à travers les alliés n'est pas modélisé
|
||||||
pour `withdraw` et le pas de placement auto-dirigé).
|
pour `withdraw` et le pas de placement auto-dirigé).
|
||||||
@@ -1583,6 +1600,23 @@ plutôt que bricolées) :
|
|||||||
en revanche deux créatures de même taille (Small et plus) ne partagent
|
en revanche deux créatures de même taille (Small et plus) ne partagent
|
||||||
jamais une case, et la co-occupation de plusieurs Tiny sur une même case
|
jamais une case, et la co-occupation de plusieurs Tiny sur une même case
|
||||||
n'est pas modélisée.
|
n'est pas modélisée.
|
||||||
|
- **Squeeze (se serrer dans un passage étroit) hors périmètre** (SRD
|
||||||
|
« Moving Around or Through an Open Square » / « Squeezing Through » : une
|
||||||
|
créature Large+ peut « squeeze » à travers un espace assez large pour une
|
||||||
|
créature d'une catégorie de taille en dessous, à coût de mouvement accru et
|
||||||
|
pénalités) : la largeur de corridor n'est pas modélisée par rapport à la
|
||||||
|
taille — une créature Huge (3×3) est simplement bloquée par tout endroit où
|
||||||
|
son footprint ne rentre pas ; ni le squeeze payant, ni la réduction de
|
||||||
|
footprint dans les couloirs ne sont modélisés.
|
||||||
|
- **Passage à travers une créature (3 catégories d'écart) — approximations** :
|
||||||
|
la règle est modélisée (traversée + AoO d'entrée, voir « Mouvement ») ;
|
||||||
|
restent hors périmètre le test d'Acrobatics « Tumbling » (« A trained
|
||||||
|
character can attempt to use Acrobatics to move through a square occupied
|
||||||
|
by an opponent » — la compétence n'existe pas dans le moteur) et la clause
|
||||||
|
des très grosses créatures inertes (« Some creatures, particularly very
|
||||||
|
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).
|
||||||
- **Échec d'incantation pour un personnage sourd hors périmètre** (SRD
|
- **Échec d'incantation pour un personnage sourd hors périmètre** (SRD
|
||||||
« Conditions — Deafened » : « a 20% chance of spell failure when casting
|
« Conditions — Deafened » : « a 20% chance of spell failure when casting
|
||||||
spells with verbal components ») : le moteur ne porte pas la composante
|
spells with verbal components ») : le moteur ne porte pas la composante
|
||||||
@@ -1721,7 +1755,7 @@ Limites de sorts (conformance D6-D9, documentées plutôt que bricolées) :
|
|||||||
La gate de validation complète (tests + lint + types) :
|
La gate de validation complète (tests + lint + types) :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
uv run pytest -q # 1408 tests
|
uv run pytest -q # 1491 tests
|
||||||
uv run ruff check src tests
|
uv run ruff check src tests
|
||||||
uv run basedpyright src # mode strict
|
uv run basedpyright src # mode strict
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user