forked from public/foundryvtt-reve-de-dragon
Checkbox et regles d'appel au moral
This commit is contained in:
@ -37,23 +37,26 @@ export class RdDRoll extends Dialog {
|
||||
ajustementsConditions: CONFIG.RDD.ajustementsConditions,
|
||||
difficultesLibres: CONFIG.RDD.difficultesLibres,
|
||||
etat: actor.getEtatGeneral(),
|
||||
moral: actor.getMoralTotal(),
|
||||
moral: actor.getMoralTotal(), /* La valeur du moral pour les jets de volonté */
|
||||
carac: actor.data.data.carac,
|
||||
finalLevel: 0,
|
||||
diffConditions: 0,
|
||||
diffLibre: rollData.competence?.data.default_diffLibre ?? 0,
|
||||
malusArmureValue: actor.getMalusArmure(),
|
||||
surencMalusFlag: actor.isPersonnage() ? (actor.data.data.compteurs.surenc.value < 0) : false,
|
||||
surencMalusFlag: actor.isPersonnage() ? (actor.data.data.compteurs.surenc.value < 0) : false,
|
||||
surencMalusValue: actor.getSurenc(),
|
||||
useMalusSurenc: false,
|
||||
use: { libre:true, conditions: true, surenc: false, encTotal: false, },
|
||||
appelAuMoralDemander :false,
|
||||
use: { libre:true, conditions: true, surenc: false, encTotal: false, appelAuMoral : false },
|
||||
isMalusEncombrementTotal: RdDItemCompetence.isMalusEncombrementTotal(rollData.competence),
|
||||
useMalusEncTotal: false,
|
||||
encTotal: actor.getEncTotal(),
|
||||
ajustementAstrologique: actor.ajustementAstrologique(),
|
||||
surprise: actor.getSurprise(false),
|
||||
}
|
||||
console.log("defaultRollData.appelAuMoralFlag : "+defaultRollData.appelAuMoralFlag);
|
||||
mergeObject(rollData, defaultRollData, { recursive: true, overwrite: false });
|
||||
console.log("rollData.appelAuMoralFlag : "+rollData.appelAuMoralFlag);
|
||||
if ( rollData.forceCarac) {
|
||||
rollData.carac = rollData.forceCarac;
|
||||
}
|
||||
@ -187,6 +190,23 @@ export class RdDRoll extends Dialog {
|
||||
this.rollData.useMalusEncTotal = event.currentTarget.checked;
|
||||
this.updateRollResult();
|
||||
});
|
||||
html.find('#useAppelAuMoralCheckbox').change((event) => { /* l'appel au moral, qui donne un bonus de +1 */
|
||||
|
||||
console.log("#useAppelAuMoralCheckbox");
|
||||
//console.log("surencMalusFlag : "+surencMalusFlag);
|
||||
console.log("this.appelAuMoralFlag : "+this.appelAuMoralFlag);
|
||||
console.log("this.rollData.moral : "+this.rollData.moral);
|
||||
console.log("this.rollData.ajustements : "+this.rollData.ajustements);
|
||||
console.log("this.rollData.ajustements.moral : "+this.rollData.ajustements.moral);
|
||||
console.log("this.rollData.ajustements.moral.isVisible : "+this.rollData.ajustements.moral.isVisible);
|
||||
console.log("event.currentTarget.checked : "+event.currentTarget.checked);
|
||||
console.log("this.rollData.use.appelAuMoral : "+this.rollData.use.appelAuMoral);
|
||||
this.rollData.appelAuMoralDemander = event.currentTarget.checked
|
||||
// this.rollData.use.appelAuMoral = event.currentTarget.checked
|
||||
console.log("this.rollData.moral : "+this.rollData.moral);
|
||||
console.log("this.rollData.use.appelAuMoral : "+this.rollData.use.appelAuMoral);
|
||||
this.updateRollResult();
|
||||
});
|
||||
// Section Méditation
|
||||
html.find('.conditionMeditation').change((event) => {
|
||||
let condition = event.currentTarget.attributes['id'].value;
|
||||
@ -198,7 +218,7 @@ export class RdDRoll extends Dialog {
|
||||
/* -------------------------------------------- */
|
||||
async updateRollResult() {
|
||||
let rollData = this.rollData;
|
||||
|
||||
|
||||
rollData.dmg = rollData.attackerRoll?.dmg ?? RdDBonus.dmg(rollData, this.actor.getBonusDegat());
|
||||
rollData.caracValue = parseInt(rollData.selectedCarac.value);
|
||||
rollData.coupsNonMortels = (rollData.attackerRoll?.dmg.mortalite ?? rollData.dmg.mortalite) == 'non-mortel';
|
||||
@ -211,10 +231,28 @@ export class RdDRoll extends Dialog {
|
||||
rollData.bonus = RdDItemSort.getCaseBonus(rollData.selectedSort, rollData.coord);
|
||||
}
|
||||
|
||||
/* ! actor.isPersonnage() || */
|
||||
if ( ! RdDCarac.isActionPhysique(rollData.selectedCarac) ) {
|
||||
rollData.use.appelAuMoral = false;
|
||||
} else {
|
||||
rollData.use.appelAuMoral = rollData.appelAuMoralDemander;
|
||||
}
|
||||
|
||||
|
||||
RollDataAjustements.calcul(rollData, this.actor);
|
||||
rollData.finalLevel = this._computeFinalLevel(rollData);
|
||||
|
||||
console.log("updateRollResult");
|
||||
console.log("rollData.ajustements.moralTotal.used: "+rollData.ajustements.moralTotal.used);
|
||||
console.log("rollData.ajustements.moral.used: "+rollData.ajustements.moral.used);
|
||||
console.log("rollData.use.appelAuMoral: "+rollData.use.appelAuMoral);
|
||||
console.log("rollData.selectedCarac: ");
|
||||
console.log(rollData.selectedCarac);
|
||||
console.log("RdDCarac.isActionPhysique(rollData.selectedCarac): "+RdDCarac.isActionPhysique(rollData.selectedCarac));
|
||||
|
||||
HtmlUtility._showControlWhen($(".diffMoral"), rollData.ajustements.moralTotal.used);
|
||||
HtmlUtility._showControlWhen($(".diffAppelAuMoral"), RdDCarac.isActionPhysique(rollData.selectedCarac) );
|
||||
HtmlUtility._showControlWhen($(".diffAppelAuMoral-checker"), RdDCarac.isActionPhysique(rollData.selectedCarac) );
|
||||
HtmlUtility._showControlWhen($("#etat-general"), !RdDCarac.isIgnoreEtatGeneral(rollData.selectedCarac, rollData.competence));
|
||||
HtmlUtility._showControlWhen($("#ajust-astrologique"), RdDResolutionTable.isAjustementAstrologique(rollData));
|
||||
|
||||
|
Reference in New Issue
Block a user