Fixes attribute roll click.

This commit is contained in:
mstein 2023-01-02 17:37:14 +01:00
parent 7340aa2426
commit c0dd5b584a
3 changed files with 31 additions and 5 deletions

View File

@ -141,6 +141,23 @@ export class M5Roll { // extends Roll<M5RollData>
return new M5Roll(rollData, actor, (game as Game).i18n.localize(`midgard5.actor-${attributeKey}-long`)) return new M5Roll(rollData, actor, (game as Game).i18n.localize(`midgard5.actor-${attributeKey}-long`))
} }
static fromAttributeValue(actor: any, attributeKey: string, attributeValue: number) {
const rollData = actor.getRollData() as M5RollData
rollData.i = attributeValue
rollData.rolls["0"] = {
formula: "@i - 1d100",
enabled: true,
label: (game as Game).i18n.localize("midgard5.pw"),
result: "",
total: 0,
totalStr: "",
dice: {},
css: ""
} as M5RollResult
return new M5Roll(rollData, actor, (game as Game).i18n.localize(`midgard5.actor-${attributeKey}-long`))
}
static brawl(actor: any) { static brawl(actor: any) {
const rollData = actor.getRollData() as M5RollData const rollData = actor.getRollData() as M5RollData
rollData.i = { rollData.i = {

View File

@ -70,9 +70,18 @@ export default class M5CharacterSheet extends ActorSheet {
}) })
html.find(".roll-attribute-button").on("click", async (event) => { html.find(".roll-attribute-button").on("click", async (event) => {
const attributeStr = event.target.dataset["attribute"] let elem = event.target
const roll = M5Roll.fromAttribute(this.actor, attributeStr) let attributeStr = elem.dataset["attribute"]
console.log("roll-attribute-button", roll) while (!attributeStr) {
elem = elem.parentElement
if (!elem)
return
attributeStr = elem.dataset["attribute"]
}
const attributeValue = parseInt(elem.dataset["value"])
const roll = M5Roll.fromAttributeValue(this.actor, attributeStr, attributeValue)
//console.log("roll-attribute-button", parent, attributeStr, attributeValue, roll)
await roll.toMessage() await roll.toMessage()
}) })

View File

@ -1,7 +1,7 @@
<div class="attribute"> <div class="attribute" data-attribute="{{attributeId}}" data-value="{{calc.value}}">
<div class="attribute-header">{{localize (m5concat "midgard5.actor-" attributeId "-long")}}</div> <div class="attribute-header">{{localize (m5concat "midgard5.actor-" attributeId "-long")}}</div>
<div class="attribute-main"> <div class="attribute-main roll-attribute-button">
<div class="attribute-main-value">{{calc.value}}</div> <div class="attribute-main-value">{{calc.value}}</div>
<div class="attribute-main-bonus">{{calc.bonus}}</div> <div class="attribute-main-bonus">{{calc.bonus}}</div>
</div> </div>