diff --git a/lang/en.json b/lang/en.json index fc7b4864..e13d6165 100755 --- a/lang/en.json +++ b/lang/en.json @@ -1017,13 +1017,15 @@ "major": { "label": "Major" }, "severe": { "label": "Severe" } }, - "hitPoints": { - "value": { "label": "Current" }, - "max": { "label": "Max" } - }, - "stress": { - "value": { "label": "Current" }, - "max": { "label": "Max" } + "resources": { + "hitPoints": { + "value": { "label": "Current" }, + "max": { "label": "Max" } + }, + "stress": { + "value": { "label": "Current" }, + "max": { "label": "Max" } + } }, "experiences": { "element": { diff --git a/module/applications/chatMessage.mjs b/module/applications/chatMessage.mjs index 30bd0a27..aef05bae 100644 --- a/module/applications/chatMessage.mjs +++ b/module/applications/chatMessage.mjs @@ -1,12 +1,8 @@ import { DualityRollColor } from '../data/settings/Appearance.mjs'; -import DHDualityRoll from "../data/chat-message/dualityRoll.mjs"; +import DHDualityRoll from '../data/chat-message/dualityRoll.mjs'; export default class DhpChatMessage extends foundry.documents.ChatMessage { async renderHTML() { - if (this.type === 'dualityRoll' || this.type === 'adversaryRoll' || this.type === 'abilityUse') { - this.content = await foundry.applications.handlebars.renderTemplate(this.content, this.system); - } - /* We can change to fully implementing the renderHTML function if needed, instead of augmenting it. */ const html = await super.renderHTML(); diff --git a/module/applications/sheets/adversary.mjs b/module/applications/sheets/adversary.mjs index 86ee79fc..8345b532 100644 --- a/module/applications/sheets/adversary.mjs +++ b/module/applications/sheets/adversary.mjs @@ -86,9 +86,8 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) { cls.create(msg.toObject()); } - static async attackRoll(event, button) { - const modifier = Number.parseInt(button.dataset.value); - + static async attackRoll() { + const { modifier, damage, name: attackName } = this.actor.system.attack; const { roll, dice, advantageState, modifiers } = await this.actor.diceRoll( { title: `${this.actor.name} - Attack Roll`, value: modifier }, event.shiftKey @@ -104,7 +103,7 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) { const cls = getDocumentClass('ChatMessage'); const systemData = { - title: button.dataset.name, + title: attackName, origin: this.document.id, roll: roll._formula, advantageState, @@ -112,7 +111,7 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) { modifiers: modifiers, dice: dice, targets: targets, - damage: { value: button.dataset.damage, type: button.dataset.damageType } + damage: { value: damage.value, type: damage.type } }; const msg = new cls({ type: 'adversaryRoll', diff --git a/module/data/adversary.mjs b/module/data/adversary.mjs index d2ac36bb..7e4c28f1 100644 --- a/module/data/adversary.mjs +++ b/module/data/adversary.mjs @@ -27,8 +27,10 @@ export default class DhpAdversary extends foundry.abstract.TypeDataModel { major: new fields.NumberField({ required: true, initial: 0, integer: true }), severe: new fields.NumberField({ required: true, initial: 0, integer: true }) }), - hitPoints: resourceField(), - stress: resourceField(), + resources: new fields.SchemaField({ + hitPoints: resourceField(), + stress: resourceField() + }), attack: new fields.SchemaField({ name: new fields.StringField({}), modifier: new fields.NumberField({ required: true, integer: true, initial: 0 }), diff --git a/module/documents/actor.mjs b/module/documents/actor.mjs index bc116550..d49d9afc 100644 --- a/module/documents/actor.mjs +++ b/module/documents/actor.mjs @@ -346,10 +346,7 @@ export default class DhpActor extends Actor { : 0; const update = { - 'system.resources.hitPoints.value': Math.min( - this.system.resources.hitPoints.value + hpDamage, - this.system.resources.hitPoints.max - ) + 'system.resources.hitPoints.value': Math.max(this.system.resources.hitPoints.value - hpDamage, 0) }; if (game.user.isGM) { diff --git a/templates/chat/adversary-attack-roll.hbs b/templates/chat/adversary-attack-roll.hbs index 3e805de9..d7cd9ecc 100644 --- a/templates/chat/adversary-attack-roll.hbs +++ b/templates/chat/adversary-attack-roll.hbs @@ -39,7 +39,7 @@ {{/if}}