From c0efa4072574842f7e2e12cb7bb8ba68aed92f88 Mon Sep 17 00:00:00 2001 From: U~man Date: Sat, 4 Jul 2020 23:12:35 +0200 Subject: [PATCH] ENH: Weapon name in attack --- src/module/actor/actor-sheet.js | 2 +- src/module/actor/entity.js | 13 ++++++------- src/module/dice.js | 8 ++++---- src/module/item/entity.js | 11 ++++------- .../actors/partials/character-attributes-tab.html | 4 ++-- .../actors/partials/monster-attributes-tab.html | 2 +- 6 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/module/actor/actor-sheet.js b/src/module/actor/actor-sheet.js index b5d81ae..102bd16 100644 --- a/src/module/actor/actor-sheet.js +++ b/src/module/actor/actor-sheet.js @@ -122,7 +122,7 @@ export class OseActorSheet extends ActorSheet { let actorObject = this.actor; let element = event.currentTarget; let attack = element.parentElement.parentElement.dataset.attack; - actorObject.rollAttack(attack, { event: event }); + actorObject.rollAttack({label: this.actor.name, type: attack}, { event: event }); }); super.activateListeners(html); diff --git a/src/module/actor/entity.js b/src/module/actor/entity.js index 6bb15cf..d09a4e3 100644 --- a/src/module/actor/entity.js +++ b/src/module/actor/entity.js @@ -104,19 +104,18 @@ export class OseActor extends Actor { }); } - rollAttack(attack, options = {}) { - const label = game.i18n.localize(`OSE.${attack}`); + rollAttack(attData, options = {}) { const rollParts = ["1d20"]; const data = this.data.data; - if (attack == "Missile") { + if (attData.type == "missile") { rollParts.push( "+", data.scores.dex.mod.toString(), "+", data.thac0.mod.missile.toString() ); - } else if (attack == "Melee") { + } else if (attData.type == "melee") { rollParts.push( "+", data.scores.str.mod.toString(), @@ -133,7 +132,7 @@ export class OseActor extends Actor { ...{ rollData: { type: "Attack", - stat: attack, + stat: attData.type, scores: data.scores, }, }, @@ -144,8 +143,8 @@ export class OseActor extends Actor { parts: rollParts, data: rollData, speaker: ChatMessage.getSpeaker({ actor: this }), - flavor: `${label} ${game.i18n.localize("OSE.Attack")}`, - title: `${label} ${game.i18n.localize("OSE.Attack")}`, + flavor: `${attData.label} - ${game.i18n.localize("OSE.Attack")}`, + title: `${attData.label} - ${game.i18n.localize("OSE.Attack")}`, }); } diff --git a/src/module/dice.js b/src/module/dice.js index c463de4..a6766c1 100644 --- a/src/module/dice.js +++ b/src/module/dice.js @@ -6,9 +6,9 @@ export class OseDice { if (data.rollData.type == "Attack") { if (game.settings.get("ose", "ascendingAC")) { let bba = data.data.thac0.bba; - if (data.rollData.stat == "Melee") { + if (data.rollData.stat == "melee") { bba += data.data.thac0.mod.melee + data.rollData.scores.str.mod; - } else if (data.rollData.stat == "Missile") { + } else if (data.rollData.stat == "missile") { bba += data.data.thac0.mod.missile + data.rollData.scores.dex.mod; } @@ -20,9 +20,9 @@ export class OseDice { } else { // B/X Historic THAC0 Calculation let thac = data.data.thac0.value; - if (data.rollData.stat == "Melee") { + if (data.rollData.stat == "melee") { thac -= data.data.thac0.mod.melee + data.rollData.scores.str.mod; - } else if (data.rollData.stat == "Missile") { + } else if (data.rollData.stat == "missile") { thac -= data.data.thac0.mod.missile + data.rollData.scores.dex.mod; } details = `
Failure (${thac})
`; diff --git a/src/module/item/entity.js b/src/module/item/entity.js index b0d395b..2882b9e 100644 --- a/src/module/item/entity.js +++ b/src/module/item/entity.js @@ -49,15 +49,13 @@ export class OseItem extends Item { rollWeapon() { if (this.data.data.missile) { - this.actor.rollAttack('Missile'); - return true; + this.actor.rollAttack({type: 'missile', label: this.name}); } else if (this.data.data.melee) { - this.actor.rollAttack('Melee'); - return true; + this.actor.rollAttack({type: 'melee', label: this.name}); } else { - this.actor.rollAttack(); + this.actor.rollAttack({type: 'raw', label: this.name}); } - return false; + return true; } async rollFormula(options={}) { @@ -86,7 +84,6 @@ export class OseItem extends Item { * @return {Promise} */ async roll({ configureDialog = true } = {}) { - console.log(this.data); if (this.data.type == 'weapon') { if (this.rollWeapon()) return; } diff --git a/src/templates/actors/partials/character-attributes-tab.html b/src/templates/actors/partials/character-attributes-tab.html index 831f4c9..20b345a 100644 --- a/src/templates/actors/partials/character-attributes-tab.html +++ b/src/templates/actors/partials/character-attributes-tab.html @@ -149,7 +149,7 @@