Amélioration chat-message
- utilisation de partial template - fixes mineurs (this sur static) - singulier/pluriel pour points de rêve/points de tâche
This commit is contained in:
@ -1331,6 +1331,7 @@ export class RdDActor extends Actor {
|
||||
ui.notifications.info("Aucun sort disponible!");
|
||||
return;
|
||||
}
|
||||
if ( this.currentTMR) this.currentTMR.minimize(); // Hide
|
||||
|
||||
let rollData = {
|
||||
selectedCarac: this.data.data.carac.reve,
|
||||
@ -1344,7 +1345,6 @@ export class RdDActor extends Actor {
|
||||
coutreve: Array(20).fill().map((item, index) => 1 + index)
|
||||
}
|
||||
|
||||
if ( this.currentTMR) this.currentTMR.minimize(); // Hide
|
||||
const dialog = await RdDRoll.create(this, rollData,
|
||||
{ html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-sort.html',
|
||||
close: html => { this.currentTMR.maximize() } // Re-display TMR
|
||||
@ -1528,10 +1528,7 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollCarac( caracName ) {
|
||||
let rollData = {
|
||||
selectedCarac: this.getCaracByName(caracName),
|
||||
diviseur : this.getDiviseurSignificative()
|
||||
};
|
||||
let rollData = { selectedCarac: this.getCaracByName(caracName) };
|
||||
|
||||
const dialog = await RdDRoll.create(this, rollData,
|
||||
{html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-carac.html'},
|
||||
@ -1550,15 +1547,12 @@ export class RdDActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async _onRollCaracResult(rollData) {
|
||||
// Final chat message
|
||||
await RdDResolutionTable.displayRollData(rollData, this.name);
|
||||
await RdDResolutionTable.displayRollData(rollData, this.name, 'chat-resultat-general.html');
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollCompetence( name ) {
|
||||
let rollData = {
|
||||
competence: this.getCompetence(name),
|
||||
diviseur : this.getDiviseurSignificative()
|
||||
}
|
||||
let rollData = { competence: this.getCompetence(name) }
|
||||
|
||||
if (rollData.competence.type == 'competencecreature') {
|
||||
// Fake competence pour créature
|
||||
@ -1610,17 +1604,15 @@ export class RdDActor extends Actor {
|
||||
competence.data.defaut_carac = tache.data.carac; // Patch !
|
||||
let rollData = {
|
||||
competence: competence,
|
||||
diviseur : this.getDiviseurSignificative(),
|
||||
tache: tache,
|
||||
diffConditions: tache.data.difficulte,
|
||||
editLibre: false,
|
||||
editConditions: false,
|
||||
actor: this
|
||||
}
|
||||
|
||||
rollData.carac = {};
|
||||
carac : { }
|
||||
};
|
||||
rollData.carac[tache.data.carac] = duplicate(this.data.data.carac[tache.data.carac]); // Single carac
|
||||
console.log("rollTache !!!", duplicate(rollData));
|
||||
|
||||
console.log("rollTache !!!", rollData);
|
||||
|
||||
const dialog = await RdDRoll.create(this, rollData, {html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-competence.html'}, {
|
||||
name: 'jet-competence',
|
||||
@ -1658,7 +1650,7 @@ export class RdDActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async rollAppelChance( )
|
||||
{
|
||||
let rollData = { selectedCarac: this.getCaracByName('chance-actuelle') };
|
||||
let rollData = { selectedCarac: this.getCaracByName('chance-actuelle'), surprise: '' };
|
||||
|
||||
const dialog = await RdDRoll.create(this, rollData,
|
||||
{ html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-carac.html'},
|
||||
@ -1676,18 +1668,9 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _appelChanceResult(rollData) {
|
||||
// TODO:
|
||||
const message = {
|
||||
user: game.user._id,
|
||||
alias: this.name,
|
||||
content: this.name + " fait appel à la chance" + RdDResolutionTable.explain(rollData.rolled)
|
||||
};
|
||||
if (rollData.rolled.isSuccess) {
|
||||
message.content += "<br>Un point de chance est dépensée, l'action peut être retentée"
|
||||
await this.chanceActuelleIncDec(-1)
|
||||
}
|
||||
ChatMessage.create(message);
|
||||
|
||||
RdDResolutionTable.displayRollData(rollData, this.name, 'chat-resultat-appelchance.html')
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,7 @@ export class ChatUtility {
|
||||
chatOptions.whisper = ChatUtility.getWhisperRecipients(rollMode, name);
|
||||
break;
|
||||
}
|
||||
chatOptions.alias = chatOptions.alias||name;
|
||||
ChatMessage.create(chatOptions);
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,7 @@ import { DeDraconique } from "./de-draconique.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
import { RdDResolutionTable } from "./rdd-resolution-table.js";
|
||||
import { RdDRollResolution } from "./rdd-roll-resolution.js";
|
||||
import { RdDRollResolutionTable } from "./rdd-roll-resolution-table.js";
|
||||
import { RdDRollTables } from "./rdd-rolltables.js";
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
import { TMRUtility } from "./tmr-utility.js";
|
||||
@ -167,7 +167,7 @@ export class RdDCommands {
|
||||
|
||||
async rollRdd(msg, params) {
|
||||
if (params.length == 0) {
|
||||
RdDRollResolution.open();
|
||||
RdDRollResolutionTable.open();
|
||||
}
|
||||
else {
|
||||
let flatParams = params.reduce((a, b) => `${a} ${b}`);
|
||||
|
@ -102,8 +102,9 @@ export class RdDResolutionTable {
|
||||
|
||||
static async displayRollData(rollData, userName, template = 'chat-resultat-general.html') {
|
||||
|
||||
let html = await RdDResolutionTable.buildRollDataHtml(rollData, template);
|
||||
ChatUtility.chatWithRollMode({ content: html }, userName)
|
||||
ChatUtility.chatWithRollMode(
|
||||
{ content: await RdDResolutionTable.buildRollDataHtml(rollData, template) },
|
||||
userName)
|
||||
}
|
||||
|
||||
static _buildAjustements(rollData) {
|
||||
@ -218,7 +219,7 @@ export class RdDResolutionTable {
|
||||
if (difficulte < -10) {
|
||||
return duplicate(levelDown.find(levelData => levelData.level == difficulte));
|
||||
}
|
||||
return duplicate(this.resolutionTable[caracValue][difficulte + 10]);
|
||||
return duplicate(RdDResolutionTable.resolutionTable[caracValue][difficulte + 10]);
|
||||
}
|
||||
|
||||
static isAjustementAstrologique(rollData) {
|
||||
@ -342,10 +343,10 @@ export class RdDResolutionTable {
|
||||
maxLevel = Math.max(Math.min(maxLevel, 22), minLevel + countColonnes);
|
||||
|
||||
let table = $("<table class='table-resolution'/>")
|
||||
.append(this._buildHTMLHeader(this.resolutionTable[0], minLevel, maxLevel));
|
||||
.append(this._buildHTMLHeader(RdDResolutionTable.resolutionTable[0], minLevel, maxLevel));
|
||||
|
||||
for (var rowIndex = minCarac; rowIndex <= maxCarac; rowIndex++) {
|
||||
table.append(this._buildHTMLRow(this.resolutionTable[rowIndex], rowIndex, caracValue, levelValue, minLevel, maxLevel));
|
||||
table.append(this._buildHTMLRow(RdDResolutionTable.resolutionTable[rowIndex], rowIndex, caracValue, levelValue, minLevel, maxLevel));
|
||||
}
|
||||
table.append("</table>");
|
||||
return table;
|
||||
|
@ -7,20 +7,18 @@ const titleTableDeResolution = 'Table de résolution';
|
||||
* @extends {Dialog}
|
||||
*/
|
||||
/* -------------------------------------------- */
|
||||
export class RdDRollResolution extends Dialog {
|
||||
export class RdDRollResolutionTable extends Dialog {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async open(rollData = {}) {
|
||||
RdDRollResolution._setDefaultOptions(rollData);
|
||||
RdDRollResolutionTable._setDefaultOptions(rollData);
|
||||
let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/dialog-roll-resolution.html', rollData);
|
||||
const dialog = new RdDRollResolution(rollData, html);
|
||||
const dialog = new RdDRollResolutionTable(rollData, html);
|
||||
dialog.render(true);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _setDefaultOptions(rollData) {
|
||||
|
||||
|
||||
let defRollData = {
|
||||
show: { title: titleTableDeResolution },
|
||||
ajustementsConditions: CONFIG.RDD.ajustementsConditions,
|
||||
@ -62,8 +60,8 @@ export class RdDRollResolution extends Dialog {
|
||||
/* -------------------------------------------- */
|
||||
async onAction(html) {
|
||||
await RdDResolutionTable.rollData(this.rollData);
|
||||
console.log("RdDRollResolution -=>", this.rollData, this.rollData.rolled);
|
||||
await RdDResolutionTable.displayRollData(rollData, game.user.name)
|
||||
console.log("RdDRollResolutionTable -=>", this.rollData, this.rollData.rolled);
|
||||
await RdDResolutionTable.displayRollData(this.rollData, game.user.name);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
@ -50,7 +50,8 @@ export class RdDRoll extends Dialog {
|
||||
isMalusEncombrementTotal: RdDItemCompetence.isMalusEncombrementTotal(rollData.competence),
|
||||
useMalusEncTotal: false,
|
||||
encTotal: actor.getEncombrementTotal(),
|
||||
ajustementAstrologique: actor.ajustementAstrologique()
|
||||
ajustementAstrologique: actor.ajustementAstrologique(),
|
||||
surprise: actor.getSurprise()
|
||||
}
|
||||
mergeObject(rollData, defaultRollData, { overwrite: false });
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
/* Common useful functions shared between objects */
|
||||
|
||||
import { TMRUtility } from "./tmr-utility.js";
|
||||
import { RdDRollTables } from "./rdd-rolltables.js";
|
||||
import { ChatUtility } from "./chat-utility.js";
|
||||
import { RdDItemCompetence } from "./item-competence.js";
|
||||
import { RdDCombat } from "./rdd-combat.js";
|
||||
import { RdDRollResolution } from "./rdd-roll-resolution.js";
|
||||
import { RdDRollResolutionTable } from "./rdd-roll-resolution-table.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const level_category = {
|
||||
@ -92,7 +91,7 @@ const fatigueMarche = { "aise": { "4":1, "6":2, "8":3, "10":4, "12":6 },
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Static tables for commands /table */
|
||||
const table2func = { "rdd": { descr: "rdd: Ouvre la table de résolution", func: RdDRollResolution.open },
|
||||
const table2func = { "rdd": { descr: "rdd: Ouvre la table de résolution", func: RdDRollResolutionTable.open },
|
||||
"queues": { descr: "queues: Tire une queue de Dragon", func: RdDRollTables.getQueue},
|
||||
"ombre": { descr: "ombre: Tire une Ombre de Dragon", func: RdDRollTables.getOmbre },
|
||||
"tetehr": { descr: "tetehr: Tire une Tête de Dragon pour Hauts Revants", fund: RdDRollTables.getTeteHR},
|
||||
@ -198,6 +197,7 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/hud-actor-init.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/hud-actor-attaque.html',
|
||||
// messages tchat
|
||||
'systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-appelchance.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-attaque.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-parade.html',
|
||||
|
Reference in New Issue
Block a user