fix(rules): give Tiny-or-smaller creatures zero reach and square sharing
This commit is contained in:
@@ -657,8 +657,9 @@ Règles modélisées :
|
||||
inchangée. `default_policy` ne choisit pas d'arme (disponible via une
|
||||
politique personnalisée).
|
||||
- Mêlée (conformance R1, CRB « Big and Little Creatures in Combat ») :
|
||||
l'**allonge naturelle** du gabarit (Small/Medium 5 ft, Large 10 ft, Huge
|
||||
15 ft, Gargantuan 20 ft, Colossal 30 ft) est un **disque** : la créature
|
||||
l'**allonge naturelle** du gabarit (Tiny/Diminutive/Fine 0 ft, Small/Medium
|
||||
5 ft, Large 10 ft, Huge 15 ft, Gargantuan 20 ft, Colossal 30 ft) est un
|
||||
**disque** : la créature
|
||||
frappe et menace toutes les cases jusqu'à son allonge, l'adjacence
|
||||
comprise — une créature Large dont l'attaque naturelle a `reach_ft` 10
|
||||
menace donc aussi les cases adjacentes (le `reach_ft` d'une attaque
|
||||
@@ -669,6 +670,19 @@ Règles modélisées :
|
||||
allonge naturelle`, la dead zone vaut donc 5 ft pour un porteur
|
||||
Small/Medium et 10 ft pour un porteur Large. Une arme ordinaire sans
|
||||
allonge menace les cases adjacentes (disque de 5 ft).
|
||||
**S4c — allonge nulle des créatures Tiny et plus petites** (CRB « Big and
|
||||
Little Creatures in Combat » : « Tiny, Diminutive, and Fine Creatures [...]
|
||||
They must enter an opponent's square to attack in melee ») : l'allonge
|
||||
naturelle de Tiny/Diminutive/Fine vaut **0 ft** — une telle créature ne
|
||||
**menace aucune case** (aucune AoO) et ne peut pas frapper une case
|
||||
adjacente ; son attaque de mêlée n'est utilisable qu'à **distance 0**, la
|
||||
case qu'elle partage avec sa cible (l'abstraction « entrer dans la case de
|
||||
l'adversaire »). L'allonge effective reste `max(allonge naturelle,
|
||||
reach_ft de l'arme)` : une attaque naturelle dont le JSON déclare
|
||||
explicitement `reach_ft` (ierlieth : morsure `reach_ft: 5`) conserve cette
|
||||
allonge — le `reach_ft` d'une attaque naturelle EST son allonge naturelle,
|
||||
une créature Tiny peut donc être encodée avec une allonge non nulle si sa
|
||||
fiche l'exige.
|
||||
Mouvement : un déplacement parcourt jusqu'à la
|
||||
vitesse du combattant en cases le long du plus court chemin réel (champ de
|
||||
coût Dijkstra depuis la cible, diagonales 5-10-5), en s'arrêtant adjacent à
|
||||
@@ -711,6 +725,21 @@ Règles modélisées :
|
||||
manœuvres et invocation sont généralisés aux cellules occupées (distance =
|
||||
minimum entre cellules, LoS/couvert = meilleure paire) ; le comportement 1×1
|
||||
reste bit-identique.
|
||||
**S4c — co-occupation des créatures Tiny et plus petites** (CRB « Big and
|
||||
Little Creatures in Combat » : « Very small creatures take up less than 1
|
||||
square of space. This means that more than one such creature can fit into a
|
||||
single square ») : une créature Tiny/Diminutive/Fine peut **traverser et
|
||||
finir son déplacement** dans une case occupée par une créature plus grande,
|
||||
et une créature plus grande peut traverser et finir dans une case occupée
|
||||
par une créature Tiny ou plus petite — la case n'est pas « bloquée » pour
|
||||
ce couple de tailles (`_can_cooccupy` : tailles différentes ET la plus
|
||||
petite est Tiny ou moins). Deux créatures de même taille (ou Small et plus
|
||||
grande) ne partagent jamais une case : le blocage reste total pour elles.
|
||||
La co-occupation s'applique au mouvement (`_blocked`/`_blocked_hostile`
|
||||
sont conscients du déplaceur), à la destination explicite (`_cells_free`)
|
||||
et à la charge ; deux créatures partageant une case sont à **distance 0**
|
||||
l'une de l'autre (ligne d'effet directe, attaque de mêlée possible — c'est
|
||||
la voie d'attaque des créatures à allonge nulle, voir « Mêlée »).
|
||||
- Taille et attaques/CA : les valeurs `ac` (total/touch/flat_footed) et
|
||||
`attack_bonus` des JSON de créatures sont des valeurs FINALES, déjà majorées
|
||||
du modificateur de taille PF1e aux attaques/CA (Small +1, Medium 0, Large −1,
|
||||
@@ -1227,10 +1256,12 @@ Règles modélisées :
|
||||
pénalisé (un test de compétence n'est pas un jet de manœuvre). Conformance
|
||||
L1 (SRD « Combat Maneuvers ») : « Creatures that are size Tiny or smaller
|
||||
use their Dexterity modifier in place of their Strength modifier to
|
||||
determine their CMB » — Tiny/Diminutive/Fine calculent donc leur CMB avec
|
||||
le modificateur de Dextérité à la place de celui de Force ; lacune
|
||||
documentée : l'allonge nulle et la co-occupation des créatures Tiny et
|
||||
plus petites ne sont pas modélisées (abstraction à la grille de 5 ft).
|
||||
determine their CMB » — Tiny/Diminutive/Fine calculent donc leur CMB avec
|
||||
le modificateur de Dextérité à la place de celui de Force. Leur allonge
|
||||
naturelle nulle (aucune case menacée, attaque dans leur propre case) et la
|
||||
co-occupation Tiny-or-smaller avec une créature strictement plus grande
|
||||
sont modélisées (conformance S4c) ; une attaque naturelle dotée d'un
|
||||
`reach_ft` explicite (ex. morsure d'ierlieth) conserve cette allonge.
|
||||
Conformance L2 (SRD « Combat Maneuver Defense ») : le CMD calculé ajoute
|
||||
les bonus de CA des huit types autorisés (« A creature can also add any
|
||||
circumstance, deflection, dodge, insight, luck, morale, profane, and
|
||||
@@ -1391,7 +1422,10 @@ Règles modélisées :
|
||||
- Par combattant : id, side, pos, occupied_cells, hp/hp_max, active/dead,
|
||||
dying/stabilized, conditions (noms + rounds_left), resources_left (+ `spell_slot_{level}`),
|
||||
weapon_broken/weapon_stolen, grappled_with, moved_this_turn, power_attack,
|
||||
name, level, size, aware (SRD « Surprise » : agit au round de surprise),
|
||||
name, level, size, natural_reach_ft (S4c : allonge naturelle du gabarit
|
||||
en pieds — 0 pour Tiny/Diminutive/Fine, 5 pour Small/Medium, 10 pour
|
||||
Large… ; l'allonge effective d'une attaque reste `max(allonge naturelle,
|
||||
reach_ft de l'arme)`), aware (SRD « Surprise » : agit au round de surprise),
|
||||
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
|
||||
@@ -1514,10 +1548,13 @@ plutôt que bricolées) :
|
||||
spell automatically fails ») : non planifiables dans un tour, ils sont
|
||||
jetés du budget (`downgraded:cast_time`) plutôt qu'approximés, faute de
|
||||
données d'objectif pour ces sorts rituels.
|
||||
- **Gabarits Tiny/Diminutive/Fine abstraits à la grille de 5 ft** : leur
|
||||
allonge nulle et la co-occupation de leurs cases (plusieurs créatures
|
||||
minuscules sur une même case) ne sont pas modélisées ; seule la substitution
|
||||
Dextérité/Force du CMB (conformance L1) tient compte de leur taille.
|
||||
- **Co-occupation au-delà de Tiny vs plus grand** : la règle Tiny-or-smaller
|
||||
est modélisée (S4c) — allonge naturelle 0, aucune case menacée, attaque
|
||||
possible dans sa propre case, et partage de case avec une créature
|
||||
strictement plus grande (déplacement à travers et fin de mouvement dessus) ;
|
||||
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
|
||||
n'est pas modélisée.
|
||||
|
||||
Limites de sorts (conformance D6-D9, documentées plutôt que bricolées) :
|
||||
|
||||
|
||||
Reference in New Issue
Block a user