Add roll windows from actor sheet
This commit is contained in:
@@ -44,10 +44,10 @@
|
||||
<input type="checkbox" class="item-equipped-cb" data-item-id="{{weapon.id}}" {{checked weapon.system.equipped}} {{#if ../isPlayMode}}disabled{{/if}}>
|
||||
</div>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="attackWeapon" data-item-id="{{weapon.id}}" title="{{localize "OATHHAMMER.Dialog.Attack"}}"><i class="fa-solid fa-khanda"></i></a>
|
||||
<a data-action="damageWeapon" data-item-id="{{weapon.id}}" title="{{localize "OATHHAMMER.Dialog.Damage"}}"><i class="fa-solid fa-burst"></i></a>
|
||||
<a data-action="edit" data-item-id="{{weapon.id}}" data-item-uuid="{{weapon.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{weapon.id}}" data-item-uuid="{{weapon.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -83,10 +83,8 @@
|
||||
<input type="checkbox" class="item-equipped-cb" data-item-id="{{armor.id}}" {{checked armor.system.equipped}} {{#if ../isPlayMode}}disabled{{/if}}>
|
||||
</div>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="edit" data-item-id="{{armor.id}}" data-item-uuid="{{armor.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{armor.id}}" data-item-uuid="{{armor.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -112,10 +110,8 @@
|
||||
<span class="item-name">{{ammo.name}}</span>
|
||||
<span class="item-detail">×{{ammo.system.quantity}}</span>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="edit" data-item-id="{{ammo.id}}" data-item-uuid="{{ammo.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{ammo.id}}" data-item-uuid="{{ammo.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
@@ -36,10 +36,8 @@
|
||||
<span class="item-type">{{localize equip.system.itemType}}</span>
|
||||
<span class="item-detail">{{equip.system.quantity}}</span>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="edit" data-item-id="{{equip.id}}" data-item-uuid="{{equip.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{equip.id}}" data-item-uuid="{{equip.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -65,10 +63,8 @@
|
||||
<span class="item-name">{{mi.name}}</span>
|
||||
<span class="item-type">{{localize mi.system.rarity}}</span>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="edit" data-item-id="{{mi.id}}" data-item-uuid="{{mi.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{mi.id}}" data-item-uuid="{{mi.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -91,10 +87,8 @@
|
||||
<span class="item-name">{{cond.name}}</span>
|
||||
<span class="item-type">{{localize cond.system.conditionType}}</span>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="edit" data-item-id="{{cond.id}}" data-item-uuid="{{cond.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{cond.id}}" data-item-uuid="{{cond.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
@@ -21,10 +21,8 @@
|
||||
<span class="item-type">{{trait._typeLabel}}</span>
|
||||
<span class="item-usage">{{trait._usageLabel}}</span>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="edit" data-item-id="{{trait.id}}" data-item-uuid="{{trait.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{trait.id}}" data-item-uuid="{{trait.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -49,10 +47,8 @@
|
||||
<span class="item-type">{{oath._typeLabel}}</span>
|
||||
<span class="item-violated">{{#if oath._violated}}<i class="fa-solid fa-circle-xmark"></i>{{else}}<i class="fa-regular fa-circle-check"></i>{{/if}}</span>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="edit" data-item-id="{{oath.id}}" data-item-uuid="{{oath.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{oath.id}}" data-item-uuid="{{oath.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<li class="item-list-header">
|
||||
<span></span>
|
||||
<span class="col-name">{{localize "OATHHAMMER.Label.Name"}}</span>
|
||||
<span>Lv.</span>
|
||||
<span>DV</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Tradition"}}</span>
|
||||
<span>AS</span>
|
||||
<span></span>
|
||||
@@ -24,14 +24,13 @@
|
||||
<li class="item-entry" data-item-id="{{spell.id}}" data-item-uuid="{{spell.uuid}}">
|
||||
<img src="{{spell.img}}" class="item-img" />
|
||||
<span class="item-name">{{spell.name}}</span>
|
||||
<span class="item-detail">{{spell.system.level}}</span>
|
||||
<span class="item-detail">{{spell.system.difficultyValue}}</span>
|
||||
<span class="item-type">{{localize spell.system.tradition}}</span>
|
||||
<span class="item-detail">{{spell.system.arcaneStress}}</span>
|
||||
<span class="item-detail">—</span>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="castSpell" data-item-id="{{spell.id}}" title="{{localize 'OATHHAMMER.Action.CastSpell'}}"><i class="fa-solid fa-wand-sparkles spell-cast-icon"></i></a>
|
||||
<a data-action="edit" data-item-id="{{spell.id}}" data-item-uuid="{{spell.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{spell.id}}" data-item-uuid="{{spell.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -49,19 +48,18 @@
|
||||
<li class="item-list-header">
|
||||
<span></span>
|
||||
<span class="col-name">{{localize "OATHHAMMER.Label.Name"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Piety"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.DivineTradition"}}</span>
|
||||
<span></span>
|
||||
</li>
|
||||
{{#each miracles as |miracle|}}
|
||||
<li class="item-entry" data-item-id="{{miracle.id}}" data-item-uuid="{{miracle.uuid}}">
|
||||
<img src="{{miracle.img}}" class="item-img" />
|
||||
<span class="item-name">{{miracle.name}}</span>
|
||||
<span class="item-detail">{{miracle.system.piety}}</span>
|
||||
<span class="item-detail">{{miracle.system.divineTradition}}</span>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="castMiracle" data-item-id="{{miracle.id}}" title="{{localize 'OATHHAMMER.Action.InvokeMiracle'}}"><i class="fa-solid fa-hands-praying miracle-cast-icon"></i></a>
|
||||
<a data-action="edit" data-item-id="{{miracle.id}}" data-item-uuid="{{miracle.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{miracle.id}}" data-item-uuid="{{miracle.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
@@ -21,18 +21,9 @@
|
||||
|
||||
{{!-- Row 2: Identity bar (lineage + class + level/xp) --}}
|
||||
<div class="character-identity-bar">
|
||||
<div class="identity-slot lineage-slot {{#unless lineage}}empty{{/unless}}" data-drop-type="lineage">
|
||||
{{#if lineage}}
|
||||
<img src="{{lineage.img}}" class="identity-img" data-item-id="{{lineage.id}}" data-item-uuid="{{lineage.uuid}}" />
|
||||
<span class="identity-name">{{lineage.name}}</span>
|
||||
{{#unless isPlayMode}}
|
||||
<a data-action="edit" data-item-id="{{lineage.id}}" data-item-uuid="{{lineage.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{lineage.id}}" data-item-uuid="{{lineage.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/unless}}
|
||||
{{else}}
|
||||
<div class="identity-slot lineage-slot">
|
||||
<i class="fa-solid fa-person slot-icon"></i>
|
||||
<span class="slot-placeholder">{{localize "OATHHAMMER.Label.DropLineage"}}</span>
|
||||
{{/if}}
|
||||
{{formInput systemFields.lineage.fields.name value=system.lineage.name name="system.lineage.name" placeholder=(localize "OATHHAMMER.Label.Lineage") disabled=isPlayMode}}
|
||||
</div>
|
||||
<div class="identity-slot class-slot {{#unless characterClass}}empty{{/unless}}" data-drop-type="class">
|
||||
{{#if characterClass}}
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
</div>
|
||||
{{#each group.skillData as |skill|}}
|
||||
<div class="skill-row">
|
||||
<label class="skill-name-col">{{localize skill.label}}</label>
|
||||
<a class="skill-name-col rollable" data-action="rollSkill" data-skill="{{skill.key}}" data-tooltip="{{localize 'OATHHAMMER.Dialog.RollSkill'}}">
|
||||
<i class="fa-solid fa-dice skill-roll-icon"></i>{{localize skill.label}}
|
||||
</a>
|
||||
<div class="skill-rank-col">
|
||||
<select name="{{skill.rankName}}" {{#if ../../isPlayMode}}disabled{{/if}}>
|
||||
{{#each skill.rankOptions as |opt|}}
|
||||
|
||||
@@ -8,9 +8,7 @@
|
||||
{{formField systemFields.ammoType value=system.ammoType name="system.ammoType" localize=true}}
|
||||
{{formField systemFields.quantity value=system.quantity name="system.quantity"}}
|
||||
{{formField systemFields.rarity value=system.rarity name="system.rarity" localize=true}}
|
||||
</div>
|
||||
<div class="align-top">
|
||||
{{formField systemFields.cost value=system.cost name="system.cost"}}
|
||||
<a data-action="rollRarity" class="rarity-roll-btn" data-tooltip="{{localize 'OATHHAMMER.Roll.RarityCheck'}}"><i class="fa-solid fa-dice"></i> {{localize "OATHHAMMER.Roll.RarityCheck"}}</a>
|
||||
{{formField systemFields.currency value=system.currency name="system.currency" localize=true}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
name="system.rarity"
|
||||
localize=true
|
||||
}}
|
||||
<a data-action="rollRarity" class="rarity-roll-btn" data-tooltip="{{localize 'OATHHAMMER.Roll.RarityCheck'}}"><i class="fa-solid fa-dice"></i> {{localize "OATHHAMMER.Roll.RarityCheck"}}</a>
|
||||
{{formField
|
||||
systemFields.isMagic
|
||||
value=system.isMagic
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
{{formField systemFields.skillCheck value=system.skillCheck name="system.skillCheck" localize=true}}
|
||||
{{formField systemFields.cost value=system.cost name="system.cost"}}
|
||||
{{formField systemFields.buildTime value=system.buildTime name="system.buildTime"}}
|
||||
{{formField systemFields.settlement value=system.settlement name="system.settlement"}}
|
||||
|
||||
</div>
|
||||
<div class="building-col">
|
||||
{{formField systemFields.taxRevenue value=system.taxRevenue name="system.taxRevenue"}}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
{{formField systemFields.quantity value=system.quantity name="system.quantity"}}
|
||||
{{formField systemFields.slots value=system.slots name="system.slots"}}
|
||||
{{formField systemFields.rarity value=system.rarity name="system.rarity" localize=true}}
|
||||
<a data-action="rollRarity" class="rarity-roll-btn" data-tooltip="{{localize 'OATHHAMMER.Roll.RarityCheck'}}"><i class="fa-solid fa-dice"></i> {{localize "OATHHAMMER.Roll.RarityCheck"}}</a>
|
||||
{{#if system.lightRadius}}
|
||||
{{formField systemFields.lightRadius value=system.lightRadius name="system.lightRadius"}}
|
||||
{{/if}}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
<section class="item-sheet-common">
|
||||
<div class="header">
|
||||
<img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
{{formInput fields.name value=source.name}}
|
||||
</div>
|
||||
<div class="flexrow stats-row">
|
||||
<div class="form-group">
|
||||
{{formField systemFields.movement value=system.movement name="system.movement"}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{formField systemFields.gritModifier value=system.gritModifier name="system.gritModifier"}}
|
||||
</div>
|
||||
</div>
|
||||
<fieldset>
|
||||
<legend>{{localize "OATHHAMMER.Label.Description"}}</legend>
|
||||
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{{localize "OATHHAMMER.Label.Traits"}}</legend>
|
||||
{{formInput systemFields.traits enriched=enrichedTraits value=system.traits name="system.traits" toggled=true}}
|
||||
</fieldset>
|
||||
</section>
|
||||
@@ -16,7 +16,7 @@
|
||||
{{#unless (eq system.usagePeriod "none")}}
|
||||
{{formField systemFields.maxUses value=system.maxUses name="system.maxUses"}}
|
||||
{{/unless}}
|
||||
{{formField systemFields.slots value=system.slots name="system.slots"}}
|
||||
|
||||
{{formField systemFields.equipped value=system.equipped name="system.equipped"}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -29,8 +29,10 @@
|
||||
</div>
|
||||
<div class="align-top">
|
||||
{{formField systemFields.traits value=system.traits name="system.traits" localize=true}}
|
||||
{{formField systemFields.specialProperties value=system.specialProperties name="system.specialProperties" localize=true}}
|
||||
{{formField systemFields.slots value=system.slots name="system.slots"}}
|
||||
{{formField systemFields.rarity value=system.rarity name="system.rarity" localize=true}}
|
||||
<a data-action="rollRarity" class="rarity-roll-btn" data-tooltip="{{localize 'OATHHAMMER.Roll.RarityCheck'}}"><i class="fa-solid fa-dice"></i> {{localize "OATHHAMMER.Roll.RarityCheck"}}</a>
|
||||
{{formField systemFields.isMagic value=system.isMagic name="system.isMagic"}}
|
||||
{{formField systemFields.equipped value=system.equipped name="system.equipped"}}
|
||||
{{formField systemFields.cost value=system.cost name="system.cost"}}
|
||||
|
||||
66
templates/miracle-cast-dialog.hbs
Normal file
66
templates/miracle-cast-dialog.hbs
Normal file
@@ -0,0 +1,66 @@
|
||||
<div class="oh-roll-dialog oh-miracle-dialog">
|
||||
|
||||
{{!-- Miracle header --}}
|
||||
<div class="spell-header">
|
||||
<img src="{{miracleImg}}" class="weapon-img-sm" alt="{{miracleName}}" />
|
||||
<div class="spell-header-info">
|
||||
<span class="weapon-name-lg">{{miracleName}}</span>
|
||||
<div class="weapon-badges">
|
||||
{{#if isRitual}}
|
||||
<span class="dv-badge">DV {{dv}} — {{localize "OATHHAMMER.Label.Ritual"}}</span>
|
||||
{{else}}
|
||||
<span class="dv-badge">DV = {{localize "OATHHAMMER.Dialog.MiracleDVNote"}}</span>
|
||||
{{/if}}
|
||||
<span class="tradition-badge">{{traditionLabel}}</span>
|
||||
{{#if range}}<span class="range-badge">{{range}}</span>{{/if}}
|
||||
{{#if duration}}<span class="duration-badge">{{duration}}</span>{{/if}}
|
||||
</div>
|
||||
{{#if spellSave}}<div class="save-info">{{localize "OATHHAMMER.Label.SpellSave"}}: {{spellSave}}</div>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Failure warning --}}
|
||||
<div class="miracle-warning">
|
||||
<i class="fa-solid fa-triangle-exclamation"></i>
|
||||
{{localize "OATHHAMMER.Dialog.MiracleFailWarning"}}
|
||||
</div>
|
||||
|
||||
{{!-- Cast options --}}
|
||||
<fieldset class="attack-options-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.InvokeOptions"}}</legend>
|
||||
|
||||
<div class="pool-info-line">
|
||||
{{localize "OATHHAMMER.Skill.Magic"}} ({{localize "OATHHAMMER.Attribute.Willpower"}} {{wpRank}})
|
||||
+ {{localize "OATHHAMMER.Label.SkillRank"}} {{magicRank}}
|
||||
= <strong>{{basePool}}d6</strong>
|
||||
</div>
|
||||
|
||||
{{#unless isRitual}}
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.MiracleCount"}}</label>
|
||||
<select name="miracleCount">
|
||||
{{#each miracleCountOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.MiracleCountHint"}}</span>
|
||||
</div>
|
||||
{{/unless}}
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.Modifier"}}</label>
|
||||
<select name="bonus">
|
||||
{{#each bonusOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.AttackModifierHint"}}</span>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
{{!-- Visibility --}}
|
||||
<fieldset class="roll-visibility-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.Visibility"}}</legend>
|
||||
<select name="visibility">
|
||||
{{selectOptions rollModes selected=visibility localize=true}}
|
||||
</select>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
83
templates/roll-dialog.hbs
Normal file
83
templates/roll-dialog.hbs
Normal file
@@ -0,0 +1,83 @@
|
||||
<div class="oh-roll-dialog">
|
||||
|
||||
{{!-- Actor name --}}
|
||||
<div class="roll-actor-name">{{actorName}}</div>
|
||||
|
||||
{{!-- Skill / pool info --}}
|
||||
<fieldset class="roll-info-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.SkillCheck"}}</legend>
|
||||
|
||||
<div class="roll-skill-line">
|
||||
<span class="roll-skill-name">{{skillLabel}}</span>
|
||||
<span class="roll-attr-info">
|
||||
{{attrLabel}} ({{attrRank}}) + {{localize "OATHHAMMER.Label.SkillRank"}} ({{skillRank}})
|
||||
{{#if skillMod}}+ {{localize "OATHHAMMER.Label.SkillModifier"}} ({{skillMod}}){{/if}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="roll-dice-preview">
|
||||
<span class="roll-pool">{{baseTotal}}d6</span>
|
||||
<span class="roll-color-badge color-badge-{{colorType}}">{{colorLabel}} {{threshold}}+</span>
|
||||
</div>
|
||||
|
||||
{{!-- Attribute override for dual-attribute skills (Defense, Fighting, Magic) --}}
|
||||
{{#if isDualAttr}}
|
||||
<div class="roll-dual-attr">
|
||||
<label>{{localize "OATHHAMMER.Dialog.Attribute"}}</label>
|
||||
<select name="attrOverride">
|
||||
{{#each attrOptions as |opt|}}
|
||||
<option value="{{opt.value}}" {{#if opt.selected}}selected{{/if}}>{{opt.label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
|
||||
{{!-- Roll options --}}
|
||||
<fieldset class="roll-options-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.Options"}}</legend>
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.DV"}}</label>
|
||||
<select name="dv">
|
||||
{{#each dvOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.DVHint"}}</span>
|
||||
</div>
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.Modifier"}}</label>
|
||||
<select name="bonus">
|
||||
{{#each bonusOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.ModifierHint"}}</span>
|
||||
</div>
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.Supporters"}}</label>
|
||||
<select name="supporters">
|
||||
{{#each supportersOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.SupportersHint"}}</span>
|
||||
</div>
|
||||
|
||||
{{#if availableLuck}}
|
||||
<div class="roll-option-row roll-option-luck">
|
||||
<label>{{localize "OATHHAMMER.Dialog.LuckSpend"}} <i class="fa-solid fa-clover luck-icon"></i></label>
|
||||
<select name="luckSpend">
|
||||
{{#each luckOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.LuckHint"}} ({{availableLuck}} {{localize "OATHHAMMER.Dialog.Available"}})</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
|
||||
{{!-- Visibility --}}
|
||||
<fieldset class="roll-visibility-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.Visibility"}}</legend>
|
||||
<select name="visibility">
|
||||
{{selectOptions rollModes selected=visibility localize=true}}
|
||||
</select>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
80
templates/spell-cast-dialog.hbs
Normal file
80
templates/spell-cast-dialog.hbs
Normal file
@@ -0,0 +1,80 @@
|
||||
<div class="oh-roll-dialog oh-spell-dialog">
|
||||
|
||||
{{!-- Spell header --}}
|
||||
<div class="spell-header">
|
||||
<img src="{{spellImg}}" class="weapon-img-sm" alt="{{spellName}}" />
|
||||
<div class="spell-header-info">
|
||||
<span class="weapon-name-lg">{{spellName}}</span>
|
||||
<div class="weapon-badges">
|
||||
<span class="dv-badge">DV {{dv}}</span>
|
||||
<span class="tradition-badge">{{traditionLabel}}</span>
|
||||
{{#if isRitual}}<span class="ritual-badge">{{localize "OATHHAMMER.Label.Ritual"}}</span>{{/if}}
|
||||
{{#if isMagicMissile}}<span class="missile-badge">{{localize "OATHHAMMER.Label.MagicMissile"}}</span>{{/if}}
|
||||
{{#if range}}<span class="range-badge">{{range}}</span>{{/if}}
|
||||
{{#if duration}}<span class="duration-badge">{{duration}}</span>{{/if}}
|
||||
</div>
|
||||
{{#if spellSave}}<div class="save-info">{{localize "OATHHAMMER.Label.SpellSave"}}: {{spellSave}}</div>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Arcane stress tracker --}}
|
||||
<div class="stress-tracker {{#if isOverThreshold}}stress-danger{{/if}}">
|
||||
<i class="fa-solid fa-brain"></i>
|
||||
<span>{{localize "OATHHAMMER.Label.ArcaneStress"}}: <strong>{{currentStress}} / {{stressThreshold}}</strong></span>
|
||||
{{#if isOverThreshold}}<span class="stress-warning">⚠ {{localize "OATHHAMMER.Label.StressBlocked"}}</span>{{/if}}
|
||||
</div>
|
||||
|
||||
{{!-- Cast options --}}
|
||||
<fieldset class="attack-options-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.CastOptions"}}</legend>
|
||||
|
||||
<div class="pool-info-line">
|
||||
{{localize "OATHHAMMER.Skill.Magic"}} ({{localize "OATHHAMMER.Attribute.Intelligence"}} {{intRank}})
|
||||
+ {{localize "OATHHAMMER.Label.SkillRank"}} {{magicRank}}
|
||||
= <strong>{{basePool}}d6</strong>
|
||||
</div>
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.Enhancement"}}</label>
|
||||
<select name="enhancement" class="enhancement-select">
|
||||
{{#each enhancementOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{#if isElemental}}
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.ElementCondition"}}</label>
|
||||
<select name="elementalBonus">
|
||||
<option value="0">{{localize "OATHHAMMER.Dialog.ElementNone"}}</option>
|
||||
<option value="1">{{localize "OATHHAMMER.Dialog.ElementMet"}} (+1)</option>
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.Modifier"}}</label>
|
||||
<select name="bonus">
|
||||
{{#each bonusOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.AttackModifierHint"}}</span>
|
||||
</div>
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.Grimoire"}}</label>
|
||||
<select name="noGrimoire">
|
||||
<option value="0">{{localize "OATHHAMMER.Dialog.GrimoireHas"}}</option>
|
||||
<option value="-2">{{localize "OATHHAMMER.Dialog.GrimoireNo"}} (−2)</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
{{!-- Visibility --}}
|
||||
<fieldset class="roll-visibility-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.Visibility"}}</legend>
|
||||
<select name="visibility">
|
||||
{{selectOptions rollModes selected=visibility localize=true}}
|
||||
</select>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
69
templates/weapon-attack-dialog.hbs
Normal file
69
templates/weapon-attack-dialog.hbs
Normal file
@@ -0,0 +1,69 @@
|
||||
<div class="oh-roll-dialog oh-weapon-dialog">
|
||||
|
||||
{{!-- Weapon header --}}
|
||||
<div class="weapon-header">
|
||||
<img src="{{weaponImg}}" class="weapon-img-sm" alt="{{weaponName}}" />
|
||||
<div class="weapon-header-info">
|
||||
<span class="weapon-name-lg">{{weaponName}}</span>
|
||||
<div class="weapon-badges">
|
||||
<span class="damage-formula-badge">{{damageLabel}} → {{baseDamageDice}}d6</span>
|
||||
<span class="roll-color-badge color-badge-{{damageColorType}}">{{damageColorLabel}} {{damageThreshold}}+</span>
|
||||
{{#if apValue}}<span class="ap-badge">AP{{apValue}}</span>{{/if}}
|
||||
{{#if isRanged}}<span class="range-badge">{{shortRange}}/{{longRange}}ft</span>{{/if}}
|
||||
</div>
|
||||
{{#if traits}}
|
||||
<div class="weapon-traits-row">
|
||||
{{#each traits}}<span class="trait-tag-sm">{{this}}</span>{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Attack roll config --}}
|
||||
<fieldset class="attack-options-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.Attack"}}</legend>
|
||||
|
||||
<div class="pool-info-line">
|
||||
{{skillLabel}} ({{attrLabel}} {{attrRank}}) + {{localize "OATHHAMMER.Label.SkillRank"}} {{skillRank}}
|
||||
{{#if autoAttackBonus}} + <span class="auto-bonus">+{{autoAttackBonus}} auto</span>{{/if}}
|
||||
= <strong>{{baseAttackPool}}d6</strong>
|
||||
</div>
|
||||
|
||||
{{#if hasNimble}}
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.Attribute"}}</label>
|
||||
<select name="attrOverride">
|
||||
<option value="might">{{mightLabel}} ({{mightRank}})</option>
|
||||
<option value="agility">{{agilityLabel}} ({{agilityRank}}) — {{localize "OATHHAMMER.Dialog.NimbleHint"}}</option>
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.AttackModifier"}}</label>
|
||||
<select name="attackBonus">
|
||||
{{#each attackBonusOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.AttackModifierHint"}}</span>
|
||||
</div>
|
||||
|
||||
{{#if isRanged}}
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.RangeCondition"}}</label>
|
||||
<select name="rangeCondition">
|
||||
{{#each rangeOptions}}<option value="{{value}}">{{label}}</option>{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
</fieldset>
|
||||
|
||||
{{!-- Visibility --}}
|
||||
<fieldset class="roll-visibility-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.Visibility"}}</legend>
|
||||
<select name="visibility">
|
||||
{{selectOptions rollModes selected=visibility localize=true}}
|
||||
</select>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
47
templates/weapon-damage-dialog.hbs
Normal file
47
templates/weapon-damage-dialog.hbs
Normal file
@@ -0,0 +1,47 @@
|
||||
<div class="oh-roll-dialog oh-weapon-dialog">
|
||||
|
||||
{{!-- Weapon header --}}
|
||||
<div class="weapon-header">
|
||||
<img src="{{weaponImg}}" class="weapon-img-sm" alt="{{weaponName}}" />
|
||||
<div class="weapon-header-info">
|
||||
<span class="weapon-name-lg">{{weaponName}}</span>
|
||||
<div class="weapon-badges">
|
||||
<span class="damage-formula-badge">{{damageLabel}} → {{baseDamageDice}}d6 base</span>
|
||||
<span class="roll-color-badge color-badge-{{damageColorType}}">{{damageColorLabel}} {{damageThreshold}}+</span>
|
||||
{{#if apValue}}<span class="ap-badge">AP{{apValue}}</span>{{/if}}
|
||||
{{#if autoDamageBonus}}<span class="auto-bonus-badge">+{{autoDamageBonus}} auto</span>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Damage options --}}
|
||||
<fieldset class="attack-options-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.Damage"}}</legend>
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.SV"}}</label>
|
||||
<select name="sv">
|
||||
{{#each svOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.SVHint"}}</span>
|
||||
</div>
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.DamageModifier"}}</label>
|
||||
<select name="damageBonus">
|
||||
{{#each damageBonusOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.DamageModifierHint"}}</span>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
{{!-- Visibility --}}
|
||||
<fieldset class="roll-visibility-block">
|
||||
<legend>{{localize "OATHHAMMER.Dialog.Visibility"}}</legend>
|
||||
<select name="visibility">
|
||||
{{selectOptions rollModes selected=visibility localize=true}}
|
||||
</select>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
Reference in New Issue
Block a user