feat(observation): expose per-pair cover bonus
This commit is contained in:
@@ -656,7 +656,11 @@ Règles modélisées :
|
||||
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.
|
||||
flanking, movement_cost_ft, target_threatens_me, enemies_threatening_me,
|
||||
cover_bonus (int — bonus de couvert que la cible gagne contre une attaque
|
||||
de l'acteur, calculé comme dans `resolve_attack` : terrain +2/+4/+8 via la
|
||||
règle des coins, couvert mou +4 des créatures interposées pour les seules
|
||||
attaques à distance ; 0 si `weapon_for` est None).
|
||||
- Top-level : round, acting_combatant, combatants, pairs, terrain, elevation,
|
||||
threatened (grille bool des cases menacées par les ennemis),
|
||||
initiative_order (U2 : tuple d'ids dans l'ordre d'initiative du round
|
||||
@@ -673,11 +677,12 @@ Règles modélisées :
|
||||
pas appeler `engine.*`, elle lit leurs résultats. Mapping des clés
|
||||
`resources_left` (vérifié par grep sur `spend_resource`/`resources_left[` :
|
||||
`channel_energy`, `hexes`, `grit`, `arcane_pool`, `bardic_rounds`, plus
|
||||
`spell_slot_{level}` ajouté par le snapshot). Limites documentées : pas de
|
||||
grille `reachable_ft` budget=speed (délibérément rejetée —
|
||||
`movement_cost_ft` par paire + `terrain_semantics` + `speed_land_ft`
|
||||
suffisent), pas de couvert par paire (déductible via `has_line_of_effect` +
|
||||
`terrain_semantics` + positions). Les API de décision exposées (items L1-L8)
|
||||
`spell_slot_{level}` ajouté par le snapshot). Limites documentées : pas de
|
||||
grille `reachable_ft` budget=speed (délibérément rejetée —
|
||||
`movement_cost_ft` par paire + `terrain_semantics` + `speed_land_ft`
|
||||
suffisent). Le couvert par paire est exposé via la clé `cover_bonus`
|
||||
(calcul identique à `resolve_attack`, couvert mou des créatures inclus).
|
||||
Les API de décision exposées (items L1-L8)
|
||||
s'y retrouvent : `direction`/`trick_condition`/`weapon_id` sur `Action`,
|
||||
`can_charge` → `ChargeResult`, kinds `retrieve_weapon`/`repair_weapon`.
|
||||
Le kind `activate_power_attack` (action libre) active le don Power Attack
|
||||
|
||||
Reference in New Issue
Block a user