feat(combat): add total defense and fighting defensively
This commit is contained in:
@@ -324,6 +324,20 @@ Règles modélisées :
|
||||
exécutable. Le snapshot expose l'état via la clé `readied`
|
||||
(`{kind, trigger}` ou `None`). `default_policy` ne se prépare pas
|
||||
(disponible via une politique personnalisée).
|
||||
- Défense totale (`Action(kind="total_defense")`, action standard) : le
|
||||
combattant se couvre entièrement et gagne **+4 d'esquive à la CA** jusqu'au
|
||||
début de son prochain tour (champ runtime `defensive_ac_bonus`, réinitialisé
|
||||
avec les autres drapeaux de tour). Le kind ne requiert pas de cible.
|
||||
Simplification documentée : la progression d'Acrobatie (+6 avec 3 rangs)
|
||||
n'est pas modélisée. `default_policy` ne la choisit pas (disponible via une
|
||||
politique personnalisée).
|
||||
- Combat défensif (`Action(kind="fight_defensively")`, action standard) : le
|
||||
combattant se bat avec prudence — **−4 à ses jets d'attaque et de
|
||||
confirmation de critique**, et **+2 d'esquive à la CA** jusqu'au début de son
|
||||
prochain tour (drapeaux runtime `fight_defensively` + `defensive_ac_bonus`).
|
||||
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).
|
||||
- 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
|
||||
@@ -593,7 +607,11 @@ Règles modélisées :
|
||||
last_turn_results (tuple de {kind, ok, reason} — résultat d'exécution du
|
||||
dernier tour, pour que la policy apprenne les actions rejetées/dégradées),
|
||||
readied ({kind, trigger} de l'action préparée ou None — préparation en
|
||||
cours, consommée quand le déclencheur la fait tirer).
|
||||
cours, consommée quand le déclencheur la fait tirer),
|
||||
defensive_ac_bonus (int — bonus d'esquive à la CA de la défense totale
|
||||
(+4) ou du combat défensif (+2), réinitialisé au début du tour du
|
||||
combattant), fight_defensively (bool — combat défensif actif : −4 aux
|
||||
jets d'attaque et de confirmation jusqu'au prochain tour).
|
||||
- Par paire combattant actif × cible : target_index, distance_ft, weapon_for,
|
||||
range_penalty, can_charge, can_step5_to_attack, has_line_of_effect,
|
||||
flanking, movement_cost_ft, target_threatens_me, enemies_threatening_me.
|
||||
|
||||
Reference in New Issue
Block a user