Initial commit
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
{{!-- Body dispatcher: includes the partial chosen by the sheet's _prepareContext. --}}
|
||||
{{> (lookup this 'bodyPartial') }}
|
||||
@@ -0,0 +1,26 @@
|
||||
{{!-- Active Effects partial — included by talent and gear sheets. --}}
|
||||
{{#if supportsEffects}}
|
||||
<fieldset class="hbm-effects">
|
||||
<legend>{{localize 'HBM.activeEffect.title'}}</legend>
|
||||
<button type="button" class="hbm-effect-add" data-action="effectCreate">+ {{localize 'HBM.activeEffect.addEffect'}}</button>
|
||||
{{#if effects.length}}
|
||||
<ul class="effect-list">
|
||||
{{#each effects as |e|}}
|
||||
<li class="effect-row {{#if e.disabled}}disabled{{/if}}">
|
||||
<img src="{{e.icon}}" width="20" height="20"/>
|
||||
<span class="effect-name">{{e.name}}</span>
|
||||
<span class="effect-meta">
|
||||
{{#if e.transfer}}<span class="badge">→ {{localize 'HBM.activeEffect.transferToActor'}}</span>{{/if}}
|
||||
<span class="badge">{{e.changes.length}} {{localize 'HBM.activeEffect.changes'}}</span>
|
||||
</span>
|
||||
<button type="button" data-action="effectToggle" data-effect-id="{{e.id}}" title="{{localize 'HBM.activeEffect.toggle'}}">{{#if e.disabled}}○{{else}}●{{/if}}</button>
|
||||
<button type="button" data-action="effectEdit" data-effect-id="{{e.id}}" title="{{localize 'HBM.activeEffect.edit'}}">✎</button>
|
||||
<button type="button" data-action="effectDelete" data-effect-id="{{e.id}}" title="{{localize 'HBM.activeEffect.deleteEffect'}}">✕</button>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<p class="hbm-hint">{{localize 'HBM.activeEffect.empty'}}</p>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
{{/if}}
|
||||
@@ -0,0 +1,4 @@
|
||||
<div class="hbm item-body unknown">
|
||||
<p><strong>{{document.name}}</strong></p>
|
||||
<p class="hint">{{localize 'HBM.ui.unknownItemType'}}: <code>{{itemType}}</code></p>
|
||||
</div>
|
||||
@@ -0,0 +1,18 @@
|
||||
<div class="hbm item-body ability">
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.ability.type'}}:
|
||||
<select name="system.type">
|
||||
<option value="passive" {{#if (eq system.type 'passive')}}selected{{/if}}>{{localize 'HBM.ability.passive'}}</option>
|
||||
<option value="active" {{#if (eq system.type 'active')}}selected{{/if}}>{{localize 'HBM.ability.active'}}</option>
|
||||
<option value="reaction" {{#if (eq system.type 'reaction')}}selected{{/if}}>{{localize 'HBM.ability.reaction'}}</option>
|
||||
<option value="freeAction" {{#if (eq system.type 'freeAction')}}selected{{/if}}>{{localize 'HBM.ability.freeAction'}}</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>{{localize 'HBM.ability.cost'}}: <input type="text" name="system.cost" value="{{system.cost}}"/></label>
|
||||
<label>{{localize 'HBM.spell.manaCost'}}: <input type="number" name="system.manaCost" value="{{system.manaCost}}" min="0"/></label>
|
||||
<label>{{localize 'HBM.resources.zeal'}}: <input type="number" name="system.zealCost" value="{{system.zealCost}}" min="0"/></label>
|
||||
</div>
|
||||
<label>{{localize 'HBM.ability.prerequisite'}}<input type="text" name="system.prerequisite" value="{{system.prerequisite}}"/></label>
|
||||
<label>{{localize 'HBM.ability.description'}}<textarea name="system.description" rows="6">{{system.description}}</textarea></label>
|
||||
<label>{{localize 'HBM.ability.mechanics'}}<textarea name="system.mechanics" rows="4">{{system.mechanics}}</textarea></label>
|
||||
</div>
|
||||
@@ -0,0 +1,51 @@
|
||||
<div class="hbm item-body class">
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.class.year'}}: <input type="number" name="system.year" value="{{system.year}}" min="1" max="4"/></label>
|
||||
<label>{{localize 'HBM.class.attributePoints'}}: <input type="number" name="system.attributePoints" value="{{system.attributePoints}}" min="0"/></label>
|
||||
<label>{{localize 'HBM.class.skillPoints'}}: <input type="number" name="system.skillPoints" value="{{system.skillPoints}}" min="0"/></label>
|
||||
</div>
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.class.talents'}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.talents" data-template='""'
|
||||
title="{{localize 'HBM.ui.add'}}">+</button>
|
||||
</legend>
|
||||
{{#each system.talents as |t idx|}}
|
||||
<div class="row">
|
||||
<input type="text" name="system.talents.{{idx}}" value="{{t}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.talents" data-index="{{idx}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.class.spells'}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.spells" data-template='""'
|
||||
title="{{localize 'HBM.ui.add'}}">+</button>
|
||||
</legend>
|
||||
{{#each system.spells as |s idx|}}
|
||||
<div class="row">
|
||||
<input type="text" name="system.spells.{{idx}}" value="{{s}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.spells" data-index="{{idx}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.class.features'}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.features"
|
||||
data-template='{"name":"","description":""}' title="{{localize 'HBM.ui.add'}}">+</button>
|
||||
</legend>
|
||||
{{#each system.features as |f idx|}}
|
||||
<div class="row">
|
||||
<input type="text" name="system.features.{{idx}}.name" value="{{f.name}}"
|
||||
placeholder="{{localize 'HBM.ui.name'}}" />
|
||||
<input type="text" name="system.features.{{idx}}.description" value="{{f.description}}"
|
||||
placeholder="{{localize 'HBM.gear.description'}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.features" data-index="{{idx}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</fieldset>
|
||||
|
||||
<label>{{localize 'HBM.class.description'}}<textarea name="system.description"
|
||||
rows="6">{{system.description}}</textarea></label>
|
||||
</div>
|
||||
@@ -0,0 +1,29 @@
|
||||
<div class="hbm item-body discipline">
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.discipline.color'}}: <input type="text" name="system.color" value="{{system.color}}"/></label>
|
||||
<label>{{localize 'HBM.discipline.suggestedAttribute'}}:
|
||||
<select name="system.suggestedAttribute">
|
||||
<option value="body" {{#if (eq system.suggestedAttribute 'body')}}selected{{/if}}>{{localize 'HBM.attributes.body'}}</option>
|
||||
<option value="mind" {{#if (eq system.suggestedAttribute 'mind')}}selected{{/if}}>{{localize 'HBM.attributes.mind'}}</option>
|
||||
<option value="soul" {{#if (eq system.suggestedAttribute 'soul')}}selected{{/if}}>{{localize 'HBM.attributes.soul'}}</option>
|
||||
<option value="magic" {{#if (eq system.suggestedAttribute 'magic')}}selected{{/if}}>{{localize 'HBM.attributes.magic'}}</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
<label>{{localize 'HBM.discipline.passiveAbility'}}<textarea name="system.passiveAbility" rows="3">{{system.passiveAbility}}</textarea></label>
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.discipline.signatureSpells'}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.signatureSpells" data-template='""'
|
||||
title="{{localize 'HBM.ui.add'}}">+</button>
|
||||
</legend>
|
||||
{{#each system.signatureSpells as |s idx|}}
|
||||
<div class="row">
|
||||
<input type="text" name="system.signatureSpells.{{idx}}" value="{{s}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.signatureSpells"
|
||||
data-index="{{idx}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</fieldset>
|
||||
|
||||
<label>{{localize 'HBM.discipline.description'}}<textarea name="system.description" rows="6">{{system.description}}</textarea></label>
|
||||
</div>
|
||||
@@ -0,0 +1,60 @@
|
||||
<div class="hbm item-body gear">
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.gear.category'}}:
|
||||
<select name="system.category">
|
||||
<option value="weapon" {{#if (eq system.category 'weapon')}}selected{{/if}}>{{localize 'HBM.gear.weapon'}}</option>
|
||||
<option value="armor" {{#if (eq system.category 'armor')}}selected{{/if}}>{{localize 'HBM.gear.armor'}}</option>
|
||||
<option value="equipment" {{#if (eq system.category 'equipment')}}selected{{/if}}>{{localize 'HBM.gear.equipment'}}</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>{{localize 'HBM.gear.rarity'}}: <input type="text" name="system.rarity" value="{{system.rarity}}"/></label>
|
||||
<label>{{localize 'HBM.gear.quantity'}}: <input type="number" name="system.quantity" value="{{system.quantity}}" min="0"/></label>
|
||||
<label>{{localize 'HBM.gear.weight'}}: <input type="number" name="system.weight" value="{{system.weight}}" min="0"/></label>
|
||||
<label>{{localize 'HBM.gear.value'}}: <input type="number" name="system.value" value="{{system.value}}" min="0"/></label>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label><input type="checkbox" name="system.equipped" {{#if system.equipped}}checked{{/if}} /> {{localize
|
||||
'HBM.gear.equipped'}}</label>
|
||||
<label title="{{localize 'HBM.gear.damageReductionBonusHint'}}">{{localize 'HBM.gear.damageReductionBonus'}}: <input
|
||||
type="number" name="system.damageReductionBonus" value="{{system.damageReductionBonus}}" min="0" /></label>
|
||||
</div>
|
||||
|
||||
{{#if (eq system.category 'weapon')}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.gear.weapon'}}</legend>
|
||||
<label>{{localize 'HBM.gear.damage'}}: <input type="text" name="system.weapon.damage" value="{{system.weapon.damage}}"/></label>
|
||||
<label>{{localize 'HBM.gear.damageType'}}:
|
||||
<select name="system.weapon.damageType">
|
||||
<option value="physical" {{#if (eq system.weapon.damageType 'physical')}}selected{{/if}}>{{localize 'HBM.gear.physical'}}</option>
|
||||
<option value="magical" {{#if (eq system.weapon.damageType 'magical')}}selected{{/if}}>{{localize 'HBM.gear.magical'}}</option>
|
||||
<option value="environmental" {{#if (eq system.weapon.damageType 'environmental')}}selected{{/if}}>{{localize 'HBM.gear.environmental'}}</option>
|
||||
</select>
|
||||
</label>
|
||||
</fieldset>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.category 'armor')}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.gear.armor'}}</legend>
|
||||
<label>{{localize 'HBM.gear.damageReduction'}}: <input type="number" name="system.armor.damageReduction"
|
||||
value="{{system.armor.damageReduction}}" min="0" /></label>
|
||||
<label>{{localize 'HBM.gear.condition'}}: <input type="number" name="system.armor.condition"
|
||||
value="{{system.armor.condition}}" min="0" /> / <input type="number" name="system.armor.conditionMax"
|
||||
value="{{system.armor.conditionMax}}" min="0" /></label>
|
||||
<label>{{localize 'HBM.gear.armorType'}}:
|
||||
<select name="system.armor.armorType">
|
||||
<option value="light" {{#if (eq system.armor.armorType 'light')}}selected{{/if}}>{{localize 'HBM.gear.light'}}</option>
|
||||
<option value="medium" {{#if (eq system.armor.armorType 'medium')}}selected{{/if}}>{{localize 'HBM.gear.medium'}}</option>
|
||||
<option value="heavy" {{#if (eq system.armor.armorType 'heavy')}}selected{{/if}}>{{localize 'HBM.gear.heavy'}}</option>
|
||||
<option value="shield" {{#if (eq system.armor.armorType 'shield')}}selected{{/if}}>{{localize 'HBM.gear.shield'}}</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>{{localize 'HBM.gear.strengthRequirement'}}: <input type="number" name="system.armor.strengthRequirement" value="{{system.armor.strengthRequirement}}" min="0"/></label>
|
||||
<label><input type="checkbox" name="system.armor.stealthDisadvantage" {{#if system.armor.stealthDisadvantage}}checked{{/if}}/> {{localize 'HBM.gear.stealthDisadvantage'}}</label>
|
||||
</fieldset>
|
||||
{{/if}}
|
||||
|
||||
<label>{{localize 'HBM.gear.description'}}<textarea name="system.description" rows="6">{{system.description}}</textarea></label>
|
||||
{{> 'systems/hbm-rpg-v3/templates/item/_effects.hbs'}}
|
||||
</div>
|
||||
@@ -0,0 +1,4 @@
|
||||
<header class="hbm item-header">
|
||||
<input type="text" name="name" value="{{document.name}}" placeholder="{{localize 'HBM.ui.name'}}"/>
|
||||
<span class="item-type">{{localize (concat 'HBM.item.' itemType)}}</span>
|
||||
</header>
|
||||
@@ -0,0 +1,25 @@
|
||||
<div class="hbm item-body race">
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.race.attributePoints'}}: <input type="number" name="system.attributePoints" value="{{system.attributePoints}}" min="0"/></label>
|
||||
<label>{{localize 'HBM.race.skillPoints'}}: <input type="number" name="system.skillPoints" value="{{system.skillPoints}}" min="0"/></label>
|
||||
</div>
|
||||
<label>{{localize 'HBM.race.physicalDescription'}}<input type="text" name="system.physicalDescription" value="{{system.physicalDescription}}"/></label>
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.race.traits'}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.traits"
|
||||
data-template='{"name":"","description":""}' title="{{localize 'HBM.ui.add'}}">+</button>
|
||||
</legend>
|
||||
{{#each system.traits as |t idx|}}
|
||||
<div class="row">
|
||||
<input type="text" name="system.traits.{{idx}}.name" value="{{t.name}}"
|
||||
placeholder="{{localize 'HBM.ui.name'}}" />
|
||||
<input type="text" name="system.traits.{{idx}}.description" value="{{t.description}}"
|
||||
placeholder="{{localize 'HBM.gear.description'}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.traits" data-index="{{idx}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</fieldset>
|
||||
|
||||
<label>{{localize 'HBM.race.description'}}<textarea name="system.description"
|
||||
rows="6">{{system.description}}</textarea></label>
|
||||
</div>
|
||||
@@ -0,0 +1,252 @@
|
||||
<div class="hbm item-body spell">
|
||||
|
||||
{{!-- ── Identification ──────────────────────────────────────────── --}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.spell.label'}}</legend>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.spell.circle'}}:
|
||||
<input type="number" name="system.circle" value="{{system.circle}}" min="0" max="9" />
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.school'}}:
|
||||
<select name="system.school">
|
||||
{{#each @root.choices.schools as |label key|}}
|
||||
<option value="{{key}}" {{#if (eq ../system.school key)}}selected{{/if}}>{{label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.discipline'}}:
|
||||
<input type="text" name="system.discipline" value="{{system.discipline}}" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.spell.castingMode.label'}}:
|
||||
<select name="system.castingMode">
|
||||
<option value="standard" {{#if (eq system.castingMode 'standard')}}selected{{/if}}>{{localize 'HBM.spell.castingMode.standard'}}</option>
|
||||
<option value="sacred" {{#if (eq system.castingMode 'sacred')}}selected{{/if}}>{{localize 'HBM.spell.castingMode.sacred'}}</option>
|
||||
<option value="witch" {{#if (eq system.castingMode 'witch')}}selected{{/if}}>{{localize 'HBM.spell.castingMode.witch'}}</option>
|
||||
<option value="blood" {{#if (eq system.castingMode 'blood')}}selected{{/if}}>{{localize 'HBM.spell.castingMode.blood'}}</option>
|
||||
</select>
|
||||
</label>
|
||||
{{#if (eq system.castingMode 'sacred')}}
|
||||
<label>{{localize 'HBM.spell.deity'}}:
|
||||
<select name="system.deity">
|
||||
<option value="">—</option>
|
||||
{{#each @root.choices.deities as |label key|}}
|
||||
<option value="{{key}}" {{#if (eq ../system.deity key)}}selected{{/if}}>{{label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</label>
|
||||
{{/if}}
|
||||
<label>{{localize 'HBM.spell.sourceBook'}}:
|
||||
<select name="system.sourceBook">
|
||||
<option value="">—</option>
|
||||
{{#each @root.choices.sourceBooks as |label key|}}
|
||||
<option value="{{key}}" {{#if (eq ../system.sourceBook key)}}selected{{/if}}>{{label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
<div class="row flags">
|
||||
<label><input type="checkbox" name="system.isSuperspell" {{#if system.isSuperspell}}checked{{/if}}/> {{localize 'HBM.spell.isSuperspell'}}</label>
|
||||
<label><input type="checkbox" name="system.requiresGroupCast"{{#if system.requiresGroupCast}}checked{{/if}}/> {{localize 'HBM.spell.requiresGroupCast'}}</label>
|
||||
<label><input type="checkbox" name="system.nonCombatOnly" {{#if system.nonCombatOnly}}checked{{/if}}/> {{localize 'HBM.spell.nonCombatOnly'}}</label>
|
||||
{{#if system.requiresGroupCast}}
|
||||
<label>{{localize 'HBM.spell.minCasters'}}:
|
||||
<input type="number" name="system.minCasters" value="{{system.minCasters}}" min="1" max="10" />
|
||||
</label>
|
||||
{{/if}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{{!-- ── Cost & Difficulty ───────────────────────────────────────── --}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.spell.cost'}}</legend>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.spell.difficultyThreshold'}}:
|
||||
<input type="number" name="system.difficulty.threshold" value="{{system.difficulty.threshold}}" min="2" max="6" />
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.difficultySuccesses'}}:
|
||||
<input type="number" name="system.difficulty.successes" value="{{system.difficulty.successes}}" min="1" max="10" />
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.manaCost'}}:
|
||||
<input type="number" name="system.manaCost" value="{{system.manaCost}}" min="0" />
|
||||
</label>
|
||||
{{#if (eq system.castingMode 'blood')}}
|
||||
<label>{{localize 'HBM.spell.bloodCost'}}:
|
||||
<input type="number" name="system.bloodCost" value="{{system.bloodCost}}" min="0" />
|
||||
</label>
|
||||
{{/if}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{{!-- ── Timing & Geometry ──────────────────────────────────────── --}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.spell.timing'}}</legend>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.spell.castingTime'}}:
|
||||
<input type="text" name="system.castingTime" value="{{system.castingTime}}" />
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.castingTimeRounds'}}:
|
||||
<input type="number" name="system.castingTimeRounds" value="{{system.castingTimeRounds}}" min="0" />
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.castingTimeMinutes'}}:
|
||||
<input type="number" name="system.castingTimeMinutes" value="{{system.castingTimeMinutes}}" min="0" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.spell.range'}}:
|
||||
<input type="text" name="system.range" value="{{system.range}}" />
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.targets'}}:
|
||||
<input type="text" name="system.targets" value="{{system.targets}}" />
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.duration'}}:
|
||||
<input type="text" name="system.duration" value="{{system.duration}}" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.spell.aoeShape'}}:
|
||||
<select name="system.areaOfEffect.shape">
|
||||
{{#each @root.choices.aoeShapes as |label key|}}
|
||||
<option value="{{key}}" {{#if (eq ../system.areaOfEffect.shape key)}}selected{{/if}}>{{label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</label>
|
||||
<label>X: <input type="number" name="system.areaOfEffect.x" value="{{system.areaOfEffect.x}}" min="0" /></label>
|
||||
<label>Y: <input type="number" name="system.areaOfEffect.y" value="{{system.areaOfEffect.y}}" min="0" /></label>
|
||||
<label>{{localize 'HBM.spell.aoeUnit'}}:
|
||||
<input type="text" name="system.areaOfEffect.unit" value="{{system.areaOfEffect.unit}}" />
|
||||
</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{{!-- ── Components ─────────────────────────────────────────────── --}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.spell.components'}}</legend>
|
||||
<div class="row">
|
||||
<label><input type="checkbox" name="system.components.verbal" {{#if system.components.verbal}}checked{{/if}}/> {{localize 'HBM.spell.verbal'}}</label>
|
||||
<label><input type="checkbox" name="system.components.somatic" {{#if system.components.somatic}}checked{{/if}}/> {{localize 'HBM.spell.somatic'}}</label>
|
||||
<label>{{localize 'HBM.spell.material'}}:
|
||||
<input type="text" name="system.components.material" value="{{system.components.material}}" />
|
||||
</label>
|
||||
</div>
|
||||
{{#if (or (eq system.castingMode 'witch') (eq system.castingMode 'sacred'))}}
|
||||
<div class="array-list">
|
||||
<strong>{{localize 'HBM.spell.symbols'}}</strong>
|
||||
{{#each system.components.symbols as |sym i|}}
|
||||
<div class="array-row">
|
||||
<input type="text" name="system.components.symbols.{{i}}" value="{{sym}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.components.symbols" data-index="{{i}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.components.symbols" data-template="""">+ {{localize 'HBM.ui.add'}}</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
|
||||
{{!-- ── Damage & Status ────────────────────────────────────────── --}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.spell.damage'}}</legend>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.spell.damageBase'}}:
|
||||
<input type="text" name="system.damageBase" value="{{system.damageBase}}" placeholder="np. 1d6+magicalAbilities" />
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.damageType'}}:
|
||||
<select name="system.damageType">
|
||||
{{#each @root.choices.damageTypes as |label key|}}
|
||||
<option value="{{key}}" {{#if (eq ../system.damageType key)}}selected{{/if}}>{{label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</label>
|
||||
<label><input type="checkbox" name="system.ignoresArmor" {{#if system.ignoresArmor}}checked{{/if}}/> {{localize 'HBM.spell.ignoresArmor'}}</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.spell.saveAttribute'}}:
|
||||
<input type="text" name="system.saveAttribute" value="{{system.saveAttribute}}" />
|
||||
</label>
|
||||
<label>{{localize 'HBM.spell.saveSkill'}}:
|
||||
<input type="text" name="system.saveSkill" value="{{system.saveSkill}}" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="array-list">
|
||||
<strong>{{localize 'HBM.spell.statusEffects'}}</strong>
|
||||
{{#each system.statusEffects as |eff i|}}
|
||||
<div class="array-row">
|
||||
<input type="text" name="system.statusEffects.{{i}}" value="{{eff}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.statusEffects" data-index="{{i}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.statusEffects" data-template="""">+ {{localize 'HBM.ui.add'}}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{{!-- ── Requirements ───────────────────────────────────────────── --}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.spell.requirements'}}</legend>
|
||||
<div class="array-list">
|
||||
<strong>{{localize 'HBM.spell.requirementRace'}}</strong>
|
||||
{{#each system.requirements.race as |x i|}}
|
||||
<div class="array-row">
|
||||
<input type="text" name="system.requirements.race.{{i}}" value="{{x}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.requirements.race" data-index="{{i}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.requirements.race" data-template="""">+</button>
|
||||
</div>
|
||||
<div class="array-list">
|
||||
<strong>{{localize 'HBM.spell.requirementTalent'}}</strong>
|
||||
{{#each system.requirements.talent as |x i|}}
|
||||
<div class="array-row">
|
||||
<input type="text" name="system.requirements.talent.{{i}}" value="{{x}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.requirements.talent" data-index="{{i}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.requirements.talent" data-template="""">+</button>
|
||||
</div>
|
||||
<div class="array-list">
|
||||
<strong>{{localize 'HBM.spell.requirementDiscipline'}}</strong>
|
||||
{{#each system.requirements.discipline as |x i|}}
|
||||
<div class="array-row">
|
||||
<input type="text" name="system.requirements.discipline.{{i}}" value="{{x}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.requirements.discipline" data-index="{{i}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.requirements.discipline" data-template="""">+</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{{!-- ── Overcast & Triggers ────────────────────────────────────── --}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.spell.overcastOptions'}}</legend>
|
||||
{{#each system.overcastOptions as |opt i|}}
|
||||
<div class="array-row overcast-row">
|
||||
<input type="text" name="system.overcastOptions.{{i}}.description" value="{{opt.description}}" placeholder="{{localize 'HBM.spell.overcastDesc'}}" />
|
||||
<input type="number" name="system.overcastOptions.{{i}}.manaPerStep" value="{{opt.manaPerStep}}" min="0" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.overcastOptions" data-index="{{i}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.overcastOptions"
|
||||
data-template='{"description":"","manaPerStep":1}'>+ {{localize 'HBM.ui.add'}}</button>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.spell.triggers'}}</legend>
|
||||
{{#each system.triggers as |t i|}}
|
||||
<div class="array-row trigger-row">
|
||||
<select name="system.triggers.{{i}}.event">
|
||||
{{#each @root.choices.triggerEvents as |label key|}}
|
||||
<option value="{{key}}" {{#if (eq ../t.event key)}}selected{{/if}}>{{label}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
<input type="text" name="system.triggers.{{i}}.effect" value="{{t.effect}}" placeholder="{{localize 'HBM.spell.triggerEffect'}}" />
|
||||
<button type="button" data-action="removeArrayEntry" data-path="system.triggers" data-index="{{i}}">✕</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
<button type="button" data-action="addArrayEntry" data-path="system.triggers"
|
||||
data-template='{"event":"killWithWeapon","effect":""}'>+ {{localize 'HBM.ui.add'}}</button>
|
||||
</fieldset>
|
||||
|
||||
{{!-- ── Description ─────────────────────────────────────────────── --}}
|
||||
<label>{{localize 'HBM.spell.description'}}<textarea name="system.description" rows="6">{{system.description}}</textarea></label>
|
||||
<label>{{localize 'HBM.spell.higherCircles'}}<textarea name="system.higherCircles" rows="3">{{system.higherCircles}}</textarea></label>
|
||||
</div>
|
||||
@@ -0,0 +1,36 @@
|
||||
<div class="hbm item-body talent">
|
||||
|
||||
{{!-- Top row: flags + cost + DR bonus --}}
|
||||
<div class="row">
|
||||
<label class="checkbox-label">
|
||||
<input type="checkbox" name="system.multiSelect" {{#if system.multiSelect}}checked{{/if}}/>
|
||||
{{localize 'HBM.talent.multiSelect'}}
|
||||
</label>
|
||||
<label>{{localize 'HBM.talent.cost'}}: <input type="text" name="system.cost" value="{{system.cost}}"/></label>
|
||||
<label title="{{localize 'HBM.gear.damageReductionBonusHint'}}">
|
||||
{{localize 'HBM.gear.damageReductionBonus'}}:
|
||||
<input type="number" name="system.damageReductionBonus" value="{{system.damageReductionBonus}}" min="0" style="width:4rem;"/>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
{{!-- Requirements fieldset --}}
|
||||
<fieldset>
|
||||
<legend>{{localize 'HBM.talent.requirements'}}</legend>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.talent.requirementRace'}}: <input type="text" name="system.requirements.race" value="{{system.requirements.race}}"/></label>
|
||||
<label>{{localize 'HBM.talent.requirementAttribute'}}: <input type="text" name="system.requirements.attribute" value="{{system.requirements.attribute}}"/></label>
|
||||
<label>{{localize 'HBM.talent.requirementSkill'}}: <input type="text" name="system.requirements.skill" value="{{system.requirements.skill}}"/></label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label>{{localize 'HBM.talent.requirementTalent'}}: <input type="text" name="system.requirements.talent" value="{{system.requirements.talent}}"/></label>
|
||||
<label>{{localize 'HBM.talent.requirementTitle'}}: <input type="text" name="system.requirements.title" value="{{system.requirements.title}}"/></label>
|
||||
<label>{{localize 'HBM.talent.requirementDiscipline'}}: <input type="text" name="system.requirements.discipline" value="{{system.requirements.discipline}}"/></label>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{{!-- Description & effect textareas --}}
|
||||
<label>{{localize 'HBM.talent.description'}}<textarea name="system.description" rows="5">{{system.description}}</textarea></label>
|
||||
<label>{{localize 'HBM.talent.effect'}}<textarea name="system.effect" rows="3">{{system.effect}}</textarea></label>
|
||||
|
||||
{{> 'systems/hbm-rpg-v3/templates/item/_effects.hbs'}}
|
||||
</div>
|
||||
Reference in New Issue
Block a user