diff --git a/src/module/actor/actor-sheet.js b/src/module/actor/actor-sheet.js index ebf9587..e2e0706 100644 --- a/src/module/actor/actor-sheet.js +++ b/src/module/actor/actor-sheet.js @@ -164,7 +164,7 @@ export class OseActorSheet extends ActorSheet { let actorObject = this.actor; let element = event.currentTarget; let attack = element.parentElement.parentElement.dataset.attack; - actorObject.rollAttack({ label: this.actor.name, type: attack }, ev); + actorObject.rollAttack({ skipDialog: ev.ctrlKey }, { type: attack }); }); html.find(".spells .item-reset").click((ev) => { diff --git a/src/module/actor/entity.js b/src/module/actor/entity.js index 5de9a94..9e1fad1 100644 --- a/src/module/actor/entity.js +++ b/src/module/actor/entity.js @@ -393,12 +393,12 @@ export class OseActor extends Actor { if (ascending) { rollParts.push(data.thac0.bba.toString()); } - if (attData.type == "missile") { + if (options.type == "missile") { rollParts.push( data.scores.dex.mod.toString(), data.thac0.mod.missile.toString() ); - } else if (attData.type == "melee") { + } else if (options.type == "melee") { rollParts.push( data.scores.str.mod.toString(), data.thac0.mod.melee.toString() @@ -408,14 +408,14 @@ export class OseActor extends Actor { rollParts.push(attData.item.data.bonus); } let thac0 = data.thac0.value; - if (attData.type == "melee") { + if (options.type == "melee") { dmgParts.push(data.scores.str.mod); } const rollData = { actor: this.data, item: attData.item, roll: { - type: attData.type, + type: options.type, thac0: thac0, dmg: dmgParts, }, diff --git a/src/module/dice.js b/src/module/dice.js index 4b132fc..9b889cc 100644 --- a/src/module/dice.js +++ b/src/module/dice.js @@ -65,9 +65,13 @@ export class OseDice { }; // Optionally include a situational bonus - // if (form !== null) data["bonus"] = form.bonus.value; - if (data.item && data.item.data.bonus) parts.push(data.item.data.bonus); - + if (form !== null && form.bonus.value) { + parts.push(form.bonus.value); + } + if (data.item && data.item.data.bonus) { + parts.push(data.item.data.bonus.toString()); + } + console.log(parts); const roll = new Roll(parts.join("+"), data).roll(); // Convert the roll to a chat message and return the roll @@ -169,8 +173,9 @@ export class OseDice { }; // Optionally include a situational bonus - if (form !== null) data["bonus"] = form.bonus.value; - if (data["bonus"]) parts.push(data["bonus"]); + if (form !== null && form.bonus.value) parts.push(form.bonus.value); + + if (data.item && data.item.data.bonus) parts.push(data.item.data.bonus); const roll = new Roll(parts.join("+"), data).roll(); const dmgRoll = new Roll(data.roll.dmg.join("+"), data).roll(); @@ -243,7 +248,7 @@ export class OseDice { title = null, } = {}) { let rolled = false; - + console.log(data); const template = "systems/ose/templates/chat/roll-dialog.html"; let dialogData = { formula: parts.join(" "),