Checkbox et regles d'appel au moral
This commit is contained in:
@ -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: '' };
|
||||
|
Reference in New Issue
Block a user