fix: initiative - auto-init deck, CSS stylisé, plus d'erreurs de formule

- Auto-initialisation du deck s'il est vide ou non initialisé
- Fallback silencieux sur 1d6 si vraiment aucune carte dispo
- _formula changé en '1d1' pour éviter les erreurs de parsing
- Ajout du CSS complet pour le message d'initiative (chat.less)
  - Fond dégradé sombre, bordure rouge, badge arrondi
  - Avatar, nom, carte, valeur, score d'initiative
  - Pied de page stylisé
This commit is contained in:
2026-07-10 21:30:09 +02:00
parent ef9b57d6b9
commit 8e7a3f4eca
3 changed files with 187 additions and 3 deletions
+13 -3
View File
@@ -47,15 +47,25 @@ Hooks.once("init", function () {
const combatantName = this.name
const origEvaluate = roll.evaluate.bind(roll)
roll.evaluate = async function (options = {}) {
const deckManager = globalThis.HamalronTarotDeckManager?._instance
if (deckManager?.deck?.length > 0) {
let deckManager = globalThis.HamalronTarotDeckManager?._instance
if (!deckManager) {
deckManager = new (globalThis.HamalronTarotDeckManager)()
globalThis.HamalronTarotDeckManager._instance = deckManager
}
if (deckManager.deck.length === 0) {
const tarotItems = game.items.filter(i => i.type === "tarot")
if (tarotItems.length > 0) deckManager.resetDeck()
}
if (deckManager.deck.length > 0) {
const drawn = deckManager.drawCards(1)
if (drawn.length > 0) {
const card = drawn[0]
const val = SYSTEM.TAROT_VALEURS[card.valeur]?.value ?? 0
this._total = val
this._evaluated = true
this._formula = `${card.name} (${val})`
this._formula = "1d1"
this._dice = []
this._terms = []
this.options.cardDraw = {
name: card.name,
img: card.img,