diff --git a/module/actor.js b/module/actor.js index 2a833381..6fbcb975 100644 --- a/module/actor.js +++ b/module/actor.js @@ -2514,7 +2514,7 @@ export class RdDActor extends Actor { let competence = this.data.items.find(item => item.type == 'competence' && item.name.toLowerCase() == "alchimie"); let diffAlchimie = RdDAlchimie.getDifficulte(alchimieData); let rollData = { - recetteName: recette.name, + recette: recette, competence: competence, diffLibre: diffAlchimie // Per default at startup } @@ -2550,39 +2550,28 @@ export class RdDActor extends Actor { /* -------------------------------------------- */ buildVehiculesList() { - if ( !this.data.data.subacteurs) return []; - let myArray = []; - for (let vehiculeLink of this.data.data.subacteurs.vehicules) { - let vehicule = game.actors.get( vehiculeLink.id ); - myArray.push( { id: vehiculeLink.id, name: vehicule.data.name, categorie: vehicule.data.data.categorie, - structure: vehicule.data.data.structure, img: vehicule.data.img } ); - - } - return myArray; + return this._buildActorLinksList( + this.data.data.subacteurs?.vehicules??[], + vehicle => {return { id: vehicle.id, name: vehicle.data.name, categorie: vehicle.data.data.categorie, + structure: vehicle.data.data.structure, img: vehicle.data.img } ;}); } /* -------------------------------------------- */ buildSuivantsList() { - if ( !this.data.data.subacteurs) return []; - let myArray = []; - for (let suivantLink of this.data.data.subacteurs.suivants) { - let suivant = game.actors.get( suivantLink.id ); - myArray.push( { id: suivantLink.id, name: suivant.data.name, img: suivant.data.img } ); - } - return myArray; + return this._buildActorLinksList(this.data.data.subacteurs?.suivants ?? []); } /* -------------------------------------------- */ buildMonturesList() { - if ( !this.data.data.subacteurs) return []; - let myArray = []; - for (let montureLink of this.data.data.subacteurs.montures) { - let monture = game.actors.get( montureLink.id ); - myArray.push( { id: montureLink.id, name: monture.data.name, img: monture.data.img } ); - } - return myArray; + return this._buildActorLinksList(this.data.data.subacteurs?.montures ?? []); } - + + _buildActorLinksList(links, actorTransformation=it => { return { id: it.id, name: it.data.name, img: it.data.img }; }) { + return links.map(link => game.actors.get(link.id)) + .filter(it => it != null) + .map(actorTransformation); + } + /* -------------------------------------------- */ async pushSubacteur( actor, dataArray, dataPath, dataName ) { let alreadyPresent = dataArray.find( attached => attached.id == actor.data._id); diff --git a/module/rdd-commands.js b/module/rdd-commands.js index a9ecde4d..6f1eac94 100644 --- a/module/rdd-commands.js +++ b/module/rdd-commands.js @@ -225,7 +225,8 @@ export class RdDCommands { /* -------------------------------------------- */ async rollDeDraconique(msg) { let ddr = new DeDraconique().evaluate(); - await RdDDice.show(ddr, rollMode); + ddr.showDice = true; + await RdDDice.show(ddr); RdDCommands._chatAnswer(msg, `Lancer d'un Dé draconique: ${ddr.total}`); } diff --git a/module/rdd-main.js b/module/rdd-main.js index 83ae02c2..85b6e2a4 100644 --- a/module/rdd-main.js +++ b/module/rdd-main.js @@ -220,7 +220,6 @@ Hooks.once("init", async function () { RdDCombat.init(); RdDTokenHud.init(); RdDActor.init(); - StatusEffects.init(); }); /* -------------------------------------------- */ @@ -233,13 +232,16 @@ function messageDeBienvenue() {
Vous trouverez quelques informations pour démarrer dans ce document : @Compendium[foundryvtt-reve-de-dragon.rappel-des-regles.7uGrUHGdPu0EmIu2]{Documentation MJ/Joueurs}
La commande /aide dans le chat permet de voir les commandes spécifiques à Rêve de Dragon. ` }); - } + } } - -/* -------------------------------------------- */ -/* Foundry VTT Initialization */ -/* -------------------------------------------- */ + + /* -------------------------------------------- */ + /* Foundry VTT Initialization */ + /* -------------------------------------------- */ Hooks.once("ready", function () { + + StatusEffects.onReady(); + /* -------------------------------------------- */ /* Affiche/Init le calendrier */ let calendrier = new RdDCalendrier(); diff --git a/module/status-effects.js b/module/status-effects.js index 3e509e47..57d2b315 100644 --- a/module/status-effects.js +++ b/module/status-effects.js @@ -8,7 +8,7 @@ const statusDemiSurprise = new Set(['sonne', 'prone', 'restrain']); const statusSurpriseTotale = new Set(['unconscious', 'blind']); export class StatusEffects { - static init() { + static onReady() { StatusEffects.setCoreStatusId([demiReveStatusEffect]); StatusEffects.setCoreStatusId(rddStatusEffects); StatusEffects.setMandatoryRdd(); diff --git a/templates/chat-resultat-alchimie.html b/templates/chat-resultat-alchimie.html index 49ea46fc..42373912 100644 --- a/templates/chat-resultat-alchimie.html +++ b/templates/chat-resultat-alchimie.html @@ -1,3 +1,4 @@ +préparation alchimique

{{alias}} essaye de réaliser sa recette Alchimique : {{recette.name}}

@@ -5,8 +6,8 @@
{{#if rolled.isSuccess}} - {{alias}} a réussi son opération alchimiue ! Il/Elle peut passer à l'étape suivante de sa recette. + {{alias}} a réussi son opération alchimique ! Il/Elle peut passer à l'étape suivante de sa recette. {{else}} - {{alias}} a raté son opération Alchimique ! Sa recette est un echec. + {{alias}} a raté son opération alchimique ! Sa recette est un echec. {{/if}}
diff --git a/templates/chat-resultat-encaissement.html b/templates/chat-resultat-encaissement.html index 086e2c41..1c666f13 100644 --- a/templates/chat-resultat-encaissement.html +++ b/templates/chat-resultat-encaissement.html @@ -19,24 +19,26 @@ {{#unless (eq armure 0)}}, l'armure a protègé de {{armure}} {{#unless (eq penetration 0)}}(pénétration de {{penetration}}) {{/unless}} {{/unless}}, total: {{total}} -
+
{{alias}} subit - {{#if (gt eraflures 0)}}une contusion + {{#if (eq dmg.mortalite 'cauchemar')}}le coup + {{else if (gt eraflures 0)}}une contusion {{else if (gt legeres 0)}}une blessure légère {{else if (gt graves 0)}}une blessure grave {{else if (gt critiques 0)}}une blessure critique {{else}}Rien du tout {{/if}} - ({{dmg.loc.label}}) {{#if (gt endurance 0)}} - {{#if hasPlayerOwner}}, a perdu {{endurance}} points d'endurance - {{#if (ne vie 0)}}, {{vie}} points de vie{{/if}} - {{/if}} - {{#if (gt endurance 1)}} - et {{#if sonne}}est sonnécharge jusqu'à la fin du prochain round{{else}}n'est pas sonné{{/if}} - ({{jetEndurance}} / {{resteEndurance}})! - {{/if}} + {{#if hasPlayerOwner}}, a perdu {{endurance}} points d'endurance + {{#if (ne vie 0)}}, {{vie}} points de vie{{/if}} + {{/if}} + {{#if (ne dmg.mortalite 'cauchemar')}} + {{#if (gt endurance 1)}}et + {{#if sonne}}est sonnécharge jusqu'à la fin du prochain round{{else}}n'est pas sonné{{/if}} + ({{jetEndurance}} / {{resteEndurance}})! + {{/if}} + {{/if}} {{/if}} {{/if}} \ No newline at end of file