3df46b5848
- Extract all inline HTML from JS into 21 Handlebars templates (chat/, dialogs/, ui/) - Split utils.mjs (1507) into barrel + helpers.mjs, combat.mjs, d30.mjs - Split roll.mjs (1632) into barrel + roll-base.mjs, roll-prompt.mjs, roll-combat.mjs, roll-damage.mjs - Split lethal-fantasy.mjs (1426) into bootstrap + chat-reaction.mjs - Fix: missing async on injectDiceTray (free-roll.mjs:29 SyntaxError) - Fix: weapon._id fallback for deserialized chat-message weapon objects - Fix: missing await on rollModifier.evaluate() calls in roll-combat.mjs - Fix: choices→choicesList ReferenceError in utils.mjs - Fix: add 12 missing i18n keys (chooseWeapon, chooseSave, attackRoll, etc.) - Fix: restore sideLabel in bonus-die-select.hbs - Clean: remove dead messageContent param, console.log→log() - Style: barrel files preserve existing import paths
23 lines
844 B
JavaScript
23 lines
844 B
JavaScript
import LethalFantasyRoll from "./roll.mjs"
|
|
|
|
export default class LethalFantasyChatMessage extends ChatMessage {
|
|
|
|
async _renderRollContent(messageData) {
|
|
const data = messageData.message
|
|
if (this.rolls[0] instanceof LethalFantasyRoll) {
|
|
const isPrivate = !this.isContentVisible
|
|
// _renderRollHTML va appeler render sur tous les rolls
|
|
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 = await foundry.applications.handlebars.renderTemplate("systems/fvtt-lethal-fantasy/templates/chat/dice-rolls.hbs", {rollHTML})
|
|
return
|
|
}
|
|
|
|
return super._renderRollContent(messageData)
|
|
}
|
|
}
|