fix(rules): keep swift and free actions for staggered combatants

PF1e (CRB, Staggered): a staggered creature takes a single move OR standard action but can still take free, swift, and immediate actions. _staggered_filter returned only the first non-full-round action, so a disabled combatant with a queued swift bonus (deed/inspire_courage) lost its standard action. It now keeps every swift and free action plus the first move-or-standard, preserving the full_attack -> single attack downgrade.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-09-11 20:59:19 +02:00
parent 529999da69
commit 32c09df264
3 changed files with 76 additions and 11 deletions
+6 -3
View File
@@ -339,7 +339,8 @@ Règles modélisées :
- Invalide (conformance P2, CRB « Effects of Death ») : à `hp = 0`
exactement, une créature est **invalide** — elle reste active mais
**staggered** (une action de mouvement OU une action standard par tour, pas
d'action à round complet), se déplace à **moitié vitesse**, et achever une
d'action à round complet, mais les actions swift, libre et immédiate restent
permises — CRB « Staggered »), se déplace à **moitié vitesse**, et achever une
action non-mouvement (standard ou pénible) lui coûte **1 pv** à la fin de
cette action (pv → −1, agonie). Simplification documentée : si l'action
elle-même soigne la créature au-dessus de 0 pv, ce coût n'est pas appliqué.
@@ -856,8 +857,10 @@ Règles modélisées :
endormi, inerme, fasciné) annule le tour ; `cant_attack` (nauséeux) n'autorise qu'une unique action
de mouvement (`move`, `5foot_step`, `stand_up`, `drop_prone`) et bloque toute
attaque, manœuvre **et incantation** (CRB : un nauséeux ne peut ni attaquer,
ni incanter, ni se concentrer) ; `staggered` restreint à une action
simple (pas d'attaque à outrance) ; `cant_move` bloque le déplacement ;
ni incanter, ni se concentrer) ; `staggered` restreint à une action
simple (une action de mouvement OU standard, pas d'attaque à outrance ni
d'action à round complet, mais swift/libre/immédiate conservées) ;
`cant_move` bloque le déplacement ;
`denies_dex_to_ac` (flat-footed, paralysé, aveuglé…) fait perdre le bonus de Dextérité à
la CA (CA flat-footed) ; `miss_chance` (flou 20 %, déplacement 50 %, invisible
50 %) impose la