Checkbox et regles d'appel au moral

This commit is contained in:
LeFelis
2021-02-09 23:23:40 +01:00
parent 0c7a0e413d
commit 771622564a
9 changed files with 107 additions and 11 deletions

View File

@ -1593,7 +1593,15 @@ export class RdDActor extends Actor {
action: r => this._appliquerAjoutExperience(r, game.settings.get("core", "rollMode") != 'blindroll')
};
}
/* -------------------------------------------- */
createCallbackAppelAuMoral() {
return {
condition: r => r.use.appelAuMoral && game.settings.get("core", "rollMode") != 'selfroll',
action: r => { console.log("createCallbackAppelAuMoral"); this.displayAppelAuMoral ; console.log(r.rolled.isEchec); this._appliquerAppelMoral(r, game.settings.get("core", "rollMode") != 'blindroll') }
};
}
/* -------------------------------------------- */
async checkCaracXP(caracName) {
let carac = this.data.data.carac[caracName];
@ -1663,6 +1671,27 @@ export class RdDActor extends Actor {
if (xpResult && xpResult.xpCarac > 0 && rollData.selectedCarac) {
this.checkCaracXP(rollData.selectedCarac.name);
}
}
/* -------------------------------------------- */
async _appliquerAppelMoral(rollData, display = true) {
console.log("_appliquerAppelMoral");
console.log("_appliquerAppelMoral");
console.log("_appliquerAppelMoral");
console.log("_appliquerAppelMoral");
console.log(rollData);
console.log(this.name);
console.log(this);
if (!this.isPersonnage()) return;
if (!rollData.rolled.isEchec) return;
const waitUpdate = this.moralIncDec(-1); /* L'appel au moral a échoué. Le personnage perd un point de moral */
console.log("_appliquerAppelMoral : moral diminuer");
rollData.moralDiminuer = true;
rollData.moralActualiser = 7;
await waitUpdate;
rollData.moralActualiser = this.getMoralTotal();
console.log("rollData.moralDiminuer: "+rollData.moralDiminuer);
console.log("rollData.moralActualiser: "+rollData.moralActualiser);
}
/* -------------------------------------------- */
@ -1967,6 +1996,7 @@ export class RdDActor extends Actor {
label: 'Jet ' + Grammar.apostrophe('de', name),
callbacks: [
this.createCallbackExperience(),
this.createCallbackAppelAuMoral(),
{ action: r => this._competenceResult(r) }
]
});
@ -2210,7 +2240,9 @@ export class RdDActor extends Actor {
async _competenceResult(rollData) {
RdDResolutionTable.displayRollData(rollData, this, 'chat-resultat-competence.html')
}
async _moralDecrease(rollData) {
RdDResolutionTable.displayRollData(rollData, this, 'chat-resultat-competence.html')
}
/* -------------------------------------------- */
async rollAppelChance(onSuccess = () => { }, onEchec = () => { }) {
let rollData = { selectedCarac: this.getCaracByName('chance-actuelle'), surprise: '' };