diff --git a/src/Dialogs/FernkampfTrefferpunkte.hbs b/src/Dialogs/FernkampfTrefferpunkte.hbs index 80837b4..7a1a728 100644 --- a/src/Dialogs/FernkampfTrefferpunkte.hbs +++ b/src/Dialogs/FernkampfTrefferpunkte.hbs @@ -11,8 +11,13 @@ {{localize "DSA41.kampf.modifikator"}} {{>editable-input type="number" name="modifikator" value=(lookup formData "modifikator") }} + {{localize "DSA41.kampf.crit"}} + {{>editable-input type="checkbox" name="crit" class="center" value=(lookup formData "crit")}} +
+ {{#if formData.crit}}2 * {{localize "DSA41.kampf.crit"}}({{/if}} {{options.item.system.fernkampfwaffe.basis}}{{localize "DSA41.bewaffnung.fernkampfwaffe.basis"}} + {{#if formData.crit}}){{/if}} + {{lookup options.item.system.fernkampfwaffe formData.entfernung}}{{localize "DSA41.kampf.entfernung.label"}} + {{formData.modifikator}}{{localize "DSA41.kampf.modifikator"}}
diff --git a/src/lang/de.json b/src/lang/de.json index e82bad9..05b7c19 100644 --- a/src/lang/de.json +++ b/src/lang/de.json @@ -357,12 +357,13 @@ }, "kampf": { - "bewaffnung": "Bewaffnung", + "bewaffnung": "Bewaffnung", "attacke": "Attacke", "parade": "Parade", "trefferpunkte": "Trefferpunkte", "ruestungen": "Rüstungen", "modifikator": "Modifikator", + "crit": "Glückliche Attacke", "zielgroesse": { "label": "Zielgröße", diff --git a/src/main.mjs b/src/main.mjs index 43b65ca..c4e7dd1 100644 --- a/src/main.mjs +++ b/src/main.mjs @@ -664,7 +664,7 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) { position: { width: "800", height: "650" }, actions: { "roll": async function(event, target) { - const roll_formula = event.target.closest("[data-roll]").dataset.roll; + var roll_formula = event.target.closest("[data-roll]").dataset.roll; const roll_type = event.target.closest("[data-roll-type]").dataset.rollType; const success_value = event.target.closest("[data-success-value]")?.dataset.successValue; const item_id = event.target.closest("[data-item-id]")?.dataset.itemId; @@ -693,6 +693,10 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) { const data = await DSA41_Dialog.wait("FernkampfTrefferpunkte", { window: { title: title }, item: item }); const entfernung = item.system.fernkampfwaffe[data.entfernung]; + if (data.crit == "on") { + roll_formula = "2 * (" + roll_formula + ")"; + } + let roll = new Roll(roll_formula + " + " + (entfernung + data.modifikator), this.document.system); roll.toMessage({ speaker: ChatMessage.getSpeaker({ actor: this.document }), @@ -701,7 +705,6 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) { return; } - let flavor = game.i18n.localize("DSA41.roll_types." + roll_type); if (typeof success_value !== 'undefined') { flavor += " <= " + success_value;