This commit is contained in:
2021-02-09 23:32:55 +01:00
parent 92f8fe4ee8
commit 42af291a7c
25 changed files with 587 additions and 62 deletions

View File

@ -1,3 +1,4 @@
import { SoSUtility } from "./sos-utility.js";
export class SoSFlipDialog extends Dialog {
@ -11,7 +12,7 @@ export class SoSFlipDialog extends Dialog {
},
default: 'flip'
};
super(conf, { classes: ["sosdialog"], width: 800, height: 800 });
super(conf, { classes: ["sosdialog"], width: 800 });
this.flipData = flipData;
}
@ -21,15 +22,32 @@ export class SoSFlipDialog extends Dialog {
this.close();
}
/* -------------------------------------------- */
updateScoreBase( ) {
let scoreBase = 0;
if ( this.flipData.mode == 'skill') {
let statKey = $('#statSelect').val();
this.flipData.stat = duplicate( this.flipData.statList[ statKey ] );
scoreBase = Math.floor(this.flipData.statList[ statKey ].value / 2) + this.flipData.skill.data.value;
} else { //Stat mode
let statKey = $('#statSelect').val();
scoreBase = this.flipData.stat.value;
}
scoreBase += this.flipData.malusConsequence;
$('#score-base').text( scoreBase);
}
/* -------------------------------------------- */
async updateFlip( flipData ) {
console.log("UPDATE !!!", flipData);
//console.log("UPDATE !!!", flipData);
$('.view-deck').remove();
$("#view-deck").append(await flipData.actor.cardDeck.getDeckHTML());
$('.view-edge').remove();
$("#view-edge").append(await flipData.actor.cardDeck.getEdgeHTML());
this.updateScoreBase();
$('.edge-card').click((event) => {
let flipData = duplicate(this.flipData);
flipData.modifier = $('#modifier').val();
@ -45,6 +63,20 @@ export class SoSFlipDialog extends Dialog {
}
/* -------------------------------------------- */
updateConsequence(event) {
this.flipData.consequencesSelected = $('#consequenceSelect').val();
let malusConsequence = 0;
for (let consequenceId of this.flipData.consequencesSelected) {
let consequence = this.flipData.consequencesList.find( item => item._id == consequenceId);
console.log(consequence, consequenceId);
malusConsequence += SoSUtility.getConsequenceMalus( consequence.data.severity );
}
$('#consequence-malus').text(malusConsequence);
this.flipData.malusConsequence = malusConsequence;
this.updateScoreBase();
}
/* -------------------------------------------- */
activateListeners(html) {
super.activateListeners(html);
@ -64,6 +96,14 @@ export class SoSFlipDialog extends Dialog {
// Setup everything onload
$(function () { onLoad(); });
html.find('#statSelect').change((event) => {
this.updateFlip(dialog.flipData );
} );
html.find('#consequenceSelect').change((event) => {
this.updateConsequence( event );
} );
html.find('.class-view-deck').click((event) => {
let flipData = duplicate(this.flipData);
flipData.modifier = html.find('#modifier').val();