mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-14 13:34:40 +00:00
33 lines
1.9 KiB
JavaScript
33 lines
1.9 KiB
JavaScript
// ⚡ Zealous Hatred helper (DH2) — roll 1d5 crit OR add +1d5 dmg
|
|
new Dialog({
|
|
title: "⚡ Zealous Hatred",
|
|
content: `
|
|
<form>
|
|
<div class="form-group"><label>Wound damage after Armour/TB?</label>
|
|
<select name="penetrated"><option value="yes">Yes → roll Critical (1d5)</option><option value="no">No → add +1d5 damage</option></select></div>
|
|
<div class="form-group"><label>Damage Type</label>
|
|
<select name="dtype"><option>Energy</option><option>Impact</option><option>Rending</option><option>Explosive</option></select></div>
|
|
<div class="form-group"><label>Hit Location</label>
|
|
<select name="loc"><option>Head</option><option>Body</option><option>Left Arm</option><option>Right Arm</option><option>Left Leg</option><option>Right Leg</option></select></div>
|
|
<div class="form-group"><label>Table name (optional override)</label><input name="tname" type="text" placeholder="Crit: Energy - Head"/></div>
|
|
</form>`,
|
|
buttons: {
|
|
go: { label: "Resolve", callback: async html => {
|
|
const pen = html.find('[name="penetrated"]').val();
|
|
if (pen === "yes") {
|
|
const dtype = html.find('[name="dtype"]').val();
|
|
const loc = html.find('[name="loc"]').val();
|
|
const override = html.find('[name="tname"]').val()?.trim();
|
|
const name = override || `Crit: ${dtype} - ${loc}`;
|
|
const r = await (new Roll("1d5")).roll({async:true});
|
|
const table = game.tables.getName(name);
|
|
if (table) await table.draw({displayResults:true, roll:r});
|
|
else r.toMessage({flavor:`⚡ <b>Zealous Hatred</b>: Critical ${r.total} — brak tabeli <b>${name}</b> (utwórz lub zmień nazwę).`});
|
|
} else {
|
|
const r = await (new Roll("1d5")).roll({async:true});
|
|
r.toMessage({flavor:"⚡ <b>Zealous Hatred</b>: Dodaj do obrażeń <b>+1d5</b> (atak nie przebił Soak)."});
|
|
}
|
|
}}
|
|
}
|
|
}).render(true);
|
|
|