feat(combat): allow explicit movement destinations
This commit is contained in:
@@ -385,6 +385,18 @@ Règles modélisées :
|
||||
coût Dijkstra depuis la cible, diagonales 5-10-5), en s'arrêtant adjacent à
|
||||
l'ennemi le plus proche — les combattants contournent les murs au lieu
|
||||
d'osciller contre eux.
|
||||
Destination explicite : `Action(kind="move", destination=(r, c))` et
|
||||
`Action(kind="5foot_step", destination=(r, c))` déplacent le combattant vers
|
||||
la case `(r, c)` désignée (monter au couvert, quitter un défilé, se
|
||||
désengager) au lieu de auto-diriger vers `target_id`. Pour `move`, la case
|
||||
doit être praticable, libre et atteignable dans le budget de vitesse (sinon
|
||||
rejet `unreachable_destination`) ; le trajet réutilise la mécanique pas à pas
|
||||
avec provocation d'AoO. Pour `5foot_step`, la case doit être exactement
|
||||
adjacente (sinon `unreachable_destination`) et le pas ne provoque jamais
|
||||
d'AoO. Sans `destination`, le comportement auto-dirigé est inchangé ; avec
|
||||
`target_id` et `destination` absents, rejet `missing_target` (U1).
|
||||
`default_policy` ne choisit pas de destination (disponible via une politique
|
||||
personnalisée).
|
||||
- Tailles et occupation multi-cases : une créature occupe un footprint carré à
|
||||
son ancre (`pos`) selon sa taille — Small/Medium 1×1, Large 2×2, Huge 3×3,
|
||||
Gargantuan 4×4, Colossal 6×6 (taille inconnue → 1×1). Distance, ligne
|
||||
|
||||
Reference in New Issue
Block a user