forked from public/foundryvtt-reve-de-dragon
Merge v1.3 dans appel au moral
This commit is contained in:
@ -7,6 +7,8 @@ import { RdDRollResolutionTable } from "./rdd-roll-resolution-table.js";
|
||||
import { RdDItemCompetenceCreature } from "./item-competencecreature.js";
|
||||
import { RdDItemArme } from "./item-arme.js";
|
||||
import { RdDItemCompetence } from "./item-competence.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const categorieCompetences = {
|
||||
@ -95,7 +97,6 @@ function _buildAllSegmentsFatigue(max) {
|
||||
ligneFatigue[caseIncrementee + 6]++;
|
||||
ligneFatigue.fatigueMax = 2 * (i + 1);
|
||||
fatigue[i + 1] = ligneFatigue;
|
||||
|
||||
}
|
||||
return fatigue;
|
||||
}
|
||||
@ -128,18 +129,6 @@ const fatigueMarche = {
|
||||
"tresdifficile": { "4": 4, "6": 6 }
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Static tables for commands /table */
|
||||
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 },
|
||||
"tete": { descr: "tete: Tire une Tête de Dragon", func: RdDRollTables.getTete },
|
||||
"souffle": { descr: "souffle: Tire un Souffle de Dragon", func: RdDRollTables.getSouffle },
|
||||
"tarot": { descr: "tarot: Tire une carte de Tarot Dracnique", func: RdDRollTables.getTarot }
|
||||
};
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const definitionsBlessures = [
|
||||
{ type: "legere", facteur: 2 },
|
||||
@ -265,6 +254,11 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/chat-actor-carac-xp.html'
|
||||
];
|
||||
|
||||
Handlebars.registerHelper('upperFirst', str=> Misc.upperFirst(str ?? 'Null'));
|
||||
Handlebars.registerHelper('upper', str => str?.toUpperCase() ?? 'NULL' );
|
||||
Handlebars.registerHelper('le', str => Grammar.articleDetermine(str) );
|
||||
Handlebars.registerHelper('un', str => Grammar.articleIndetermine(str) );
|
||||
|
||||
return loadTemplates(templatePaths);
|
||||
}
|
||||
|
||||
@ -320,6 +314,7 @@ export class RdDUtility {
|
||||
data.data.chants = this.checkNull(data.itemsByType['chant']);
|
||||
data.data.danses = this.checkNull(data.itemsByType['danse']);
|
||||
data.data.musiques = this.checkNull(data.itemsByType['musique']);
|
||||
data.data.oeuvres = this.checkNull(data.itemsByType['oeuvre']);
|
||||
data.data.jeux = this.checkNull(data.itemsByType['jeu']);
|
||||
data.data.recettescuisine = this.checkNull(data.itemsByType['recettecuisine']);
|
||||
data.data.recettesAlchimiques = this.checkNull(data.itemsByType['recettealchimique']);
|
||||
@ -584,18 +579,23 @@ export class RdDUtility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getLocalisation() {
|
||||
// TODO: bouger dans une RollTable du compendium et chercher dans les RoolTable puis compendium pour permettre le changement?
|
||||
static getLocalisation( type = 'personnage' ) {
|
||||
let result = new Roll("1d20").roll().total;
|
||||
let txt = ""
|
||||
if (result <= 3) txt = "Jambe, genou, pied, jarret";
|
||||
else if (result <= 7) txt = "Hanche, cuisse, fesse";
|
||||
else if (result <= 9) txt = "Ventre, reins";
|
||||
else if (result <= 12) txt = "Poitrine, dos";
|
||||
else if (result <= 14) txt = "Avant-bras, main, coude";
|
||||
else if (result <= 18) txt = "Epaule, bras, omoplate";
|
||||
else if (result == 19) txt = "Tête";
|
||||
else if (result == 20) txt = "Tête (visage)";
|
||||
if ( type == 'personnage') {
|
||||
if (result <= 3) txt = "Jambe, genou, pied, jarret";
|
||||
else if (result <= 7) txt = "Hanche, cuisse, fesse";
|
||||
else if (result <= 9) txt = "Ventre, reins";
|
||||
else if (result <= 12) txt = "Poitrine, dos";
|
||||
else if (result <= 14) txt = "Avant-bras, main, coude";
|
||||
else if (result <= 18) txt = "Epaule, bras, omoplate";
|
||||
else if (result == 19) txt = "Tête";
|
||||
else if (result == 20) txt = "Tête (visage)";
|
||||
} else {
|
||||
if (result <= 7) txt = "Jambes/Pattes";
|
||||
else if (result <= 18) txt = "Corps";
|
||||
else if (result <= 20) txt = "Tête";
|
||||
}
|
||||
|
||||
return { result: result, label: txt };
|
||||
}
|
||||
@ -1024,5 +1024,22 @@ export class RdDUtility {
|
||||
ui.notifications.warn("Pas d'heure de naissance selectionnée")
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------- */
|
||||
static checkThanatosXP(compName) {
|
||||
if ( compName.includes('Thanatos') ) {
|
||||
let message = "Vous avez mis des points d'Expérience dans la Voie de Thanatos !<br>Vous devez réduire manuellement d'un même montant d'XP une autre compétence Draconique.";
|
||||
ChatMessage.create({
|
||||
whisper: ChatMessage.getWhisperRecipients(game.user.name),
|
||||
content: message
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------- */
|
||||
static async onRenderChatMessage( app, html, msg ) {
|
||||
// TODO
|
||||
//console.log(app, html, msg);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user