fix(rules): update initiative when a readied action fires
SRD Ready - Initiative Consequences of Readying: 'your initiative result becomes the count on which you took the readied action' and you 'act immediately ahead of the character whose action triggered your readied action'. _check_readied fired the payload off-turn but never touched the readier's initiative. It now calls _ready_shift_initiative, which rewrites the readier's _initiative_keys entry (trigger total + 0.5, keeping its mod and prior index) using the same tuple shape _execute_delay writes, so _build_round_order holds the new position for all following rounds. Deterministic: no RNG consumed, current round order untouched. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -537,7 +537,21 @@ Règles modélisées :
|
||||
de swift** (au plus une action préparée par événement, sans cascade), puis
|
||||
l'action préparée est **consommée** (one-shot). Une nouvelle préparation
|
||||
remplace la précédente ; le reste du tour (action de mouvement) reste
|
||||
exécutable. Conformance L4 (SRD « Ready — Initiative Consequences of
|
||||
exécutable. **S4b — l'action préparée change l'initiative** (SRD « Ready —
|
||||
Initiative Consequences of Readying ») : « Your initiative result becomes
|
||||
the count on which you took the readied action, and you act immediately
|
||||
ahead of the character whose action triggered your readied action » — quand
|
||||
la préparation se déclenche, `_check_readied` appelle `_ready_shift_initiative`
|
||||
qui réécrit la clé d'initiative du préparant dans `_initiative_keys` (même
|
||||
forme de tuple que `_execute_delay` : total du déclencheur ± le pas de 0,5,
|
||||
en conservant le modificateur d'initiative et l'index de liste du préparant),
|
||||
si bien que `_build_round_order` conserve la nouvelle position pour **tous
|
||||
les rounds suivants**. Le pas est **ajouté** (le préparant agit juste AVANT
|
||||
le déclencheur), à l'inverse du retard qui le **retranche** (agir après) —
|
||||
les deux intentions sont opposées. Déterministe : aucun dé consommé, l'ordre
|
||||
du round courant (déjà construit) n'est pas modifié, seuls les rounds
|
||||
suivants se réordonnent. Conformance L4 (SRD « Ready — Initiative
|
||||
Consequences of
|
||||
Readying ») : « If you come to your next action and have not yet performed
|
||||
your readied action, you don't get to take the readied action (though you
|
||||
can ready the same action again) » — la préparation non déclenchée
|
||||
|
||||
Reference in New Issue
Block a user