docs(map): make omitted move_cost explicitly mean impassable
This commit is contained in:
@@ -226,7 +226,10 @@ deployment: # obligatoire si zones : nom de camp -> lettre de zone
|
||||
```
|
||||
|
||||
Valeur du `move_cost` : entier > 0 pour un terrain praticable, `null` pour un
|
||||
terrain infranchissable (mur, pilier). `blocks_los` et `cover` sont appliqués
|
||||
terrain infranchissable (mur, pilier). **Omettre `move_cost` équivaut à
|
||||
`null` : le terrain est infranchissable** — un terrain praticable doit donc
|
||||
toujours déclarer explicitement son coût (une entrée de légende sans coût de
|
||||
déplacement n'est jamais un couloir invisible). `blocks_los` et `cover` sont appliqués
|
||||
par la résolution des attaques (module `los.py`, règle des coins) : pas de
|
||||
ligne d'effet ⇒ l'attaque est impossible ; couvert ⇒ bonus de CA. Le champ
|
||||
optionnel `cover_bonus` (`2`, `4` ou `8`) encode le niveau de couvert PF1e
|
||||
|
||||
@@ -66,7 +66,12 @@ _NoDuplicateLoader.add_constructor(
|
||||
|
||||
|
||||
class TerrainType(BaseModel):
|
||||
"""What one square means for movement and sight lines."""
|
||||
"""What one square means for movement and sight lines.
|
||||
|
||||
``move_cost``: positive int = passable; ``None`` -- explicit or omitted
|
||||
(the field default) -- means IMPASSABLE. A passable terrain must always
|
||||
declare its cost; omitting the field is never a silent walkable default.
|
||||
"""
|
||||
|
||||
model_config = ConfigDict(frozen=True, extra="forbid")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user