Data model change
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user