30d6f71fc7
- Fix TypeError: controls.find is not a function in hooks.mjs - Fix undefined 'npc' variable in applications.mjs - Fix CONFIG.VERMINE.model undefined by checking game.system.template existence - Fix TypeError: html.find(...).forEach is not a function in roll.mjs - Fix Cannot set properties of undefined (setting 'initial') in actor.mjs - Fix Cannot read properties of undefined (reading 'difficulty') in actor.mjs - Fix ActiveEffect application phase 'initial' already completed by adding combatStatus to base template - Fix Missing helper: 'select' in roll-dialog.hbs (removed invalid Handlebars select block) - Add SIZE_LEVELS labels to creatureSizeLevels config - Add SIZE_LEVELS translations to fr.json - Add combatStatus to base actor template - Convert all .html templates to .hbs for Foundry v14 compatibility - Update item-sheet.mjs to use .hbs extension - Update handlebars-manager.mjs to use .hbs for all partials Complete Vermine2047 Creature and Group sheet implementation: - Creature: Pattern, Size, Role, Pack with computed values - Group: Totem, Reserve, Morale, Objectives, Members management - All templates functional with proper styling Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
74 lines
2.8 KiB
Handlebars
74 lines
2.8 KiB
Handlebars
<div class="grid grid-2col">
|
|
{{!-- Computed Values --}}
|
|
<div>
|
|
<h4 class="align-center">{{ localize 'VERMINE.computed_values' }}</h4>
|
|
<div class="stats-grid">
|
|
<div class="stat">
|
|
<label>{{ localize 'VERMINE.total_attack' }}:</label>
|
|
<span>{{ system.computed.attack }}</span>
|
|
</div>
|
|
<div class="stat">
|
|
<label>{{ localize 'ADVERSITY.damage' }}:</label>
|
|
<span>{{ system.computed.damage }}</span>
|
|
</div>
|
|
<div class="stat">
|
|
<label>{{ localize 'ADVERSITY.vigor' }}:</label>
|
|
<span>{{ system.computed.vigor }}</span>
|
|
</div>
|
|
<div class="stat">
|
|
<label>{{ localize 'ADVERSITY.reaction' }}:</label>
|
|
<span>{{ system.computed.reaction }}</span>
|
|
</div>
|
|
<div class="stat">
|
|
<label>{{ localize 'ADVERSITY.pools' }}:</label>
|
|
<span>{{ system.computed.pools }}</span>
|
|
</div>
|
|
<div class="stat">
|
|
<label>{{ localize 'ADVERSITY.protection' }}:</label>
|
|
<span>{{ system.computed.protection }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{!-- Wounds --}}
|
|
<div>
|
|
<h4 class="item-name effect-name flexrow">{{ localize "VERMINE.wounds.name" }}</h4>
|
|
<ul class="unstyled">
|
|
<li class="row mdb">
|
|
{{ localize 'VERMINE.wounds.light' }} ({{ system.minorWound.threshold }}D)
|
|
{{#repeat system.minorWound.max }}
|
|
<input type="radio" data-dtype="Number" name="system.minorWound.value"
|
|
value="{{this}}" {{#ife @root.system.minorWound.value this }}checked="checked"{{/ife}}
|
|
data-wound="minorWound"
|
|
class="{{#iflteq this @root.system.minorWound.value }}checked{{/iflteq}}"
|
|
/>
|
|
{{/repeat}}
|
|
</li>
|
|
<li class="row mdb">
|
|
{{ localize 'VERMINE.wounds.heavy' }} ({{ system.majorWound.threshold }}D)
|
|
{{#repeat system.majorWound.max }}
|
|
<input type="radio" name="system.majorWound.value" value="{{this}}" {{#ife @root.system.majorWound.value this }}checked="checked"{{/ife}}
|
|
data-wound="majorWound"
|
|
class="{{#iflteq this @root.system.majorWound.value }}checked{{/iflteq}}"
|
|
/>
|
|
{{/repeat}}
|
|
</li>
|
|
<li class="row mdb">
|
|
{{ localize 'VERMINE.wounds.deadly' }} ({{ system.deadlyWound.threshold }}D)
|
|
{{#repeat system.deadlyWound.max }}
|
|
<input type="radio" name="system.deadlyWound.value" value="{{this}}" {{#ife @root.system.deadlyWound.value this }}checked="checked"{{/ife}}
|
|
data-wound="deadlyWound"
|
|
class="{{#iflteq this @root.system.deadlyWound.value }}checked{{/iflteq}}"
|
|
/>
|
|
{{/repeat}}
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
{{!-- Equipment --}}
|
|
<div class="grid-span-2">
|
|
<h4>{{ localize 'VERMINE.gear' }}</h4>
|
|
{{editor system.equipment.description target="system.equipment.description" button=true owner=owner editable=editable}}
|
|
</div>
|