feat: système de magie complet avec dialogue de lancement

- Modèle sortilege enrichi (type, niveau, portée, durée, conditions, effets)
- Personnage: champ rangMagie (ensorceleur/initié/thaumaturge)
- Constantes: SORTILEGE_MODIFICATEURS (table 3x3), RANG_MAGICIEN
- Dialogue de lancement: tirage MJ, sélection atouts + Coupe, total temps réel
- Calcul difficulté: carte MJ + modificateur selon type × niveau
- Table des échecs magiques (normal/critique selon rang)
- Pioche automatique après succès, défausse après échec
- Template chat avec résultat localisé

Corrections post-review:
- Boucle de défausse sur échec corrigée (itérait toujours sur [0])
- Clé de localisation HAMALRON.Roll.cast -> HAMALRON.Sortilege.cast
- Ajout de la clé manquante noCoupe
- Labels localisés dans le chat (categorieLabel, niveauLabel)
This commit is contained in:
2026-07-10 19:07:05 +02:00
parent 54e769176a
commit 1749210322
12 changed files with 567 additions and 22 deletions
+17 -2
View File
@@ -80,8 +80,21 @@ export const ENEMY_TYPES = {
}
export const SORTILEGE_CATEGORIES = {
"malefica": { id: "malefica", label: "Maléfica" },
"ritual": { id: "ritual", label: "Rituel" },
"domestique": { id: "domestique", label: "Domestique" },
"specialise": { id: "specialise", label: "Spécialisé" },
"miraculeux": { id: "miraculeux", label: "Miraculeux" },
}
export const SORTILEGE_MODIFICATEURS = {
amateur: { domestique: 2, specialise: 6, miraculeux: 9 },
competent: { domestique: 0, specialise: 4, miraculeux: 7 },
expert: { domestique: -2, specialise: 2, miraculeux: 5 },
}
export const RANG_MAGICIEN = {
ensorceleur: { id: "ensorceleur", label: "Ensorceleur" },
initie: { id: "initie", label: "Initié" },
thaumaturge: { id: "thaumaturge", label: "Thaumaturge" },
}
export const NIVEAU_COMPETENCES = {
@@ -141,6 +154,8 @@ export const SYSTEM = {
COMPETENCE_TYPES: COMPETENCE_TYPES,
ENEMY_TYPES: ENEMY_TYPES,
SORTILEGE_CATEGORIES: SORTILEGE_CATEGORIES,
SORTILEGE_MODIFICATEURS: SORTILEGE_MODIFICATEURS,
RANG_MAGICIEN: RANG_MAGICIEN,
NIVEAU_COMPETENCES: NIVEAU_COMPETENCES,
CHOICE_ADVANTAGES_DISADVANTAGES,
ASCII