162 lines
3.7 KiB
Handlebars
162 lines
3.7 KiB
Handlebars
<div class="HeroSummaryCardV1">
|
|
{{!-- * Header --}}
|
|
<div class="header">
|
|
<div class="image">Logo Image</div>
|
|
<label class="row-alt" for="{{meta.idp}}-name">
|
|
Hero
|
|
</label>
|
|
<div>
|
|
Player
|
|
</div>
|
|
</div>
|
|
<input
|
|
id="{{meta.idp}}-name"
|
|
type="text"
|
|
class="hero_name row-alt"
|
|
value="{{actor.name}}"
|
|
name="name"
|
|
>
|
|
|
|
{{!-- * Armour --}}
|
|
<div class="armour"></div>
|
|
|
|
{{!-- * Fate & Advancement --}}
|
|
<div class="fate">
|
|
<label for="{{meta.idp}}-fate-path" class="col-header">Fate</label>
|
|
<select
|
|
class="row-alt"
|
|
id="{{meta.idp}}-fate-path"
|
|
name="system.fate"
|
|
>
|
|
{{rc-options fate.selected fate.options localize=true}}
|
|
</select>
|
|
</div>
|
|
|
|
{{!-- * Weapons --}}
|
|
<table class="weapons">
|
|
<thead>
|
|
<tr>
|
|
<th class="label col-header">{{ rc-i18n "RipCrypt.common.weapon.plural" }}</th>
|
|
<th class="label col-header">{{ rc-i18n "RipCrypt.Apps.traits-range" }}</th>
|
|
<th class="label col-header">{{ rc-i18n "RipCrypt.common.wear" }}</th>
|
|
<th class="label col-header">{{ rc-i18n "RipCrypt.common.damage" }}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{#each weapons as | slot |}}
|
|
{{#if slot.empty}}
|
|
<tr data-row="{{slot.index}}" class="{{slot.class}}">
|
|
<td>---</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
{{else}}
|
|
<tr data-row="index"></tr>
|
|
{{/if}}
|
|
{{/each}}
|
|
</tbody>
|
|
</table>
|
|
|
|
{{!-- * Abilities --}}
|
|
<div class="abilities">
|
|
{{!-- Actual Abilities --}}
|
|
{{#each abilities as | ability |}}
|
|
<div class="ability">
|
|
<div class="compass">
|
|
{{#unless ability.readonly}}
|
|
<input
|
|
type="number"
|
|
id="{{@root.meta.idp}}-{{ability.id}}-input"
|
|
class="value"
|
|
value="{{ability.value}}"
|
|
name="system.ability.{{ability.id}}"
|
|
min=0
|
|
>
|
|
{{else}}
|
|
<span>{{ability.value}}</span>
|
|
{{/unless}}
|
|
{{#if @root.meta.editable}}
|
|
<button
|
|
type="button"
|
|
class="roll"
|
|
data-action="roll"
|
|
data-formula="{{ability.value}}d8rc4"
|
|
data-flavor="{{ability.name}} Roll (Difficulty: 4)"
|
|
>
|
|
<rc-icon
|
|
var:size="20px"
|
|
name="icons/roll"
|
|
></rc-icon>
|
|
</button>
|
|
{{/if}}
|
|
</div>
|
|
{{#unless ability.readonly}}
|
|
<label
|
|
class="col-header"
|
|
for="{{@root.meta.idp}}-{{ability.id}}-input"
|
|
>
|
|
{{ ability.name }}
|
|
</label>
|
|
{{else}}
|
|
<div class="col-header label">
|
|
{{ ability.name }}
|
|
</div>
|
|
{{/unless}}
|
|
</div>
|
|
{{/each}}
|
|
|
|
{{!-- Health --}}
|
|
<div class="ability">
|
|
<div class="compass dual">
|
|
{{#if meta.editable}}
|
|
<input
|
|
type="number"
|
|
id="{{meta.idp}}-guts-value"
|
|
class="value"
|
|
name="system.guts.value"
|
|
value="{{guts.value}}"
|
|
min="0"
|
|
>
|
|
{{else}}
|
|
<span
|
|
class="value"
|
|
aria-describedby="{{meta.idp}}-guts-value-label"
|
|
{{!-- TODO: aria-label="{{ rc-i18n "RipCrypt.Apps.a11y.guts-value-readonly" }}" --}}
|
|
>
|
|
{{ guts.value }}
|
|
</span>
|
|
{{/if}}
|
|
<span
|
|
class="max"
|
|
aria-hidden="true"
|
|
{{!-- TODO: aria-label="{{ rc-i18n "RipCrypt.Apps.a11y.guts-max-readonly" }}" --}}
|
|
>
|
|
{{ guts.max }}
|
|
</span>
|
|
</div>
|
|
{{#if meta.editable}}
|
|
<label class="col-header" for="{{meta.idp}}-guts-value">
|
|
{{ rc-i18n "RipCrypt.common.guts" }}
|
|
</label>
|
|
{{else}}
|
|
<div class="col-header label" id="{{meta.idp}}-guts-value-label">
|
|
{{ rc-i18n "RipCrypt.common.guts" }}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{!-- Move & Run --}}
|
|
<div class="ability">
|
|
<div class="compass dual">
|
|
<span class="value">{{speed.move}}</span>
|
|
<span class="max">{{speed.run}}</span>
|
|
</div>
|
|
<div aria-hidden="true" class="col-header label">
|
|
{{rc-i18n "RipCrypt.Apps.move-run"}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{!-- * Equipment --}}
|
|
</div>
|