feat(combat): add stand up and drop prone
This commit is contained in:
@@ -338,6 +338,23 @@ Règles modélisées :
|
||||
Simplification documentée : la progression d'Acrobatie (−2 / +3 avec 3
|
||||
rangs) n'est pas modélisée. `default_policy` ne le choisit pas (disponible
|
||||
via une politique personnalisée).
|
||||
- Se relever (`Action(kind="stand_up")`, action de mouvement) : le combattant à
|
||||
plat ventre (renversé par trip/overrun ou après s'être jeté à terre) retire la
|
||||
condition `prone` des **deux** représentations (`active_conditions` durée,
|
||||
`conditions` sans durée) et redevient valide. Le relèvement **provoque une
|
||||
attaque d'opportunité** de chaque ennemi menaçant (résolue via la mécanique de
|
||||
mouvement `_check_move_aoo`, pendant qu'il est encore à plat ventre, CA −4).
|
||||
Sans condition `prone`, l'action est rejetée (`not_prone`). Le kind ne requiert
|
||||
pas de cible. `default_policy` ne la choisit pas (disponible via une politique
|
||||
personnalisée).
|
||||
- Se jeter à terre (`Action(kind="drop_prone")`, action libre) : le combattant
|
||||
ajoute `prone` à la liste `conditions` **sans durée**, donc la condition
|
||||
persiste jusqu'à `stand_up` (contrairement à trip/overrun qui posent
|
||||
`active_conditions` avec 1 round). Les modificateurs de `prone` (−4 CA, −4 aux
|
||||
attaques à distance) s'appliquent immédiatement. Si la condition est déjà
|
||||
présente, l'action est rejetée (`already_prone`). Le kind ne requiert pas de
|
||||
cible. `default_policy` ne la choisit pas (disponible via une politique
|
||||
personnalisée).
|
||||
- Retour d'exécution des actions : chaque action produit un `ActionResult`
|
||||
explicite (kind, ok, reason) consigné dans le snapshot (`last_turn_results`
|
||||
au tour suivant). Les actions invalides sont rejetées et journalisées au lieu
|
||||
@@ -348,7 +365,9 @@ Règles modélisées :
|
||||
`downgraded:staggered` / `downgraded:nauseated` / `downgraded:immediate_swift` ;
|
||||
retard valide → `ok=True, reason="delayed"`, second retard du même round →
|
||||
`ok=False, reason="already_delayed"` ; préparation valide →
|
||||
`ok=True, reason="ready"`.
|
||||
`ok=True, reason="ready"` ; relèvement sans `prone` → `ok=False,
|
||||
reason="not_prone"` ; se jeter à terre déjà `prone` → `ok=False,
|
||||
reason="already_prone"`.
|
||||
- Attaques multiples par action : une arme avec `count` > 1 (« 2x Talons »)
|
||||
résout `count` balayages indépendants dans la même action ; les balayages
|
||||
restants sont perdus si la cible tombe (inconsciente ou morte) en cours de
|
||||
|
||||
Reference in New Issue
Block a user