feat(conditions): add condition system with 18 PF1e conditions
This commit is contained in:
@@ -339,9 +339,10 @@ Règles modélisées :
|
||||
Non modélisé (couches `elevation`/`markers` présentes mais non appliquées
|
||||
dans la résolution) :
|
||||
|
||||
- Sorts et conditions (le système d'effets `effects.py`, les règles
|
||||
d'empilement des bonus et les jets de sauvegarde `resolve_save` sont en
|
||||
place — l'intégration des sorts et conditions au moteur est en cours).
|
||||
- Sorts (le système d'effets `effects.py`, les règles d'empilement des
|
||||
bonus, les jets de sauvegarde `resolve_save` et le système de conditions
|
||||
`conditions.py` sont en place — l'intégration des sorts au moteur est en
|
||||
cours).
|
||||
- Manœuvres de combat.
|
||||
- Effets mécaniques de hauteur/élévation.
|
||||
- Tailles Large+ (2×2), allonge > 5 ft
|
||||
@@ -370,6 +371,13 @@ dans la résolution) :
|
||||
sans type) s'additionnent ; types non-cumulables (morale, sacré, profane,
|
||||
enhancement…) gardent la valeur la plus élevée. Les pénalités suivent les
|
||||
mêmes règles. Fondation pour sorts, conditions, dons et capacités de classe.
|
||||
- `conditions.py` — conditions PF1e : `Condition` (dataclass avec
|
||||
modificateurs + flags comportementaux) et 18 conditions prédéfinies
|
||||
(shaken, sickened, fatigued, exhausted, entangled, dazzled, blinded,
|
||||
deafened, flat-footed, prone, stunned, paralyzed, nauseated, dazed,
|
||||
staggered, frightened, panicked, cowering). Les modificateurs sont intégrés
|
||||
à `resolve_attack` (attaque, dégâts, CA) et `resolve_save` (jets de
|
||||
sauvegarde) via `_stat_modifiers` qui collecte effets + conditions.
|
||||
- `metrics.py` — statistiques en forme fermée : `win_rate`, `win_rate_sigma`,
|
||||
`win_rate_band` (bande 3σ bornée à [0, 1]).
|
||||
- `runner.py` — `EncounterSpec`/`Side`, `build_states` (placement en zone +
|
||||
@@ -385,7 +393,7 @@ dans la résolution) :
|
||||
La gate de validation complète (tests + lint + types) :
|
||||
|
||||
```bash
|
||||
uv run pytest -q # 253 tests
|
||||
uv run pytest -q # 276 tests
|
||||
uv run ruff check src tests
|
||||
uv run basedpyright src # mode strict
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user