3df46b5848
- Extract all inline HTML from JS into 21 Handlebars templates (chat/, dialogs/, ui/) - Split utils.mjs (1507) into barrel + helpers.mjs, combat.mjs, d30.mjs - Split roll.mjs (1632) into barrel + roll-base.mjs, roll-prompt.mjs, roll-combat.mjs, roll-damage.mjs - Split lethal-fantasy.mjs (1426) into bootstrap + chat-reaction.mjs - Fix: missing async on injectDiceTray (free-roll.mjs:29 SyntaxError) - Fix: weapon._id fallback for deserialized chat-message weapon objects - Fix: missing await on rollModifier.evaluate() calls in roll-combat.mjs - Fix: choices→choicesList ReferenceError in utils.mjs - Fix: add 12 missing i18n keys (chooseWeapon, chooseSave, attackRoll, etc.) - Fix: restore sideLabel in bonus-die-select.hbs - Clean: remove dead messageContent param, console.log→log() - Style: barrel files preserve existing import paths
48 lines
1.7 KiB
Handlebars
48 lines
1.7 KiB
Handlebars
{{#if (equals type "weapon")}}
|
|
<div class="attack-result-damage single-btn">
|
|
<button class="roll-damage-btn"
|
|
data-attacker-id="{{attackerId}}"
|
|
data-defender-id="{{defenderId}}"
|
|
data-defender-token-id="{{defenderTokenId}}"
|
|
data-extra-shield-dr="{{shieldDamageReduction}}"
|
|
data-weapon-id="{{attackWeaponId}}"
|
|
data-damage-type="medium"
|
|
data-d30-bleed="{{d30Bleed}}"
|
|
data-d30-damage-mult="{{d30DamageMultiplier}}"
|
|
data-d30-dr-mult="{{d30DrMultiplier}}">
|
|
<i class="fa-solid fa-dice-d20"></i> Damage
|
|
</button>
|
|
</div>
|
|
{{else if (equals type "monster")}}
|
|
<div class="attack-result-damage single-btn">
|
|
<button class="roll-damage-btn"
|
|
data-attacker-id="{{attackerId}}"
|
|
data-defender-id="{{defenderId}}"
|
|
data-defender-token-id="{{defenderTokenId}}"
|
|
data-extra-shield-dr="{{shieldDamageReduction}}"
|
|
data-attack-key="{{attackRollKey}}"
|
|
data-damage-type="monster"
|
|
data-d30-bleed="{{d30Bleed}}"
|
|
data-d30-damage-mult="{{d30DamageMultiplier}}"
|
|
data-d30-dr-mult="{{d30DrMultiplier}}">
|
|
<i class="fa-solid fa-burst"></i> Damage
|
|
</button>
|
|
</div>
|
|
{{else if (equals type "spell")}}
|
|
<div class="attack-result-damage spell-damage">
|
|
{{#each tiers}}
|
|
<button class="roll-damage-btn"
|
|
data-attacker-id="{{../attackerId}}"
|
|
data-defender-id="{{../defenderId}}"
|
|
data-defender-token-id="{{../defenderTokenId}}"
|
|
data-damage-type="spell"
|
|
data-damage-formula="{{this.formula}}"
|
|
data-d30-bleed="{{../d30Bleed}}"
|
|
data-d30-damage-mult="{{../d30DamageMultiplier}}"
|
|
data-d30-dr-mult="{{../d30DrMultiplier}}">
|
|
<i class="fa-solid fa-wand-magic-sparkles"></i> {{this.label}} ({{this.formula}})
|
|
</button>
|
|
{{/each}}
|
|
</div>
|
|
{{/if}}
|