Fix formule de dés : 2d8 de base (règles Célestopol)
Correction majeure de la mécanique de jet selon les règles : - Formule : 2d8 + Spécialisation + modificateurs (blessures/aspect/manual) (vs. ancienne formule erronée : Nd6 pool variable) - Dé de la Lune : 1d8 narratif optionnel (résultat 1-8 → Triomphe / Brio / Contrecoup / Catastrophe) — pas un bonus numérique - Destin : disponible uniquement jauge pleine (lvl=8), donne 3d8, vide la jauge entière après usage - system.mjs : MOON_DIE_FACES (tableau 1-8) + MOON_RESULT_TYPES - roll.mjs : logique complète réécrite (2d8, lune séparée, destin reset) - character/npc.mjs : prefs.rollMoonDie + destGaugeFull - roll-dialog.hbs : sans grille lune, checkbox dé lune, destin conditionnel - chat-message.hbs : résultat dé lune narratif (phase + type + desc), dés .d8, suppression moonSymbol/moonBonus header - roll.less : .form-moon-row, .moon-die-result avec couleurs Triomphe/ Brio/Contrecoup/Catastrophe - lang/fr.json : Moon.triomphe/brio/contrecoup/catastrophe + Full descs, Roll.rollMoonDie/destGaugeFull/destGaugeEmpty/baseDice Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -127,8 +127,8 @@ export default class CelestopolCharacter extends foundry.abstract.TypeDataModel
|
||||
|
||||
// Préférences de jet (mémorisé entre sessions)
|
||||
schema.prefs = new fields.SchemaField({
|
||||
moonPhase: new fields.StringField({ required: true, nullable: false, initial: "none" }),
|
||||
difficulty: new fields.StringField({ required: true, nullable: false, initial: "normal" }),
|
||||
rollMoonDie: new fields.BooleanField({ required: true, initial: false }),
|
||||
difficulty: new fields.StringField({ required: true, nullable: false, initial: "normal" }),
|
||||
})
|
||||
|
||||
// Description & notes
|
||||
@@ -177,19 +177,19 @@ export default class CelestopolCharacter extends foundry.abstract.TypeDataModel
|
||||
if (!skill) return null
|
||||
|
||||
return CelestopolRoll.prompt({
|
||||
actorId: this.parent.id,
|
||||
actorName: this.parent.name,
|
||||
actorImage: this.parent.img,
|
||||
actorId: this.parent.id,
|
||||
actorName: this.parent.name,
|
||||
actorImage: this.parent.img,
|
||||
statId,
|
||||
skillId,
|
||||
statLabel: SYSTEM.STATS[statId]?.label,
|
||||
skillLabel: skill.label,
|
||||
skillValue: skill.value,
|
||||
woundMalus: this.getWoundMalus(),
|
||||
woundLevel: this.blessures.lvl,
|
||||
moonPhase: this.prefs.moonPhase,
|
||||
difficulty: this.prefs.difficulty,
|
||||
destActuel: Math.max(0, 8 - (this.destin.lvl ?? 0)),
|
||||
statLabel: SYSTEM.STATS[statId]?.label,
|
||||
skillLabel: skill.label,
|
||||
skillValue: skill.value,
|
||||
woundMalus: this.getWoundMalus(),
|
||||
woundLevel: this.blessures.lvl,
|
||||
difficulty: this.prefs.difficulty,
|
||||
rollMoonDie: this.prefs.rollMoonDie ?? false,
|
||||
destGaugeFull: this.destin.lvl >= 8,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user