This commit is contained in:
2025-09-18 21:14:20 +02:00
parent 1abe31b3c8
commit a4c51710ec
5 changed files with 340 additions and 436 deletions
@@ -5,6 +5,7 @@
<div style="margin-left:auto; display:flex; gap:.5rem;">
<button type="button" data-action="configure-base"><i class="fas fa-cog"></i> Base</button>
<button type="button" data-action="toggle-raw"><i class="fas fa-bug"></i> Raw</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}}
@@ -27,35 +28,27 @@
<div class="card">
<h3>Totals</h3>
<ol class="properties">
<li>Armour: <b>{{totals.armour}}</b> <small>(base {{base.armour}}, mods {{signed modsSum.armour}})</small></li>
<li>Integrity: <b>{{totals.integrity}}</b> <small>(base {{base.integrity}}, mods {{signed modsSum.integrity}})</small></li>
<li>Manoeuvre: <b>{{totals.manoeuvre}}</b> <small>(base {{base.manoeuvre}}, mods {{signed modsSum.manoeuvre}})</small></li>
<li>Detection: <b>{{totals.detection}}</b> <small>(base {{base.detection}}, mods {{signed modsSum.detection}})</small></li>
<li>Speed: <b>{{totals.speed}}</b> <small>(base {{base.speed}}, mods {{signed modsSum.speed}})</small></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>
<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>Hull</h3>
<ol class="properties">
<li>Class: <b>{{hull.class}}</b> ({{hull.size}})</li>
<li>Slots Allowed — 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>
<li>Slots Allowed — 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>
</div>
</div>
{{#if warnings.capacity}}
<p class="warning" style="color:#b45309; margin:.25rem 0 0;">{{warnings.capacity}}</p>
{{/if}}
{{#if warnings.slots}}
<p class="warning" style="color:#b45309; margin:.25rem 0 0;">{{warnings.slots}}</p>
{{/if}}
{{#if warnings.requirements}}
<p class="warning" style="color:#b91c1c; margin:.25rem 0 0;">{{warnings.requirements}}</p>
{{/if}}
{{#if warnings.capacity}}<p class="warning" style="color:#b45309;">{{warnings.capacity}}</p>{{/if}}
{{#if warnings.slots}}<p class="warning" style="color:#b45309;">{{warnings.slots}}</p>{{/if}}
{{#if warnings.mounts}}<p class="warning" style="color:#b91c1c;">{{warnings.mounts}}</p>{{/if}}
{{#if warnings.requirements}}<p class="warning" style="color:#b91c1c;">{{warnings.requirements}}</p>{{/if}}
<hr>
<div class="grid grid-2col" style="gap:.5rem;">
@@ -74,19 +67,19 @@
<div class="card">
<h3>Mods (items)</h3>
<ol class="properties">
<li>Armour: <b>{{signed modsSum.armour}}</b></li>
<li>Integrity: <b>{{signed modsSum.integrity}}</b></li>
<li>Manoeuvre: <b>{{signed modsSum.manoeuvre}}</b></li>
<li>Detection: <b>{{signed modsSum.detection}}</b></li>
<li>Speed: <b>{{signed modsSum.speed}}</b></li>
<li>Space: <b>{{signed modsSum.space}}</b></li>
<li>Power: <b>{{signed modsSum.power}}</b></li>
<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>
</div>
</div>
</div>
<!-- ROGUE TRADER TAB -->
<!-- RT TAB -->
<div class="tab" data-group="primary" data-tab="rt">
<div class="grid grid-2col" style="gap:.75rem;">
<div class="card">
@@ -101,9 +94,6 @@
<li><span>Power</span> <b>{{rtCard.power}}</b></li>
<li><span>Turret</span> <b>{{rtCard.turret}}</b></li>
</ol>
{{#if rtCard.source}}
<p class="notes" style="margin-top:.25rem; opacity:.65;">Source: {{rtCard.source}}</p>
{{/if}}
</div>
<div class="card">
<h3>RT — Weapon Capacity</h3>
@@ -114,9 +104,8 @@
<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.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>
</div>
@@ -154,9 +143,8 @@
<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; margin-top:.25rem;">{{warnings.capacity}}</p>{{/if}}
<hr>
<h3>Slots Used</h3>
<h3>Weapon 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>
@@ -164,8 +152,10 @@
<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; margin-top:.25rem;">{{warnings.slots}}</p>{{/if}}
{{#if warnings.requirements}}<p class="warning" style="color:#b91c1c; margin-top:.25rem;">{{warnings.requirements}}</p>{{/if}}
{{#if warnings.capacity}}<p class="warning" style="color:#b45309;">{{warnings.capacity}}</p>{{/if}}
{{#if warnings.slots}}<p class="warning" style="color:#b45309;">{{warnings.slots}}</p>{{/if}}
{{#if warnings.mounts}}<p class="warning" style="color:#b91c1c;">{{warnings.mounts}}</p>{{/if}}
{{#if warnings.requirements}}<p class="warning" style="color:#b91c1c;">{{warnings.requirements}}</p>{{/if}}
</div>
<div class="card">
@@ -178,43 +168,46 @@
<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}}">
<tr>
<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>
<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>
</tr>
{{/each}}
</tbody>
</table>
{{else}}
<p style="opacity:.7">No components installed. Add items with <code>item.system.voidship</code> set.</p>
<p style="opacity:.7">No components installed. Drop items with <code>system.voidship</code>.</p>
{{/if}}
</div>
</div>
<!-- RAW DEBUG -->
<div class="vb-raw" style="display:none; margin-top:.5rem;">
<hr>
<details open>
<summary>Debug: Flags & Totals</summary>
<pre>{{tojson debug}}</pre>
<pre>{{tojson totals}}</pre>
<pre>{{tojson hull}}</pre>
</details>
</div>
</div>
</section>
</form>