Modifikation für alle Würfe

This commit is contained in:
2024-03-25 21:55:44 +01:00
parent 7333b54a35
commit 332f035846
3 changed files with 54 additions and 54 deletions
-51
View File
@@ -77,17 +77,6 @@ export default class M5CharacterSheet extends ActorSheet {
let target = event.target.closest("[data-attribute]") as HTMLElement;
let attributeValue = target ? parseInt(target.dataset.value) : null;
let attributeStr = target ? target.dataset.attribute : null;
let hasFortune: boolean;
let taskType: string;
let useFortune: boolean;
let modifier: number;
let difficulty: number;
let closedRoll: boolean;
let checkOptions = await GetRollOptions({ hasFortune, taskType, useFortune, modifier, difficulty, closedRoll });
console.log("Check Options", checkOptions);
if (checkOptions["cancelled"]) {
return;
}
const roll = M5Roll.fromAttributeValue(this.actor, attributeStr, attributeValue);
await roll.toMessage();
});
@@ -527,43 +516,3 @@ export default class M5CharacterSheet extends ActorSheet {
return true;
}
}
async function GetRollOptions({
hasFortune = true,
taskType = null,
useFortune = false,
difficulty = 0,
modifier = 0,
closedRoll = false,
template = "systems/midgard5/templates/chat/task-check-dialog.hbs" } = {}) {
const html = await renderTemplate(template, { hasFortune, useFortune, difficulty, modifier, closedRoll });
return new Promise(resolve => {
const data = {
title: (game as Game).i18n.format("midgard5.chat.taskCheck.title", { type: taskType }),
content: html,
buttons: {
normal: {
label: (game as Game).i18n.localize("midgard5.chat.actions.roll"),
callback: html => resolve(_processTaskCheckOptions(html[0].querySelector("form")))
},
cancel: {
label: (game as Game).i18n.localize("midgard5.chat.actions.cancel"),
callback: html => resolve({ cancelled: true })
}
},
default: "normal",
close: () => resolve({ cancelled: true })
};
new Dialog(data, null).render(true);
});
}
function _processTaskCheckOptions(form) {
return {
difficulty: parseInt(form.difficulty?.value),
modifier: parseInt(form.modifier?.value),
useFortune: form.useFortune?.checked,
closedRoll: form.closedRoll?.checked
}
}