Manage luck with Edge

This commit is contained in:
2021-02-16 23:01:42 +01:00
parent e5fd4dc01f
commit de738326c9
8 changed files with 156 additions and 64 deletions

View File

@ -36,6 +36,7 @@ export class SoSFlipDialog extends Dialog {
scoreBase = this.flipData.stat.value;
}
scoreBase += this.flipData.malusConsequence;
scoreBase += this.flipData.bonusConsequence;
$('#score-base').text( scoreBase);
}
@ -46,7 +47,7 @@ export class SoSFlipDialog extends Dialog {
$("#view-deck").append(await flipData.actor.cardDeck.getDeckHTML());
$('.view-edge').remove();
$("#view-edge").append(await flipData.actor.cardDeck.getEdgeHTML());
$("#view-edge").append(await flipData.actor.cardDeck.getEdgeHTMLForFlip());
this.updateScoreBase();
@ -55,6 +56,7 @@ export class SoSFlipDialog extends Dialog {
flipData.modifier = $('#modifier').val();
flipData.tn = (flipData.target) ? flipData.target.actor.data.data.scores.defense.value : $('#tn').val();
flipData.edgeName = event.currentTarget.attributes['data-edge-card'].value;
flipData.edgeLuck = $('#edge-luck').is(":checked");
flipData.cardOrigin = "Edge";
if ( flipData.mode == 'skill' || flipData.mode == 'weapon') {
flipData.stat = duplicate( flipData.statList[ $('#statSelect').val() ] );
@ -67,8 +69,8 @@ export class SoSFlipDialog extends Dialog {
}
/* -------------------------------------------- */
updateConsequence(event) {
this.flipData.consequencesSelected = $('#consequenceSelect').val();
updateConsequenceMalus(event) {
this.flipData.consequencesSelected = $('#consequenceSelectMalus').val();
let malusConsequence = 0;
for (let consequenceId of this.flipData.consequencesSelected) {
let consequence = this.flipData.consequencesList.find( item => item._id == consequenceId);
@ -80,6 +82,20 @@ export class SoSFlipDialog extends Dialog {
this.updateScoreBase();
}
/* -------------------------------------------- */
updateConsequenceBonus(event) {
this.flipData.consequencesSelected = $('#consequenceSelectBonus').val();
let bonusConsequence = 0;
for (let consequenceId of this.flipData.consequencesSelected) {
let consequence = this.flipData.consequencesList.find( item => item._id == consequenceId);
console.log(consequence, consequenceId);
bonusConsequence += SoSUtility.getConsequenceBonus( consequence.data.severity );
}
$('#consequence-bonus').text(bonusConsequence);
this.flipData.bonusConsequence = bonusConsequence;
this.updateScoreBase();
}
/* -------------------------------------------- */
activateListeners(html) {
super.activateListeners(html);
@ -90,9 +106,6 @@ export class SoSFlipDialog extends Dialog {
function onLoad() {
let flipData = dialog.flipData;
//RdDItemSort.setCoutReveReel(rollData.selectedSort);
//$("#diffLibre").val(Misc.toInt(rollData.diffLibre));
//$("#diffConditions").val(Misc.toInt(rollData.diffConditions));
dialog.updateFlip(flipData);
}
@ -103,8 +116,11 @@ export class SoSFlipDialog extends Dialog {
this.updateFlip(dialog.flipData );
} );
html.find('#consequenceSelect').change((event) => {
this.updateConsequence( event );
html.find('#consequenceSelectMalus').change((event) => {
this.updateConsequenceMalus( event );
} );
html.find('#consequenceSelectBonus').change((event) => {
this.updateConsequenceBonus( event );
} );
html.find('.class-view-deck').click((event) => {