Files
fvtt-hamalron/module/documents/chat-message.mjs
T
uberwald c9c86e8c5f fix: sanitisation des formules de roll invalides au chargement
Les anciens messages d'initiative stockaient des formules comme
'3 de Bâton (3)' qui cassent Roll.parse(). Le override de
prepareDerivedData dans HamalronChatMessage valide chaque formule
via Roll.parse() et remplace par '1d6' si invalide.
2026-07-10 23:14:14 +02:00

34 lines
1022 B
JavaScript

export default class HamalronChatMessage extends ChatMessage {
/** @override */
prepareDerivedData() {
if (this._source?.rolls) {
for (const r of this._source.rolls) {
try {
Roll.parse(r.formula || "1d6")
} catch (e) {
r.formula = "1d6"
}
}
}
super.prepareDerivedData()
}
async _renderRollContent(messageData) {
const data = messageData.message
const { default: HamalronTirageTarot } = await import("./tirage-tarot.mjs")
if (this.rolls[0] instanceof HamalronTirageTarot) {
const isPrivate = !this.isContentVisible
const rollHTML = await this._renderRollHTML(isPrivate)
if (isPrivate) {
data.flavor = game.i18n.format("CHAT.PrivateRollContent", { user: this.user.name })
messageData.isWhisper = false
messageData.alias = this.user.name
}
data.content = `<section class="dice-rolls">${rollHTML}</section>`
return
}
return super._renderRollContent(messageData)
}
}