forked from public/foundryvtt-reve-de-dragon
Stress amélioré
Commande: /stress Ouvre une fenêtre pour gérer finement le stress (ou l'expérience) Commande: /stress <v> <motif> <nom> Stress donné à un acteur/joueur avec un nom proche Notifications des joueurs qui reçoivent du stress
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
/* -------------------------------------------- */
|
||||
|
||||
import { DialogCreateSigneDraconique } from "./dialog-create-signedraconique.js";
|
||||
import { DialogStress } from "./dialog-stress.js";
|
||||
import { RdDItemCompetence } from "./item-competence.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDCarac } from "./rdd-carac.js";
|
||||
@ -97,11 +98,12 @@ export class RdDCommands {
|
||||
});
|
||||
|
||||
rddCommands.registerCommand({
|
||||
path: ["/stress"], func: (content, msg, params) => RdDUtility.distribuerStress(params[0], params[1], params[2]),
|
||||
path: ["/stress"], func: (content, msg, params) => rddCommands.distribuerStress(params),
|
||||
descr: `Distribue du stress aux personnages. Exemples:
|
||||
<br><strong>/stress</strong> : Ouvre une fenêtre pour donner du stress ou de l'expérience à un ensemble de personnages
|
||||
<br><strong>/stress 6</strong> : Distribue 6 points des Stress à tout les personnages joueurs, sans raison renseignée
|
||||
<br><strong>/stress 6 Tigre</strong> : Distribue 6 points des Stress à tout les personnages joueurs, à cause d'un Tigre Vert
|
||||
<br><strong>/stress 6 Glou Paulo</strong> : Distribue 6 points de Stres à l'acteur connecté au joueur Paulo, à cause d'un Glou`
|
||||
<br><strong>/stress 6 Tigre</strong> : Distribue 6 points des Stress à tout les personnages joueurs, à cause d'un Tigre (Vert)
|
||||
<br><strong>/stress 6 Glou Paulo</strong> : Distribue 6 points de Stress au personnage Paulon ou au personnage joueur Paulo, à cause d'un Glou`
|
||||
});
|
||||
|
||||
game.system.rdd.commands = rddCommands;
|
||||
@ -289,7 +291,7 @@ export class RdDCommands {
|
||||
finalLevel: diff,
|
||||
showDice: true,
|
||||
diviseurSignificative: significative ? 2 : 1,
|
||||
show: { title: "Table de résolution"}
|
||||
show: { title: "Table de résolution" }
|
||||
};
|
||||
await RdDResolutionTable.rollData(rollData);
|
||||
RdDCommands._chatAnswer(msg, await RdDResolutionTable.buildRollDataHtml(rollData));
|
||||
@ -297,7 +299,7 @@ export class RdDCommands {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollDeDraconique(msg) {
|
||||
let ddr = await RdDDice.rollTotal("1dr + 7", { showDice:true });
|
||||
let ddr = await RdDDice.rollTotal("1dr + 7", { showDice: true });
|
||||
RdDCommands._chatAnswer(msg, `Lancer d'un Dé draconique: ${ddr}`);
|
||||
}
|
||||
|
||||
@ -351,5 +353,41 @@ export class RdDCommands {
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
async distribuerStress(params) {
|
||||
if (!game.user.isGM) {
|
||||
ui.notifications.warn("Seul le MJ est autorisé à utiliser la commande /stress");
|
||||
return false;
|
||||
}
|
||||
if (params.length == 0) {
|
||||
DialogStress.distribuerStress();
|
||||
}
|
||||
else {
|
||||
let stress = params[0]
|
||||
if (stress == undefined) {
|
||||
ui.notifications.warn("Pas de valeur de stress à distribuer!");
|
||||
return;
|
||||
}
|
||||
|
||||
let motif = params[1];
|
||||
let name = params[2];
|
||||
if (name == undefined) {
|
||||
for (let actor of game.actors) {
|
||||
actor.distribuerStress('stress', stress, motif);
|
||||
}
|
||||
} else {
|
||||
//console.log(stressValue, nomJoueur);
|
||||
let actor = Misc.findActor(name, game.actors.filter(it => it.hasPlayerOwner)) ?? Misc.findPlayer(name)?.character
|
||||
if (actor) {
|
||||
actor.distribuerStress('stress', stress, motif);
|
||||
}
|
||||
else {
|
||||
ui.notifications.warn(`Pas de personnage ou de joueur correspondant à ${name}!`);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user