Data model change

This commit is contained in:
2022-07-26 21:40:42 +02:00
parent eda4455be3
commit 80708e3f0a
10 changed files with 100 additions and 126 deletions

View File

@@ -325,10 +325,6 @@ export class CrucibleActor extends Actor {
/* -------------------------------------------- */
syncRoll(rollData) {
let linkedRollId = CrucibleUtility.getDefenseState(this.id);
if (linkedRollId) {
rollData.linkedRollId = linkedRollId;
}
this.lastRollId = rollData.rollId;
CrucibleUtility.saveRollData(rollData);
}
@@ -412,17 +408,16 @@ export class CrucibleActor extends Actor {
let rollData = this.getCommonRollData(abilityKey)
rollData.mode = "skill"
rollData.skill = skill
CrucibleUtility.rollCrucible(rollData)
this.startRoll(rollData)
}
}
/* -------------------------------------------- */
async startRoll(rollData) {
this.syncRoll(rollData);
//console.log("ROLL DATA", rollData)
this.syncRoll(rollData)
let rollDialog = await CrucibleRollDialog.create(this, rollData)
console.log(rollDialog)
rollDialog.render(true);
rollDialog.render(true)
}
}

View File

@@ -5,7 +5,7 @@ export class CrucibleRollDialog extends Dialog {
/* -------------------------------------------- */
static async create(actor, rollData) {
let options = { classes: ["CrucibleDialog"], width: 620, height: 480, 'z-index': 99999 };
let options = { classes: ["CrucibleDialog"], width: 420, height: 280, 'z-index': 99999 };
let html = await renderTemplate('systems/fvtt-crucible-rpg/templates/roll-dialog-generic.html', rollData);
return new CrucibleRollDialog(actor, rollData, html, options);
@@ -14,7 +14,7 @@ export class CrucibleRollDialog extends Dialog {
/* -------------------------------------------- */
constructor(actor, rollData, html, options, close = undefined) {
let conf = {
title: (rollData.mode == "skill") ? "Skill" : "Roll",
title: (rollData.mode == "skill") ? "Skill" : "Attribute",
content: html,
buttons: {
roll: {
@@ -58,50 +58,17 @@ export class CrucibleRollDialog extends Dialog {
}
$(function () { onLoad(); });
html.find('#statDicesLevel').change((event) => {
this.rollData.statDicesLevel = Number(event.currentTarget.value)
});
html.find('#specDicesLevel').change(async (event) => {
this.rollData.specDicesLevel = Number(event.currentTarget.value)
CrucibleUtility.updateSpecDicePool(this.rollData)
this.refreshDialog()
});
html.find('.effect-clicked').change(async (event) => {
let toggled = event.currentTarget.checked
let effectIdx = $(event.currentTarget).data("effect-idx")
this.manageEffects(effectIdx, toggled)
this.refreshDialog()
});
html.find('.armor-clicked').change((event) => {
let toggled = event.currentTarget.checked
let armorIdx = $(event.currentTarget).data("armor-idx")
this.manageArmors(armorIdx, toggled)
this.refreshDialog()
});
html.find('.weapon-clicked').change((event) => {
let toggled = event.currentTarget.checked
let weaponIdx = $(event.currentTarget).data("weapon-idx")
this.manageWeapons(weaponIdx, toggled)
this.refreshDialog()
});
html.find('.equip-clicked').change((event) => {
let toggled = event.currentTarget.checked
let equipIdx = $(event.currentTarget).data("equip-idx")
this.manageEquip(equipIdx, toggled)
})
html.find('.pool-add-dice').click(async (event) => {
let diceKey = $(event.currentTarget).data("dice-key")
let diceLevel = $(event.currentTarget).data("dice-level")
CrucibleUtility.addDicePool(this.rollData, diceKey, diceLevel)
html.find('#none-clicked').change((event) => {
this.rollData.advantage = "none"
this.refreshDialog()
})
html.find('.pool-remove-dice').click(async (event) => {
let idx = $(event.currentTarget).data("dice-idx")
CrucibleUtility.removeFromDicePool(this.rollData, idx)
html.find('#advantage-clicked').change((event) => {
this.rollData.advantage = "advantage"
this.refreshDialog()
})
html.find('#disadvantage-clicked').change((event) => {
this.rollData.advantage = "disadvantage"
this.refreshDialog()
})
}
}

View File

@@ -86,6 +86,7 @@ export class CrucibleUtility {
const templatePaths = [
'systems/fvtt-crucible-rpg/templates/editor-notes-gm.html',
'systems/fvtt-crucible-rpg/templates/partial-roll-select.html',
'systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html',
'systems/fvtt-crucible-rpg/templates/partial-actor-status.html',
'systems/fvtt-crucible-rpg/templates/partial-options-abilities.html',
@@ -266,7 +267,12 @@ export class CrucibleUtility {
if (rollData.skill) {
diceFormula += "+" + String(rollData.skill.data.level) + "d8cs>=5"
}
if(rollData.advantage == "advantage") {
diceFormula += "+ 1d10cs>=5"
}
if(rollData.advantage == "disadvantage") {
diceFormula += "- 1d10cs>=5"
}
// Performs roll
let myRoll = rollData.roll
if (!myRoll) { // New rolls only of no rerolls
@@ -370,6 +376,7 @@ export class CrucibleUtility {
let rollData = {
rollId: randomID(16),
rollMode: game.settings.get("core", "rollMode"),
advantage: "none"
}
CrucibleUtility.updateWithTarget(rollData)
return rollData