fix(spells): backfill casting times for all imported spells
This commit is contained in:
@@ -414,17 +414,20 @@ Règles modélisées :
|
||||
`one_round` → **round complet par clamp** — approximation documentée : le
|
||||
moteur ne tient pas d'incantation en cours entre les tours, le sort
|
||||
d'1 round se résout au bout du tour courant au lieu du suivant ;
|
||||
`long` (≥ 1 minute) → **jeté avant le filtre de budget**, rapporté comme
|
||||
`long` (> 1 round : 3 rounds, 10 minutes, 1 heure — cast multi-round non
|
||||
planifiable dans un tour) → **jeté avant le filtre de budget**, rapporté comme
|
||||
`ActionResult(kind="cast_spell", ok=False, reason="downgraded:cast_time")`
|
||||
(seule `default_policy` s'en préserve : `_choose_spell_action` ne sélectionne
|
||||
jamais un sort à temps long). Le moteur résout le code via sa registry
|
||||
(`_cast_time_of`, repli `standard` pour un nom inconnu) et le passe aux
|
||||
filtres purs sous forme de résolveur `CastTimeResolver`. Seuls
|
||||
`Summon Monster I/II` déclarent `"1 round"` dans `data/spells/` ; les autres
|
||||
sorts exotiques (Bladed Dash, Silence…) restent au défaut `standard` — hors
|
||||
du périmètre de ce paquet. Hors du périmètre (hook futur, commenté dans
|
||||
filtres purs sous forme de résolveur `CastTimeResolver`. Les 107 sorts
|
||||
importés de `data/spells/` déclarent tous leur `cast_time` (codes normalisés,
|
||||
backfillés depuis le SRD) : 95 `standard`, 6 `one_round` (Enhance Water,
|
||||
Silence, Sleep, Summon Instrument, Summon Monster I/II), 2 `immediate`
|
||||
(Grasp, Saving Finale) et 4 `long` (Make Whole, Masterwork Transformation,
|
||||
Mending, Restoration Lesser). Hors du périmètre (hook futur, commenté dans
|
||||
`_cast_time_of`) : la métamagie d'incanteur spontané qui allonge le temps
|
||||
d'incantation à un round complet sans don Quickened — le signature
|
||||
d'incantation à un round complet sans don Quickened — la signature
|
||||
`Callable[[Action], CastTime]` du résolveur l'accommodera sans changement.
|
||||
- Retard (`Action(kind="delay")`, action standard) : le combattant renonce à
|
||||
agir maintenant et agit plus tard dans le **même round** — en fin d'ordre si
|
||||
|
||||
Reference in New Issue
Block a user