fix(rules): block immediate actions while flat-footed
SRD 'Immediate Actions': 'You also cannot use an immediate action if you are flat-footed.' _check_reactions now skips states carrying the flat_footed condition before consulting the reaction policy. The engine never applies flat_footed itself (latent gate), so the unit test injects the condition via active_conditions, with a control test proving the same setup fires when not flat-footed. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -668,12 +668,18 @@ Règles modélisées :
|
||||
posé par le moteur sur l'acteur du tour) : tout swift encore présent dans
|
||||
la séquence est retiré (`downgraded:immediate_swift`) et aucune seconde
|
||||
immédiate ne part ce round ; le swift du tour **suivant** reste disponible
|
||||
(contrairement à l'immédiate hors-tour). Simplification documentée :
|
||||
l'interdiction RAW d'une seconde immédiate s'étend jusqu'au début du tour
|
||||
suivant, le moteur la borne au round en cours.
|
||||
Les actions préparées (`ready`) sont traitées sur ces mêmes
|
||||
événements **avant** et indépendamment de la politique de réaction (voir
|
||||
« Préparation » plus haut).
|
||||
(contrairement à l'immédiate hors-tour). Simplification documentée :
|
||||
l'interdiction RAW d'une seconde immédiate s'étend jusqu'au début du tour
|
||||
suivant, le moteur la borne au round en cours. Conformance L5 (SRD
|
||||
« Immediate Actions ») : « You also cannot use an immediate action if you
|
||||
are flat-footed » — un combattant portant la condition `flat_footed` est
|
||||
**sauté** par la porte de réaction (`_check_reactions`) : aucune immédiate
|
||||
ne part tant qu'il est à plat (la condition est injectable via
|
||||
`active_conditions` ; le moteur ne la pose jamais lui-même — voie
|
||||
d'entrée future).
|
||||
Les actions préparées (`ready`) sont traitées sur ces mêmes
|
||||
événements **avant** et indépendamment de la politique de réaction (voir
|
||||
« Préparation » plus haut).
|
||||
- Ligne d'effet : une cible entièrement derrière un terrain `blocks_los` ne
|
||||
peut pas être attaquée — la politique se déplace jusqu'à gagner une ligne de
|
||||
visée.
|
||||
|
||||
Reference in New Issue
Block a user