Files
vtt_work/wg-voidships-builder/templates/voidship-sheet.hbs
T
2025-09-19 12:59:10 +02:00

232 lines
10 KiB
Handlebars

<form class="voidship-sheet">
<header class="sheet-header flexrow" style="align-items:center; gap:.5rem;">
<img class="profile" src="{{actor.img}}" width="48" height="48">
<h1 class="charname"><input name="name" type="text" value="{{actor.name}}"></h1>
<div style="margin-left:auto; display:flex; gap:.5rem;">
<button type="button" data-action="configure-base"><i class="fas fa-cog"></i> Base</button>
{{#if (eq actor.flags.wg-voidships-builder.isVoidship true)}}
<button type="button" data-action="unmark-voidship"><i class="fas fa-times-circle"></i> Unmark</button>
{{else}}
<button type="button" data-action="mark-voidship"><i class="fas fa-check-circle"></i> Mark Voidship</button>
{{/if}}
</div>
</header>
<nav class="tabs" data-group="primary">
<a class="item" data-tab="wg">W&amp;G</a>
<a class="item" data-tab="rt">Rogue Trader</a>
<a class="item" data-tab="crew">Crew</a>
<a class="item" data-tab="components">Components</a>
</nav>
<section class="sheet-body">
<!-- W&G TAB -->
<div class="tab" data-group="primary" data-tab="wg">
<div class="grid grid-2col" style="gap:.5rem;">
<div class="card">
<h3>Totals (Base + Mods)</h3>
<ol class="properties">
<li>Armour: <b>{{totals.armour}}</b></li>
<li>Integrity: <b>{{totals.integrity}}</b></li>
<li>Manoeuvre: <b>{{totals.manoeuvre}}</b></li>
<li>Detection: <b>{{totals.detection}}</b></li>
<li>Speed: <b>{{totals.speed}}</b></li>
<li>Space (free/total): <b>{{totals.spaceFree}}</b> / <b>{{totals.space}}</b></li>
<li>Power (free/total): <b>{{totals.powerFree}}</b> / <b>{{totals.power}}</b></li>
</ol>
{{#if warnings.capacity}}<p class="warning" style="color:#b45309;">{{warnings.capacity}}</p>{{/if}}
</div>
<div class="card">
<h3>Hull</h3>
<ol class="properties">
<li>Class: <b>{{hull.class}}</b> ({{hull.size}})</li>
<li>Slots — Prow: <b>{{hull.slots.prow}}</b>, Dorsal: <b>{{hull.slots.dorsal}}</b>, Port: <b>{{hull.slots.port}}</b>, Starboard: <b>{{hull.slots.starboard}}</b>, Keel: <b>{{hull.slots.keel}}</b></li>
</ol>
{{#if warnings.slots}}<p class="warning" style="color:#b45309;">{{warnings.slots}}</p>{{/if}}
{{#if warnings.requirements}}<p class="warning" style="color:#b91c1c;">{{warnings.requirements}}</p>{{/if}}
</div>
</div>
<hr>
<div class="grid grid-2col" style="gap:.5rem;">
<div class="card">
<h3>Base (flags)</h3>
<ol class="properties">
<li>Armour: <b>{{totals.armour}}</b></li>
<li>Integrity: <b>{{totals.integrity}}</b></li>
<li>Manoeuvre: <b>{{totals.manoeuvre}}</b></li>
<li>Detection: <b>{{totals.detection}}</b></li>
<li>Speed: <b>{{totals.speed}}</b></li>
<li>Space (free/total): <b>{{totals.spaceFree}}</b> / <b>{{totals.space}}</b></li>
<li>Power (free/total): <b>{{totals.powerFree}}</b> / <b>{{totals.power}}</b></li>
</ol>
</div>
<div class="card">
<h3>Mods (items)</h3>
<ol class="properties">
<li>Armour: <b>{{mods.armour}}</b></li>
<li>Integrity: <b>{{mods.integrity}}</b></li>
<li>Manoeuvre: <b>{{mods.manoeuvre}}</b></li>
<li>Detection: <b>{{mods.detection}}</b></li>
<li>Speed: <b>{{mods.speed}}</b></li>
<li>Space: <b>{{mods.space}}</b></li>
<li>Power: <b>{{mods.power}}</b></li>
</ol>
<p class="notes" style="opacity:.7">* Mods dodawane są tylko z wyposażonych komponentów.</p>
</div>
</div>
<details style="margin-top:.5rem;"><summary>Raw JSON</summary>
<pre>{{json this}}</pre>
</details>
</div>
<!-- ROGUE TRADER TAB -->
<div class="tab" data-group="primary" data-tab="rt">
<div class="grid grid-2col" style="gap:.75rem;">
<div class="card">
<h3>RT — Stat Block</h3>
<ol class="properties">
<li><span>Speed</span> <b>{{rtCard.speed}}</b></li>
<li><span>Manoeuvrability</span> <b>{{rtCard.manoeuvrability}}</b></li>
<li><span>Detection</span> <b>{{rtCard.detection}}</b></li>
<li><span>Hull Integrity</span> <b>{{rtCard.hullIntegrity}}</b></li>
<li><span>Armour</span> <b>{{rtCard.armour}}</b></li>
<li><span>Space</span> <b>{{rtCard.space}}</b></li>
<li><span>Power</span> <b>{{rtCard.power}}</b></li>
<li><span>Turret</span> <b>{{rtCard.turret}}</b></li>
</ol>
</div>
<div class="card">
<h3>RT — Weapon Capacity</h3>
<ol class="properties">
<li>Prow: <b>{{rtCard.weapons.prow}}</b></li>
<li>Dorsal: <b>{{rtCard.weapons.dorsal}}</b></li>
<li>Port: <b>{{rtCard.weapons.port}}</b></li>
<li>Starboard: <b>{{rtCard.weapons.starboard}}</b></li>
<li>Keel: <b>{{rtCard.weapons.keel}}</b></li>
</ol>
{{#if rtCard.notes}}<hr><p style="opacity:.85">{{rtCard.notes}}</p>{{/if}}
{{#if rtCard.source}}<p class="notes" style="margin-top:.25rem; opacity:.65;">Source: {{rtCard.source}}</p>{{/if}}
</div>
</div>
<details style="margin-top:.5rem;"><summary>Raw RT</summary>
<pre>{{json actor.flags.wg-voidships-builder.rtRaw}}</pre>
</details>
</div>
<!-- CREW TAB -->
<div class="tab" data-group="primary" data-tab="crew">
<div class="grid grid-2col" style="gap:.5rem;">
<div class="card">
<h3>Main Roles</h3>
<ol class="properties">
<li>Command: <b>{{crew.command}}</b></li>
<li>Pilot/Helm: <b>{{crew.pilot}}</b></li>
<li>Sensors/Auspex: <b>{{crew.sensors}}</b></li>
<li>Engineering: <b>{{crew.engineering}}</b></li>
</ol>
</div>
<div class="card">
<h3>Combat &amp; Support</h3>
<ol class="properties">
<li>Gunnery: <b>{{crew.gunnery}}</b></li>
<li>Security/Armsmen: <b>{{crew.security}}</b></li>
<li>Flight Deck: <b>{{crew.flightDeck}}</b></li>
<li>Passengers: <b>{{crew.passengers}}</b></li>
</ol>
</div>
</div>
<details style="margin-top:.5rem;"><summary>Raw Crew</summary>
<pre>{{json crew}}</pre>
</details>
</div>
<!-- COMPONENTS TAB -->
<div class="tab" data-group="primary" data-tab="components">
<div class="grid grid-2col" style="gap:.75rem;">
<div class="card">
<h3>Capacity</h3>
<ol class="properties">
<li>Space (free / total): <b>{{totals.spaceFree}}</b> / <b>{{totals.space}}</b></li>
<li>Power (free / total): <b>{{totals.powerFree}}</b> / <b>{{totals.power}}</b></li>
</ol>
{{#if warnings.capacity}}<p class="warning" style="color:#b45309;">{{warnings.capacity}}</p>{{/if}}
<hr>
<h3>Slots Used</h3>
<ol class="properties">
<li>Prow: <b>{{slotsUsed.prow}}</b> / <b>{{hull.slots.prow}}</b></li>
<li>Dorsal: <b>{{slotsUsed.dorsal}}</b> / <b>{{hull.slots.dorsal}}</b></li>
<li>Port: <b>{{slotsUsed.port}}</b> / <b>{{hull.slots.port}}</b></li>
<li>Starboard: <b>{{slotsUsed.starboard}}</b> / <b>{{hull.slots.starboard}}</b></li>
<li>Keel: <b>{{slotsUsed.keel}}</b> / <b>{{hull.slots.keel}}</b></li>
</ol>
{{#if warnings.slots}}<p class="warning" style="color:#b45309;">{{warnings.slots}}</p>{{/if}}
{{#if warnings.requirements}}<p class="warning" style="color:#b91c1c;">{{warnings.requirements}}</p>{{/if}}
</div>
<div class="card">
<h3>Mounted Components</h3>
{{#if components.length}}
<table class="table" style="width:100%;">
<thead>
<tr>
<th style="text-align:left;">Name</th>
<th>Slot</th>
<th>Use</th>
<th>Mods</th>
<th style="width:90px;">Actions</th>
</tr>
</thead>
<tbody>
{{#each components as |c|}}
<tr data-item-id="{{c.itemId}}">
<td style="text-align:left;">
{{#if c.equipped}}<i class="fa-solid fa-plug" title="Equipped"></i>{{else}}<i class="fa-regular fa-square" title="Unequipped"></i>{{/if}}
{{c.name}}
</td>
<td style="text-align:center;">{{c.slot}}</td>
<td style="text-align:center;">
<small>Space: {{c.use.space}}, Power: {{c.use.power}}</small>
</td>
<td>
<small>
{{#if c.mods.armour}}Armour {{signed c.mods.armour}} {{/if}}
{{#if c.mods.integrity}}Integrity {{signed c.mods.integrity}} {{/if}}
{{#if c.mods.manoeuvre}}Manoeuvre {{signed c.mods.manoeuvre}} {{/if}}
{{#if c.mods.detection}}Detection {{signed c.mods.detection}} {{/if}}
{{#if c.mods.speed}}Speed {{signed c.mods.speed}} {{/if}}
{{#if c.mods.space}}Space {{signed c.mods.space}} {{/if}}
{{#if c.mods.power}}Power {{signed c.mods.power}} {{/if}}
</small>
</td>
<td style="text-align:center;">
<a class="control" data-action="comp-toggle" title="Toggle Equipped"><i class="fa-solid fa-power-off"></i></a>
<a class="control" data-action="comp-edit" title="Edit Component"><i class="fa-solid fa-pen-to-square"></i></a>
<a class="control" data-action="comp-remove" title="Remove"><i class="fa-solid fa-trash"></i></a>
</td>
</tr>
{{/each}}
</tbody>
</table>
{{else}}
<p style="opacity:.7">No components installed. Drag items from the Components compendium here.</p>
{{/if}}
</div>
</div>
<details style="margin-top:.5rem;"><summary>Raw Components & Use</summary>
<pre>{{json components}}</pre>
<pre>{{json use}}</pre>
</details>
</div>
</section>
</form>