Files
sla_industries_MS/templates/actor/actor-sheet.html
T
tevansandClaude Sonnet 4.6 3d21b8e466 feat: SLA Industries UI overhaul — icons, pause animation, actor sheet enhancements
- Custom SLA Industries pause-screen animation (orbital rings, SLA hex logo, radar sweep, STAND BY blink)
- Pause animation now correctly disappears on unpause (fixed display:flex !important conflict)
- 18 custom SLA Industries SVG icons for all sidebar tabs and scene controls (icons/ui/)
- JavaScript DOM injection for Foundry v13 icon replacement (button-based structure)
- SCL fractional controls (+1/-1/+½/-½ step buttons)
- Session ability tracking checkbox + New Session button
- Contacts tab with card-based CRUD
- Drug stacking warning dialog
- Rest button (Short/Long rest with condition clear + flux restore)
- Activity log in Notes tab (rolls, rests, drugs, panic — newest first, 10KB cap)
- Portrait static neon blue border
- Header restructured to 8-column grid (LAD, Credits, SCL, Height, Weight, Rest)
- S.C.L label rename

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 23:12:06 +01:00

1328 lines
79 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<form class="{{cssClass}} flexcol sla-sheet-theme-{{slaSheetTheme}}" data-sla-theme="{{slaSheetTheme}}" autocomplete="off">
{{!-- Sheet Header --}}
<header class="char-header header-grid">
<div class="header-fields header-grid">
{{!-- The grid classes are defined in scss/global/_grid.scss. To use,
use both the "grid" and "grid-Ncol" class where "N" can be any number
from 1 to 12 and will create that number of columns. --}}
{{!-- The grid classes are defined in scss/global/_grid.scss. To use,
use both the "grid" and "grid-Ncol" class where "N" can be any number
from 1 to 12 and will create that number of columns. --}}
<div class="header">
<img class="profile sla-portrait-static" src="{{img}}" data-edit="img" title="{{name}}" height="150"
width="150" />
<div class="headergrid">
<div class="sla-sheet-wordmark">SLA Industries</div>
<!-- <img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" height="150" width="150"/> -->
<!-- PLAYER NAME -->
<div class="headernamegrid header-field header-field-name">
<div class="headerinputtext">{{ localize 'Mosh.Name' }}</div>
<div class="headerinputfield sla-header-input charname"><input name="name" class="noborder" type="text"
value="{{name}}" placeholder="{{ localize 'Mosh.Name' }}" /></div>
</div>
<div class="header-field header-field-lad">
<div class="headerinputtext">L.A.D.</div>
<label class="sla-header-checkbox" title="Life After Death">
<input type="checkbox" name="system.sla.lad" data-dtype="Boolean" {{checked system.sla.lad}} />
<span>L.A.D.</span>
</label>
</div>
<div class="header-field header-field-credits">
<div class="headerinputtext">{{ localize 'Mosh.Credits' }}</div>
<div class="headerinputfield sla-header-input charname"><input name="system.credits.value" class="noborder" type="text"
value="{{system.credits.value}}" placeholder="" /></div>
</div>
<!-- CLASS -->
<div class="header-field header-field-class">
<div class="headerinputtext">{{ localize 'Mosh.CLASS' }}</div>
<div class="headerinputfield sla-header-input charname"><input name="system.class.value" class="noborder" type="text"
value="{{system.class.value}}" placeholder="" /></div>
</div>
<!-- RANK -->
<div class="header-field header-field-race">
<div class="headerinputtext">Race</div>
<div class="headerinputfield sla-header-input charname"><input name="system.rank.value" class="noborder" type="text"
value="{{system.rank.value}}" placeholder="" /></div>
</div>
<div class="header-field header-field-sla-rank">
<div class="headerinputtext">S.C.L</div>
<div class="headerinputfield sla-header-input charname"><input name="system.attributes.level.value" class="noborder"
type="text" value="{{system.attributes.level.value}}" placeholder="" /></div>
</div>
<div class="header-field header-field-height">
<div class="headerinputtext">Height</div>
<div class="headerinputfield sla-header-input charname"><input name="system.sla.height.value" class="noborder" type="text"
value="{{system.sla.height.value}}" placeholder="" /></div>
</div>
<div class="header-field header-field-weight">
<div class="headerinputtext">Weight</div>
<div class="headerinputfield sla-header-input charname"><input name="system.sla.weightText.value" class="noborder" type="text"
value="{{system.sla.weightText.value}}" placeholder="" /></div>
</div>
<div class="header-field header-field-rest">
<div class="headerinputtext">&nbsp;</div>
<button type="button" class="sla-sheet-action sla-rest-button sla-header-rest-pill" title="Take a short or long rest">Rest</button>
</div>
</div>
</div>
<div class="health grid grid-2col" style="margin-top: 0; grid-template-rows: repeat(4, minmax(92px, auto)); row-gap: 12px; align-content: start;">
<!-- Health -->
<div class="resource healthspread minmaxtopstat">
<div class="sla-health-label-row">
<label for="system.health.value" class="resource-label minmaxtext sla-stat-heading">{{ localize 'Mosh.Health' }}</label>
<button type="button" class="sla-inline-mini-button sla-health-reset" title="Reset current health to maximum">Reset</button>
</div>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="system.health.value" value="{{system.health.value}}"
data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="system.health.max"
value="{{system.health.max}}" data-dtype="Number" />
</div>
<div class="healthmaxtext">{{ localize 'Mosh.Current' }}</div>
<div class="healthmaxtext">{{ localize 'Mosh.Maximum' }}</div>
</div>
<!-- Hits -->
<div class="resource healthspread minmaxtopstat">
<label for="system.hits.value" class="resource-label minmaxtext sla-stat-heading">
{{#if system.settings.firstEdition}}
{{ localize 'Mosh.Wounds' }}
{{else}}
{{ localize 'Mosh.Hits' }}
{{/if}}
</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="system.hits.value" value="{{system.hits.value}}"
data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="system.hits.max"
value="{{system.hits.max}}" data-dtype="Number" />
</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.Current' }}</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.Maximum' }}</div>
</div>
{{#if system.settings.useCalm}}
<!-- Calm -->
<div class="resource healthspread minmaxtopstat">
<label for="system.other.stress.value" class="resource-label minmaxtext rollable calm-roll sla-stat-heading">{{ localize 'Mosh.Calm' }}</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="system.other.stress.value" value="{{system.other.stress.value}}"
data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="system.other.stress.max"
value="{{system.other.stress.max}}" data-dtype="Number" />
</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.Current' }}</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.Maximum' }}</div>
</div>
{{else}}
<!-- Stress -->
<div class="resource healthspread minmaxtopstat">
<label for="system.other.stress.value" class="resource-label minmaxtext rollable stress-roll sla-stat-heading">{{ localize 'Mosh.Stress' }}</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="system.other.stress.value" value="{{system.other.stress.value}}"
data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="system.other.stress.min"
value="{{system.other.stress.min}}" data-dtype="Number" />
</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.Current' }}</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.Minimum' }}</div>
</div>
{{/if}}
{{#if isEbbUser}}
<div class="resource healthspread minmaxtopstat">
<label for="system.sla.flux.value" class="resource-label minmaxtext sla-stat-heading">Flux</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="system.sla.flux.value" value="{{system.sla.flux.value}}"
data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="system.sla.flux.max"
value="{{system.sla.flux.max}}" data-dtype="Number" />
</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.Current' }}</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.Maximum' }}</div>
</div>
{{else}}
{{#if system.settings.firstEdition}}
{{else}}
<!-- Resolve -->
<div class="resource healthspread minmaxtopstat">
<label for="system.other.resolve.value" class="resource-label minmaxtext sla-stat-heading">{{ localize 'Mosh.Resolve' }}</label>
<div class="valuewrapper">
<input class="maxhealth-input darkGreyText" type="text" name="system.other.resolve.value" value="{{system.other.resolve.value}}" data-dtype="Number" />
</div>
</div>
{{/if}}
{{/if}}
{{#if system.settings.firstEdition}}
<!-- Armor -->
<div class="resource healthspread minmaxtopstat" style="{{#if isEbbUser}}grid-column-start: 1; grid-column-end: 3;{{else}}grid-column-start: 2; grid-column-end: 3;{{/if}}">
<label for="system.stats.armor.value" class="resource-label minmaxtext rollable armor-roll sla-stat-heading">{{ localize 'Mosh.Armor' }}</label>
<div class="minmaxwrapper sla-armor-track" style="width: 100%; border-radius: 0.3em;">
<div class="maxhealth-input sla-armor-value-cell" style="display: flex;">
<div class="whiteText sla-armor-main" type="text" data-dtype="Number">{{system.stats.armor.mod}}</div>
{{#if (compare 'str' system.stats.armor.cover '===' 'insignificant')}}
<div class="highlightText sla-armor-cover-bonus" type="text" data-dtype="Number" style="font-size: 0.8rem;">&nbsp;5</div>
{{/if}}
{{#if (compare 'str' system.stats.armor.cover '===' 'light')}}
<div class="highlightText sla-armor-cover-bonus" type="text" data-dtype="Number" style="font-size: 0.8rem;">&nbsp;10</div>
{{/if}}
{{#if (compare 'str' system.stats.armor.cover '===' 'heavy')}}
<div class="highlightText sla-armor-cover-bonus" type="text" data-dtype="Number" style="font-size: 0.8rem;">&nbsp;20</div>
{{/if}}
</div>
<div class="slant sla-armor-divider" style="transform: skewX(0deg);"></div>
<div class="maxhealth-input sla-armor-value-cell" style="display: flex;">
<div class="whiteText sla-armor-main" type="text" data-dtype="Number">{{system.stats.armor.damageReduction}}</div>
{{#if (compare 'str' system.stats.armor.cover '===' 'heavy')}}
<div class="highlightText sla-armor-cover-bonus" type="text" data-dtype="Number" style="font-size: 0.8rem;">&nbsp;5</div>
{{/if}}
</div>
</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.ArmorPoints' }}</div>
<div class="healthmaxtext sla-stat-subheading">{{ localize 'Mosh.DMGReduction' }}</div>
</div>
{{/if}}
<!-- Trauma Response -->
<div class="" style="margin-left: 6px; margin-right: 0px; flex: 0; grid-column-start: 1; grid-column-end: 3;">
<div class="sla-trauma-header-row">
<div class="resource-label sla-stat-heading sla-trauma-heading">{{ localize 'Mosh.TraumaResponse' }}</div>
<div class="sla-session-ability-row">
<label class="sla-session-ability-label" title="Check when the session trauma ability has been used">
<input type="checkbox" class="sla-session-ability-used" {{#if system.sla.sessionAbilityUsed}}checked{{/if}} />
<span>Session ability used</span>
</label>
<button type="button" class="sla-new-session" title="Start a new session — resets session ability">New Session</button>
</div>
</div>
<textarea name="system.other.stressdesc.value" rows="4" class="textarea-input trauma-response-box" type="text"
data-target="system.other.stressdesc.value" placeholder="Trauma response">{{system.other.stressdesc.value}}</textarea>
</div>
<!-- XP -->
<!-- <div class="char-pip-button list-roll flex" data-key="xp" data-label="XP" data-max="8" data-min="0">
{{{system.xp.html}}}
</div> -->
</div>
<div class="abilities">
<!-- <div class="grid grid-2col"> -->
<!-- STRESS -->
<!-- <div class="resource mainstat">
<div class="stresslabel">
<div class="ability-mod stresstext">STRESS</div>
</div>
<input class="smallcircle-input" type="text" name="system.other.stress.value"
value="{{system.other.stress.value}}" data-dtype="Number" />
</div> -->
<!-- RESOLVE -->
<!-- <div class="resource mainstat">
<div class="stresslabel">
<div class="ability-mod stresstext">RESOLVE</div>
</div>
<input class="smallcircle-input" type="text" name="system.other.resolve.value"
value="{{system.other.resolve.value}}" data-dtype="Number" />
</div> -->
<!-- </div> -->
{{#if system.settings.firstEdition}}
<div class="grid grid-1col widegap">
{{else}}
<div class="grid grid-1col widegap" style="gap: 24px">
{{/if}}
<!-- Strength -->
<div class="mainstatwrapper">
<div class="resource mainstat">
<div class="mainstatlabel">
<span class="ability-mod stat-roll rollable mainstattext" data-key="strength"
data-label="{{ localize 'Mosh.Strength' }}">{{ localize 'Mosh.Strength' }}</span>
</div>
<input class="circle-input" type="text" name="system.stats.strength.value"
value="{{system.stats.strength.value}}" data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="system.stats.strength.mod"
value="{{system.stats.strength.mod}}" data-dtype="Number" title="{{slaStatModifierTitles.strength}}" />
<div class="mainstatmod-title">+</div>
</div>
<!-- Speed -->
<div class="mainstatwrapper">
<div class="resource mainstat">
<div class="mainstatlabel">
<span class="ability-mod stat-roll rollable mainstattext" data-key="speed" data-roll="d100"
data-label="{{ localize 'Mosh.Speed' }}">{{ localize 'Mosh.Speed' }}</span>
</div>
<input class="circle-input" type="text" name="system.stats.speed.value" value="{{system.stats.speed.value}}"
data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="system.stats.speed.mod" value="{{system.stats.speed.mod}}"
data-dtype="Number" title="{{slaStatModifierTitles.speed}}" />
<div class="mainstatmod-title">+</div>
</div>
<!-- Intellect -->
<div class="mainstatwrapper">
<div class="resource mainstat">
<div class="mainstatlabel">
<span class="ability-mod stat-roll rollable mainstattext" data-key="intellect" data-roll="d100"
data-label="{{ localize 'Mosh.Intellect' }}">{{ localize 'Mosh.Intellect' }}</span>
</div>
<input class="circle-input" type="text" name="system.stats.intellect.value"
value="{{system.stats.intellect.value}}" data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="system.stats.intellect.mod"
value="{{system.stats.intellect.mod}}" data-dtype="Number" title="{{slaStatModifierTitles.intellect}}" />
<div class="mainstatmod-title">+</div>
</div>
<!-- Combat -->
<div class="mainstatwrapper">
<div class="resource mainstat">
<div class="mainstatlabel">
<span class="ability-mod stat-roll rollable mainstattext" data-key="combat" data-roll="d100"
data-label="{{ localize 'Mosh.Combat' }}">{{ localize 'Mosh.Combat' }}</span>
</div>
<input class="circle-input" type="text" name="system.stats.combat.value" value="{{system.stats.combat.value}}"
data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="system.stats.combat.mod" value="{{system.stats.combat.mod}}"
data-dtype="Number" title="{{slaStatModifierTitles.combat}}" />
<div class="mainstatmod-title">+</div>
</div>
</div>
<div class="sla-mainstat-action-strip">
<button type="button" class="sla-sheet-action sla-wound-button">Wound</button>
</div>
</div>
<!-- SAVES -->
{{#if system.settings.firstEdition}}
<div class="saves grid grid-1col savebackground">
{{else}}
<div class="saves grid grid-1col savebackground" style = "height: 264px;">
{{/if}}
<!-- Sanity -->
<div class="resource flex-group-center">
<span class="ability-mod stat-roll rollable savetext" data-roll="d100" data-label="Sanity" data-key="sanity" data-target="{{system.stats.sanity.value}}">{{ localize 'Mosh.Sanity' }}</span>
<div class="grid grid-3col" style="grid-template-columns: 44px 14px 42px; margin-left:6px;">
<input class="square-input" type="text" name="system.stats.sanity.value" value="{{system.stats.sanity.value}}" data-dtype="Number" />
<div class="mainstatmod-title" style="top: 10px;">+</div>
<input class="mainsavemod-input" style="top: 5px;" type="text" name="system.stats.sanity.mod" value="{{system.stats.sanity.mod}}" data-dtype="Number" title="{{slaStatModifierTitles.sanity}}" />
</div>
</div>
<!-- Fear -->
<div class="resource flex-group-center">
<span class="ability-mod stat-roll rollable savetext" data-roll="d100" data-key="fear" data-target="{{system.stats.fear.value}}" data-label="{{ localize 'Mosh.Fear' }}">{{ localize 'Mosh.Fear' }}</span>
<div class="grid grid-3col" style="grid-template-columns: 44px 14px 42px; margin-left:6px;">
<input class="square-input" type="text" name="system.stats.fear.value" value="{{system.stats.fear.value}}" data-dtype="Number" />
<div class="mainstatmod-title" style="top: 10px;">+</div>
<input class="mainsavemod-input" style="top: 5px;" type="text" name="system.stats.fear.mod" value="{{system.stats.fear.mod}}" data-dtype="Number" title="{{slaStatModifierTitles.fear}}" />
</div>
</div>
<!-- Body -->
<div class="resource flex-group-center">
<span class="ability-mod stat-roll rollable savetext" data-roll="d100" data-key="body" data-target="{{system.stats.body.value}}" data-label="{{ localize 'Mosh.Body' }}">{{ localize 'Mosh.Body' }}</span>
<div class="grid grid-3col" style="grid-template-columns: 44px 14px 42px; margin-left:6px;">
<input class="square-input" type="text" name="system.stats.body.value" value="{{system.stats.body.value}}" data-dtype="Number" />
<div class="mainstatmod-title" style="top: 10px;">+</div>
<input class="mainsavemod-input" style="top: 5px;"type="text" name="system.stats.body.mod" value="{{system.stats.body.mod}}" data-dtype="Number" title="{{slaStatModifierTitles.body}}" />
</div>
</div>
<div class="sla-save-action-strip">
<button type="button" class="sla-sheet-action sla-panic-button">Panic</button>
</div>
{{#unless system.settings.firstEdition}}
<!-- Armor -->
<div class="resource flex-group-center">
<span class="ability-mod stat-roll rollable savetext" data-roll="d100" data-key="armor" data-target="{{system.stats.armor.value}}" data-label="{{ localize 'Mosh.Armor' }}">{{ localize 'Mosh.Armor' }}</span>
<div class="grid grid-3col" style="grid-template-columns: 44px 14px 42px; margin-left:6px;">
<input class="square-input" type="text" name="system.stats.armor.value" value="{{system.stats.armor.value}}" data-dtype="Number" />
<div class="mainstatmod-title" style="top: 10px;">+</div>
<div class="mainsavemod-input" style="top: 5px; padding: 5px;" type="text" name="system.stats.armor.mod" value="{{system.stats.armor.mod}}" data-dtype="Number">{{system.stats.armor.mod}}</div>
</div>
</div>
{{/unless}}
</div>
</div>
</header>
<div class="sla-front-strip">
<div class="sla-carry-summary sla-carry-summary-inline {{#if slaCarry.over}}over{{/if}}">
<div class="sla-carry-summary-title">Carry Load</div>
<div class="sla-carry-summary-main">{{slaCarry.current}} / {{slaCarry.capacity}} kg</div>
<div class="sla-carry-summary-meta">State: {{slaCarry.state}} | Equipped {{slaCarry.equipped}} kg | Carried {{slaCarry.carried}} kg | Stowed {{slaCarry.stowed}} kg | Free {{slaCarry.available}} kg</div>
</div>
</div>
{{!-- Sheet Tab Navigation --}}
<nav class="mosh sheet-tabs tabs" data-group="primary">
<a class="tab-select" data-tab="skills">{{ localize 'Mosh.Skills' }}</a>
<a class="tab-select" data-tab="weapons">{{ localize 'Mosh.Weapons' }}</a>
<a class="tab-select" data-tab="items">{{ localize 'Mosh.Items' }}</a>
<a class="tab-select" data-tab="sla">SLA</a>
<a class="tab-select" data-tab="traits">Traits</a>
<a class="tab-select" data-tab="special-rules">Special Rules</a>
{{#if isEbbUser}}<a class="tab-select" data-tab="ebb">Ebb</a>{{/if}}
{{#if isVevaphon}}<a class="tab-select" data-tab="morph">Morph</a>{{/if}}
<a class="tab-select" data-tab="contacts">Contacts</a>
<a class="tab-select" data-tab="description">{{ localize 'Mosh.Bio' }}</a>
<a class="tab-select" data-tab="notes">{{ localize 'Mosh.Notes' }}</a>
</nav>
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Contacts Tab --}}
<div class="tab items" data-group="primary" data-tab="contacts">
<div class="sla-panel">
<div class="sla-banner">
<div>
<div class="sla-kicker">Operative Network</div>
<div class="sla-title">Contacts & Associates</div>
</div>
<div class="sla-tags">
<span class="sla-tag">{{slaContactCount}} contact{{#unless (compare 'int' slaContactCount '===' 1)}}s{{/unless}}</span>
</div>
</div>
<div class="sla-contacts-toolbar">
<button type="button" class="sla-sheet-action sla-contact-add"><i class="fas fa-plus"></i> Add Contact</button>
</div>
{{#if slaContacts.length}}
<div class="sla-contacts-list">
{{#each slaContacts as |contact|}}
<div class="sla-contact-card" data-contact-id="{{contact.id}}">
<div class="sla-contact-header">
<div class="sla-contact-disposition sla-contact-disposition-{{contact.disposition}}"></div>
<div class="sla-contact-name">{{contact.name}}</div>
<div class="sla-contact-role">{{contact.role}}</div>
<div class="sla-contact-controls">
<button type="button" class="sla-contact-edit" data-contact-id="{{contact.id}}" title="Edit contact"><i class="fas fa-edit"></i></button>
<button type="button" class="sla-contact-delete" data-contact-id="{{contact.id}}" title="Delete contact"><i class="fas fa-trash"></i></button>
</div>
</div>
{{#if contact.notes}}
<div class="sla-contact-notes">{{contact.notes}}</div>
{{/if}}
</div>
{{/each}}
</div>
{{else}}
<div class="sla-note-pill sla-note-pill-wide">No contacts yet. Add allies, fixers, squad members, and other NPCs the operative knows.</div>
{{/if}}
</div>
</div>
{{!-- Biography Tab --}}
<div class="tab biography" data-group="primary" data-tab="description">
{{editor enriched.biography target="system.biography" button=true editable=true}}
</div>
{{!-- Notes Tab --}}
<div class="tab biography" data-group="primary" data-tab="notes">
<div class="sla-card" style="margin-bottom: 12px;">
<div class="sla-card-label">Ammo Spend Ledger</div>
<div class="sla-card-copy">Total spent: {{system.sla.ammoSpendTotal.value}} cR</div>
<textarea readonly rows="6" class="textarea-input">{{system.sla.ammoLedger.value}}</textarea>
</div>
<div class="sla-card sla-activity-log-card" style="margin-bottom: 12px;">
<div class="sla-card-label">Operative Activity Log</div>
<div class="sla-card-copy">Rolls, rests, drug use, panic — automatically recorded. Newest first.</div>
<textarea readonly rows="8" class="textarea-input sla-activity-log-textarea">{{system.sla.activityLog.value}}</textarea>
</div>
{{editor enriched.notes target="system.notes" button=true editable=true}}
</div>
<div class="tab items" data-group="primary" data-tab="sla">
<div class="sla-panel">
<div class="sla-banner">
<div>
<div class="sla-kicker">SLA Operative Profile</div>
<div class="sla-title">{{system.sla.species.value}} {{#if system.sla.trainingPackage.value}}/ {{system.sla.trainingPackage.value}}{{/if}}</div>
</div>
<div class="sla-tags">
<span class="sla-tag">{{system.sla.bpn.value}}</span>
<span class="sla-tag">SCL {{system.sla.scl.value}}</span>
{{#if isEbbUser}}<span class="sla-tag">Ebb {{system.sla.ebbRating.value}}</span>{{/if}}
{{#if isVevaphon}}<span class="sla-tag sla-instability-tag {{vevaphonInstabilityClass}}">Instability {{system.sla.vevaphonInstability.value}}/12</span>{{/if}}
</div>
</div>
<div class="grid grid-2col sla-card-grid">
<div class="sla-card">
<div class="sla-card-label">Package Focus</div>
<div class="sla-card-title">{{system.sla.trainingPackage.value}}</div>
<div class="sla-card-copy">{{system.sla.packageSummary.value}}</div>
<div class="sla-tag-row">
<span class="sla-tag">Employer {{system.sla.employer.value}}</span>
<span class="sla-tag">Sector {{system.sla.sector.value}}</span>
{{#if system.sla.packageWealth.value}}<span class="sla-tag">Wealth {{system.sla.packageWealth.value}}</span>{{/if}}
</div>
</div>
<div class="sla-card">
<div class="sla-card-label">Species Dossier</div>
<div class="sla-card-title">{{system.sla.species.value}}</div>
<div class="sla-card-copy">{{system.sla.speciesNotes.value}}</div>
<div class="sla-tag-row">
<span class="sla-tag">Operative {{system.sla.operativeType.value}}</span>
{{#if isEbbUser}}<span class="sla-tag">Flux Channel {{system.sla.ebbRating.value}}</span>{{/if}}
</div>
</div>
</div>
<div class="grid grid-2col sla-card-grid">
<div class="sla-card">
<div class="sla-card-label">Rules Snapshot</div>
<div class="sla-card-title">{{slaEnabledSpeciesRuleCount}} active rules</div>
<div class="sla-note-list">
{{#each slaEnabledSpeciesRules as |rule|}}
<div class="sla-note-pill">{{rule.label}}</div>
{{/each}}
</div>
{{#unless slaEnabledSpeciesRuleCount}}
<div class="sla-note-pill sla-note-pill-wide">No optional species rules are enabled right now.</div>
{{/unless}}
</div>
<div class="sla-card">
<div class="sla-card-label">Sheet Mode</div>
<div class="sla-card-title">{{#if (compare 'str' slaSheetTheme '===' 'legacy')}}Legacy{{else}}Modern SLA{{/if}}</div>
<div class="sla-card-copy">Use the palette button in the header to swap the entire presentation style without changing the operative data.</div>
</div>
</div>
<div class="grid grid-2col" style="gap: 12px; margin-bottom: 12px;">
<div class="resource">
<label class="resource-label">Species</label>
<input type="text" name="system.sla.species.value" value="{{system.sla.species.value}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">Training Package</label>
<input type="text" name="system.sla.trainingPackage.value" value="{{system.sla.trainingPackage.value}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">Operative Type</label>
<input type="text" name="system.sla.operativeType.value" value="{{system.sla.operativeType.value}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">BPN Colour</label>
<input type="text" name="system.sla.bpn.value" value="{{system.sla.bpn.value}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">SCL</label>
<div class="sla-scl-control">
<input type="text" name="system.sla.scl.value" value="{{system.sla.scl.value}}" data-dtype="String" class="sla-scl-input" />
<div class="sla-scl-buttons">
<button type="button" class="sla-scl-adjust" data-delta="1" title="+1 SCL">+1</button>
<button type="button" class="sla-scl-adjust" data-delta="-1" title="-1 SCL">-1</button>
<button type="button" class="sla-scl-adjust" data-delta="0.5" title="+0.5 SCL">+½</button>
<button type="button" class="sla-scl-adjust" data-delta="-0.5" title="-0.5 SCL">-½</button>
</div>
</div>
</div>
<div class="resource">
<label class="resource-label">Employer / Squad</label>
<input type="text" name="system.sla.employer.value" value="{{system.sla.employer.value}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">Sector / Beat</label>
<input type="text" name="system.sla.sector.value" value="{{system.sla.sector.value}}" data-dtype="String" />
</div>
{{#if isEbbUser}}
<div class="resource">
<label class="resource-label">Ebb Rating</label>
<input type="text" name="system.sla.ebbRating.value" value="{{system.sla.ebbRating.value}}" data-dtype="Number" />
</div>
{{/if}}
</div>
<div class="grid grid-2col sla-card-grid">
<div class="sla-card">
<div class="sla-card-label">Species Notes</div>
<div class="sla-note-list">
{{#each slaSpeciesTraitList as |note|}}
<div class="sla-note-pill">{{note}}</div>
{{/each}}
</div>
<textarea name="system.sla.speciesNotes.value" rows="5" class="textarea-input" data-target="system.sla.speciesNotes.value">{{system.sla.speciesNotes.value}}</textarea>
</div>
<div class="sla-card">
<div class="sla-card-label">Package Skills</div>
<div class="sla-note-list">
{{#each slaPackageSkillList as |skill|}}
<div class="sla-note-pill">{{skill}}</div>
{{/each}}
</div>
<textarea name="system.sla.packageSkills.value" rows="5" class="textarea-input" data-target="system.sla.packageSkills.value">{{system.sla.packageSkills.value}}</textarea>
</div>
</div>
<div class="grid grid-1col sla-card-grid">
<div class="sla-card">
<div class="sla-card-label">Species Rules</div>
<div class="sla-card-copy">Turn these on or off to match the version of the species rules your table is using.</div>
{{#if slaSpeciesRules.length}}
<div class="sla-rule-list">
{{#each slaSpeciesRules as |rule|}}
<label class="sla-rule-toggle">
<input type="checkbox" name="{{rule.path}}" data-dtype="Boolean" {{checked rule.enabled}} />
<span class="sla-rule-text">
<span class="sla-rule-title">{{rule.label}}{{#if rule.optional}} (Optional){{/if}}</span>
<span class="sla-rule-summary">{{rule.summary}}</span>
</span>
</label>
{{/each}}
</div>
{{else}}
<div class="sla-note-pill sla-note-pill-wide">No species-specific toggles are defined for this operative yet.</div>
{{/if}}
</div>
</div>
</div>
</div>
<div class="tab items" data-group="primary" data-tab="traits">
<div class="sla-panel">
<div class="sla-banner">
<div>
<div class="sla-kicker">Trait Engine</div>
<div class="sla-title">Balanced Personal Traits</div>
</div>
<div class="sla-tags">
<span class="sla-tag">{{traitCount}} traits</span>
<span class="sla-tag">{{traitValidation.rankBalance.advantageRanks}} / {{traitValidation.rankBalance.disadvantageRanks}}</span>
<span class="sla-tag">{{#if traitValidation.rankBalance.balanced}}Balanced{{else}}Needs Balance{{/if}}</span>
</div>
</div>
<div class="sla-traits-toolbar">
<a class="item-control item-create sla-sheet-action" title="Create Trait" data-type="persTrait"><i class="fas fa-plus"></i> Trait</a>
<button type="button" class="sla-sheet-action trait-validate">Validate</button>
</div>
<div class="grid grid-2col sla-card-grid" style="margin-bottom: 12px;">
<div class="sla-card">
<div class="sla-card-label">Positive Traits</div>
<div class="sla-card-copy">Choose one advantage and add it to the operative.</div>
<div class="sla-trait-picker-row">
<select class="sla-trait-select" name="slaTraitPicker.advantage" data-type="advantage">
<option value="">Choose positive trait...</option>
{{#each slaPositiveTraitOptions as |trait|}}
<option value="{{trait.key}}" {{#if (compare 'str' ../slaTraitPickerSelection.advantage '===' trait.key)}}selected{{/if}}>{{trait.label}}</option>
{{/each}}
</select>
<button type="button" class="sla-sheet-action sla-trait-add" data-type="advantage">Add Positive</button>
</div>
</div>
<div class="sla-card">
<div class="sla-card-label">Negative Traits</div>
<div class="sla-card-copy">Choose one disadvantage and add it to the operative.</div>
<div class="sla-trait-picker-row">
<select class="sla-trait-select" name="slaTraitPicker.disadvantage" data-type="disadvantage">
<option value="">Choose negative trait...</option>
{{#each slaNegativeTraitOptions as |trait|}}
<option value="{{trait.key}}" {{#if (compare 'str' ../slaTraitPickerSelection.disadvantage '===' trait.key)}}selected{{/if}}>{{trait.label}}</option>
{{/each}}
</select>
<button type="button" class="sla-sheet-action sla-trait-add" data-type="disadvantage">Add Negative</button>
</div>
</div>
</div>
<div class="sla-traits-audit {{#if traitValidation.ok}}ok{{else}}warn sla-traits-audit-pulse{{/if}}">
<div><strong>Trait Count:</strong> {{traitCount}}</div>
<div><strong>Advantage Ranks:</strong> {{traitValidation.rankBalance.advantageRanks}}</div>
<div><strong>Disadvantage Ranks:</strong> {{traitValidation.rankBalance.disadvantageRanks}}</div>
<div><strong>Balance Net:</strong> {{traitValidation.rankBalance.net}}</div>
<div><strong>Coverage:</strong> {{traitValidation.coverage.mapped}} mapped / {{traitValidation.coverage.unmapped}} unmapped</div>
<div><strong>Status:</strong> <span class="sla-trait-balance-status {{#if traitValidation.rankBalance.balanced}}ok{{else}}warn{{/if}}">{{#if traitValidation.rankBalance.balanced}}Balanced{{else}}Needs Balance{{/if}}</span></div>
{{#if traitValidation.errors.length}}
<div class="sla-trait-audit-line"><strong>Errors:</strong> {{#each traitValidation.errors as |err|}}<span class="sla-trait-error">{{err}}</span>{{/each}}</div>
{{/if}}
{{#if traitValidation.warnings.length}}
<div class="sla-trait-audit-line"><strong>Warnings:</strong> {{#each traitValidation.warnings as |warn|}}<span class="sla-trait-warn">{{warn}}</span>{{/each}}</div>
{{/if}}
</div>
{{#if persTraitsEnhanced.length}}
<ol class="sla-trait-list">
<li class="sla-trait-row sla-trait-head">
<div>Icon</div>
<div>Trait</div>
<div>Rank</div>
<div>Type</div>
<div>State</div>
<div>Effect</div>
<div>Delete</div>
</li>
{{#each persTraitsEnhanced as |trait|}}
<li class="item sla-trait-row" data-item-id="{{trait._id}}">
<div class="sla-trait-icon item-edit" data-item-id="{{trait._id}}"><img src="{{trait.img}}" title="{{trait.name}}" /></div>
<div class="sla-trait-name item-edit" data-item-id="{{trait._id}}">{{trait.name}}</div>
<div class="sla-trait-rank">{{trait.slaTrait.rank}} / {{trait.slaTrait.maxRank}}</div>
<div class="sla-trait-type">{{trait.slaTrait.type}}</div>
<div class="sla-trait-status">{{trait.slaTrait.status}}</div>
<div class="sla-trait-effect" title="{{trait.slaTrait.effectSummary}}">{{trait.slaTrait.effectSummary}}</div>
<div class="sla-trait-delete"><a class="item-delete"><i class="fas fa-trash"></i></a></div>
</li>
{{/each}}
</ol>
{{else}}
<div class="sla-note-pill sla-note-pill-wide">No personal traits are on this operative yet. Add balanced good and bad traits here and the audit will keep track of the rank balance.</div>
{{/if}}
<div class="grid grid-2col sla-card-grid" style="margin-top: 12px;">
<div class="sla-card sla-snapshot-card sla-species-snapshot-card">
<div class="sla-card-label">Species Snapshot</div>
<div class="sla-note-list sla-snapshot-note-list">
{{#each slaSpeciesTraitList as |note|}}
<div class="sla-note-pill sla-snapshot-pill">{{note}}</div>
{{/each}}
</div>
{{#unless slaSpeciesTraitList.length}}
<div class="sla-note-pill sla-note-pill-wide sla-snapshot-pill">No species notes are currently listed for this operative.</div>
{{/unless}}
</div>
<div class="sla-card sla-snapshot-card sla-package-snapshot-card">
<div class="sla-card-label">Package Snapshot</div>
<div class="sla-note-list sla-snapshot-note-list">
{{#each slaPackageSkillList as |skill|}}
<div class="sla-note-pill sla-snapshot-pill">{{skill}}</div>
{{/each}}
</div>
{{#unless slaPackageSkillList.length}}
<div class="sla-note-pill sla-note-pill-wide sla-snapshot-pill">No package skills are currently listed for this operative.</div>
{{/unless}}
</div>
</div>
</div>
</div>
<div class="tab items" data-group="primary" data-tab="special-rules">
<div class="sla-panel">
<div class="sla-banner">
<div>
<div class="sla-kicker">Species Doctrine</div>
<div class="sla-title">{{system.sla.species.value}} Special Rules</div>
</div>
<div class="sla-tags">
<span class="sla-tag">{{system.sla.species.value}}</span>
{{#if system.sla.trainingPackage.value}}<span class="sla-tag">{{system.sla.trainingPackage.value}}</span>{{/if}}
</div>
</div>
<div class="grid grid-2col sla-card-grid">
<div class="sla-card">
<div class="sla-card-label">Rule Toggles</div>
<div class="sla-card-copy">Turn these on or off to match the version of the species rules your table is using.</div>
{{#if slaSpeciesRules.length}}
<div class="sla-rule-list">
{{#each slaSpeciesRules as |rule|}}
<label class="sla-rule-toggle">
<input type="checkbox" name="{{rule.path}}" data-dtype="Boolean" {{checked rule.enabled}} />
<span class="sla-rule-text">
<span class="sla-rule-title">{{rule.label}}{{#if rule.optional}} (Optional){{/if}}</span>
<span class="sla-rule-summary">{{rule.summary}}</span>
</span>
</label>
{{/each}}
</div>
{{else}}
<div class="sla-note-pill sla-note-pill-wide">No species-specific toggles are defined for this operative yet.</div>
{{/if}}
</div>
<div class="sla-card">
<div class="sla-card-label">Combat Rule Status</div>
{{#if slaPrometheusStatus.enabled}}
<div class="sla-note-pill sla-note-pill-wide">Prometheus Regeneration is enabled.</div>
{{#if slaPrometheusStatus.inCombat}}
<div class="sla-card-copy">Current combat round: {{slaPrometheusStatus.currentRound}}</div>
{{#if slaPrometheusStatus.pulseThisRound}}
<div class="sla-note-pill sla-note-pill-wide">Regeneration triggers this round.</div>
{{else}}
<div class="sla-card-copy">Rounds until next regeneration pulse: {{slaPrometheusStatus.roundsUntilPulse}}</div>
{{/if}}
<div class="sla-card-copy">Every fourth combat round, recover 1d5 Health automatically.</div>
{{else}}
<div class="sla-card-copy">Not currently in combat. Prometheus regeneration will trigger on rounds 4, 8, 12, and so on once combat starts.</div>
{{/if}}
{{else}}
<div class="sla-note-pill sla-note-pill-wide">No active round-based special rule is currently enabled for this operative.</div>
{{/if}}
</div>
</div>
</div>
</div>
{{#if isEbbUser}}
<div class="tab items" data-group="primary" data-tab="ebb">
<div class="sla-panel">
<div class="sla-banner">
<div>
<div class="sla-kicker">Ebb Discipline</div>
<div class="sla-title">{{system.sla.species.value}} Flux Channel</div>
</div>
<div class="sla-tags">
<span class="sla-tag">Flux {{system.sla.flux.value}} / {{system.sla.flux.max}}</span>
<span class="sla-tag">{{slaFlux.label}}</span>
<span class="sla-tag">Fear Save {{system.stats.fear.value}}</span>
</div>
</div>
<div class="grid grid-2col sla-card-grid">
<div class="sla-card">
<div class="sla-card-label">Flux State</div>
<div class="sla-flux-stage {{slaFlux.cssClass}}">{{slaFlux.label}}</div>
<div class="sla-card-copy">{{slaFlux.description}}</div>
<div class="sla-card-copy">Risk bands: {{slaFlux.thresholds}}</div>
<div class="sla-flux-meter">
<div class="sla-flux-meter-fill {{slaFlux.cssClass}}" style="width: {{slaFluxPercent}}%;"></div>
</div>
<div class="sla-card-copy">Reserve remaining: {{system.sla.flux.value}} / {{system.sla.flux.max}}</div>
<div class="sla-action-row">
<button type="button" class="sla-flux-save">Fear / Flux Save</button>
<button type="button" class="sla-flux-panic">Flux Panic</button>
</div>
</div>
<div class="sla-card">
<div class="sla-card-label">Ebb Skill Deck</div>
<div class="sla-card-copy">Click a discipline below to roll that Ebb skill directly. Use the ability roster underneath to channel a specific power and spend Flux.</div>
<div class="sla-ebb-skill-list">
{{#each ebbSkills as |skill|}}
<button type="button" class="sla-ebb-skill-roll" data-item-id="{{skill._id}}" title="Roll {{skill.name}}">
<span>{{skill.name}}</span>
<div class="sla-ebb-skill-meta">
<small>{{skill.system.rank}}{{#if skill.system.sla.category}} | {{skill.system.sla.category}}{{/if}}</small>
<strong>+{{skill.slaBreakdown.total}}</strong>
</div>
</button>
{{/each}}
</div>
<div class="sla-card-copy">Core and discipline skills are grouped here so powers like Awareness are easier to find. Ebb skills live here, while the actual powers are listed in the ability roster below.</div>
</div>
</div>
<div class="grid grid-2col sla-card-grid">
<div class="sla-card">
<div class="sla-card-label">Panic Protocol</div>
<div class="sla-note-list">
{{#each slaFluxGuidance as |entry|}}
<div class="sla-note-pill sla-note-pill-wide">{{entry}}</div>
{{/each}}
</div>
</div>
<div class="sla-card">
<div class="sla-card-label">Discipline Notes</div>
<div class="sla-card-copy">Use this space for doctrine, trainer notes, squad warnings, or sector-specific Ebb restrictions.</div>
<div class="grid grid-1col" style="gap: 12px; margin-top: 8px;">
<div class="resource">
<label class="resource-label">Flux Notes</label>
<textarea name="system.sla.fluxNotes.value" rows="5" class="textarea-input" data-target="system.sla.fluxNotes.value">{{system.sla.fluxNotes.value}}</textarea>
</div>
<div class="resource">
<label class="resource-label">Ebb Notes</label>
<textarea name="system.sla.ebbNotes.value" rows="5" class="textarea-input" data-target="system.sla.ebbNotes.value">{{system.sla.ebbNotes.value}}</textarea>
</div>
</div>
</div>
</div>
</div>
<ol class="items-list sla-ability-list" style="margin-bottom: 12px;">
<li class="item flexrow item-header">
<div class="item-image"></div>
<div class="skill-stat" style="flex-grow: 1.7;">Ebb Ability</div>
<div class="skill-stat">Skill</div>
<div class="skill-stat">Flux</div>
<div class="skill-stat">Tier</div>
<div class="skill-stat">Save</div>
<div class="item-controls">
<a class="item-control ability-create" title="Create Ebb Ability" data-type="ability"><i class="fas fa-plus"></i> Add</a>
</div>
</li>
{{#each abilities as |ability id|}}
<li class="item flexrow dropitem" data-item-id="{{ability._id}}">
<div class="item-image"><img src="{{ability.img}}" title="{{ability.name}}" width="24" height="24" /></div>
<div class="skill-name list-roll ability-use-trigger" style="flex-grow: 1.75;" title="Use {{ability.name}}">{{ability.name}}</div>
<div class="skill-stat">{{ability.system.sla.skillRef}}</div>
<div class="skill-stat">{{ability.system.sla.fluxCost}}</div>
<div class="skill-stat">{{ability.system.sla.tier}}</div>
<div class="skill-stat">{{ability.system.sla.panicSave}}</div>
<div class="item-controls">
<a class="item-control ability-use" title="Use Ability"><i class="fas fa-bolt"></i> Use</a>
<a class="item-control ability-edit" title="Edit Ability"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Ability"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{/if}}
{{#if isVevaphon}}
<div class="tab items" data-group="primary" data-tab="morph">
<div class="sla-panel">
<div class="sla-banner">
<div>
<div class="sla-kicker">Stormer Vevaphon</div>
<div class="sla-title">Polymorphic Form Control</div>
</div>
<div class="sla-tags">
<span class="sla-tag">Form: {{system.sla.morphForm.value}}</span>
<span class="sla-tag sla-instability-tag {{vevaphonInstabilityClass}}">Instability {{system.sla.vevaphonInstability.value}} / 12</span>
<span class="sla-tag">Sanity {{system.stats.sanity.value}}</span>
</div>
</div>
<div class="grid grid-2col sla-card-grid">
<div class="sla-card">
<div class="sla-card-label">Instability Track</div>
<div class="sla-instability-bar-wrap">
<div class="sla-instability-bar {{vevaphonInstabilityClass}}" style="width: {{vevaphonInstabilityPercent}}%;"></div>
<div class="sla-instability-bar-label {{vevaphonInstabilityClass}}">{{system.sla.vevaphonInstability.value}} / 12</div>
</div>
<div class="sla-card-copy">
{{#if vevaphonInstabilityCritical}}⚠ CRITICAL — Morph Panic risk on every failed Sanity save.{{/if}}
{{#if vevaphonInstabilityElevated}}Instability elevated — minor morph effects trigger each scene.{{/if}}
{{#unless vevaphonInstabilityElevated}}Instability nominal. Morphing is available without additional risk.{{/unless}}
</div>
<div class="sla-action-row" style="gap: 6px; flex-wrap: wrap;">
<button type="button" class="sla-instability-increase">+1 Instability</button>
<button type="button" class="sla-instability-decrease">-1 Instability</button>
</div>
<div class="sla-card-copy" style="margin-top: 8px;">At 12, the Vevaphon is lost — immediate retirement or death.</div>
</div>
<div class="sla-card">
<div class="sla-card-label">Active Morph Form</div>
<div class="sla-card-title">{{system.sla.morphForm.value}}</div>
<div class="sla-card-copy">Each morph shift costs 1 Instability. Changing form mid-scene requires a Sanity save at Instability 6+.</div>
<div class="sla-morph-form-buttons">
<button type="button" class="sla-morph-shift" data-form="Brute Form" {{#if (compare 'str' system.sla.morphForm.value '===' 'Brute Form')}}disabled{{/if}}>
<span class="sla-morph-btn-name">Brute Form</span>
<span class="sla-morph-btn-meta">STR+10, BODY+10 | Knockdown Immune</span>
</button>
<button type="button" class="sla-morph-shift" data-form="Stalker Form" {{#if (compare 'str' system.sla.morphForm.value '===' 'Stalker Form')}}disabled{{/if}}>
<span class="sla-morph-btn-name">Stalker Form</span>
<span class="sla-morph-btn-meta">SPD+10, Stealth+20 | Armour Incompatible</span>
</button>
<button type="button" class="sla-morph-shift" data-form="Raptor Form" {{#if (compare 'str' system.sla.morphForm.value '===' 'Raptor Form')}}disabled{{/if}}>
<span class="sla-morph-btn-name">Raptor Form</span>
<span class="sla-morph-btn-meta">COM+10, SPD+5 | Critical Wound Bonus</span>
</button>
</div>
</div>
</div>
<div class="grid grid-2col sla-card-grid">
<div class="sla-card">
<div class="sla-card-label">Morph Panic Reference</div>
<div class="sla-card-copy">Triggered at Instability 10+ on a failed Sanity save. Roll 1d6:</div>
<div class="sla-note-list">
<div class="sla-note-pill sla-note-pill-wide">1. Cascade Shift — random morph form, +1 Instability.</div>
<div class="sla-note-pill sla-note-pill-wide">2. Identity Bleed — forgets name and callsign until end of scene.</div>
<div class="sla-note-pill sla-note-pill-wide">3. Partial Lock — one limb freezes. -10 physical rolls using that limb.</div>
<div class="sla-note-pill sla-note-pill-wide">4. Tissue Rejection — 1d5 damage, armour does not apply.</div>
<div class="sla-note-pill sla-note-pill-wide">5. Threat Imprint — locked on nearest visible target.</div>
<div class="sla-note-pill sla-note-pill-wide">6. Full Reversion — base form, lose morph bonuses, -1 Instability.</div>
</div>
</div>
<div class="sla-card">
<div class="sla-card-label">Morph Notes</div>
<textarea name="system.sla.morphNotes.value" rows="10" class="textarea-input" data-target="system.sla.morphNotes.value">{{system.sla.morphNotes.value}}</textarea>
</div>
</div>
</div>
</div>
{{/if}}
{{!-- Owned Items Tab --}}
<div class="tab items" data-group="primary" data-tab="items">
{{#if drugAlerts.length}}
<div class="sla-drug-alerts">
{{#each drugAlerts as |alert id|}}
<div class="sla-drug-alert {{alert.state}}">
<div class="sla-drug-alert-main">
<div class="sla-drug-alert-name">{{alert.name}}</div>
<div class="sla-drug-alert-meta">
<span class="sla-drug-alert-state">{{alert.stateLabel}}</span>
{{#if alert.duration}}<span class="sla-drug-alert-duration">{{alert.duration}}</span>{{/if}}
</div>
</div>
<div class="sla-drug-alert-summary">{{alert.summary}}</div>
<button type="button" class="drug-close-btn drug-close" data-item-id="{{alert.itemId}}" data-drug-id="{{alert.drugId}}">Close</button>
</div>
{{/each}}
</div>
{{/if}}
{{#if system.settings.firstEdition}}
<!-- ARMOR -->
<ol class="items-list" role="table">
<li class="item flexrow item-header" role="rowgroup">
<div class="item-image" role="cell"></div>
<div class="skill-stat" style="flex-grow: 2.5;" role="cell">{{ localize 'Mosh.ArmorName' }}</div>
<div class="skill-stat" role="cell" title="Armour Protection — reduces incoming damage before it reaches your wounds. Higher is better.">{{ localize 'Mosh.AP' }}</div>
<div class="skill-stat" role="cell" title="Damage Reduction — subtracts directly from wound damage after AP is applied. Each point absorbed is one less point of damage taken.">{{ localize 'Mosh.DR' }}</div>
<div class="skill-stat" role="cell" title="Speed penalty — how much this armour slows movement. Expressed as a % penalty to physical speed checks.">{{ localize 'Mosh.Speed' }}</div>
<div class="skill-stat" role="cell" title="Oxygen supply — current / maximum charges for sealed suits and vacuum armour. N/A means the suit is not airtight.">{{ localize 'Mosh.Oxygen' }}</div>
<div class="skill-stat" role="cell" title="Carry state — Eqp means wearing it now (weight counts against your equipped load). Stow means packed away (counts as stowed weight).">Carry</div>
<div class="item-controls" role="cell">
<a class="item-control item-create" title="{{ localize 'Mosh.CreateArmor' }}" data-type="armor"><i class="fas fa-plus"></i> {{ localize 'Mosh.Add' }}</a>
</div>
</li>
{{#each armors as |armor id|}}
<li class="item flexrow dropitem" data-item-id="{{armor._id}}" role="rowgroup">
<div class="item-image" role="cell"><img src="{{armor.img}}" title="{{armor.name}}" width="24" height="24" /></div>
<h4 class="skill-name list-roll description-roll" style="flex-grow: 2.55;" role="cell">{{armor.name}}</h4>
<div class="skill-stat armor-ap list-roll" role="cell">{{armor.system.armorPoints}}</div>
<div class="skill-stat armor-dr list-roll" role="cell">{{armor.system.damageReduction}}</div>
<div class="skill-stat">{{armor.system.speed}}</div>
{{#if armor.system.oxygenMax}}
<div class="skill-stat armor-oxy list-roll" role="cell">{{armor.system.oxygenCurrent}}/{{armor.system.oxygenMax}}</div>
{{else}}
<div class="skill-stat" role="cell">{{ localize 'Mosh.NA' }}</div>
{{/if}}
<div class="skill-stat" role="cell">
<div class="sla-carry-toggle-row">
<button type="button" class="sla-carry-toggle {{#if (compare 'str' armor.slaCarry.state '===' 'equipped')}}active{{/if}}" data-state="equipped">Eqp</button>
<button type="button" class="sla-carry-toggle {{#if (compare 'str' armor.slaCarry.state '===' 'stowed')}}active{{/if}}" data-state="stowed">Stow</button>
</div>
<small class="sla-carry-row-text">{{armor.slaCarry.totalWeight}} kg</small>
</div>
<div class="item-controls" role="cell">
<a class="item-control item-edit" title="{{ localize 'Mosh.EditArmor' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'Mosh.DeleteArmor' }}"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
{{else}}
<!-- ARMOR -->
<ol class="items-list" role="table">
<li class="item flexrow item-header" role="rowgroup">
<div class="item-image" role="cell"></div>
<div class="skill-stat" style="flex-grow: 2.5;" role="cell">{{ localize 'Mosh.ArmorName' }}</div>
<div class="skill-stat" role="cell" title="Save Bonus — this value is added to your Body save when checking to resist physical damage while wearing this armour.">{{ localize 'Mosh.SaveBonus' }}</div>
<div class="skill-stat" role="cell" title="Speed penalty — how much this armour slows movement. Expressed as a % penalty to physical speed checks.">{{ localize 'Mosh.Speed' }}</div>
<div class="skill-stat" role="cell" title="Oxygen supply — current / maximum charges for sealed suits and vacuum armour. N/A means the suit is not airtight.">{{ localize 'Mosh.Oxygen' }}</div>
<div class="skill-stat" role="cell" title="Carry state — Eqp means wearing it now (weight counts against your equipped load). Stow means packed away (counts as stowed weight).">Carry</div>
<div class="item-controls" role="cell">
<a class="item-control item-create" title="{{ localize 'Mosh.CreateArmor' }}" data-type="armor"><i class="fas fa-plus"></i> {{ localize 'Mosh.Add' }}</a>
</div>
</li>
{{#each armors as |armor id|}}
<li class="item flexrow dropitem" data-item-id="{{armor._id}}" role="rowgroup">
<div class="item-image" role="cell"><img src="{{armor.img}}" title="{{armor.name}}" width="24" height="24" /></div>
<h4 class="skill-name list-roll description-roll" style="flex-grow: 2.55;" role="cell">{{armor.name}}</h4>
<div class="skill-stat armor-ap list-roll" role="cell">{{armor.system.armorPoints}}</div>
<div class="skill-stat">{{armor.system.speed}}</div>
{{#if armor.system.oxygenMax}}
<div class="skill-stat armor-oxy list-roll" role="cell">{{armor.system.oxygenCurrent}}/{{armor.system.oxygenMax}}</div>
{{else}}
<div class="skill-stat" role="cell">{{ localize 'Mosh.NA' }}</div>
{{/if}}
<div class="skill-stat" role="cell">
<div class="sla-carry-toggle-row">
<button type="button" class="sla-carry-toggle {{#if (compare 'str' armor.slaCarry.state '===' 'equipped')}}active{{/if}}" data-state="equipped">Eqp</button>
<button type="button" class="sla-carry-toggle {{#if (compare 'str' armor.slaCarry.state '===' 'stowed')}}active{{/if}}" data-state="stowed">Stow</button>
</div>
<small class="sla-carry-row-text">{{armor.slaCarry.totalWeight}} kg</small>
</div>
<div class="item-controls" role="cell">
<a class="item-control item-edit" title="{{ localize 'Mosh.EditArmor' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'Mosh.DeleteArmor' }}"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
{{/if}}
<!-- DRUGS -->
<ol class="items-list sla-drug-list">
<li class="item flexrow item-header">
<div class="item-image"></div>
<div class="skill-stat" style="flex-grow: 1.6;">Drug</div>
<div class="skill-stat" title="Quantity — number of doses currently carried.">Qty</div>
<div class="skill-stat" title="Rating — the potency tier of this drug. Higher ratings mean stronger effects and harder addiction saves.">Rating</div>
<div class="skill-stat" title="Value — street price per dose in credits (cR).">Value</div>
<div class="skill-stat" title="Weight — total carry weight for all doses of this drug.">Weight</div>
<div class="skill-stat" title="Carry state — Eqp means on your person and immediately accessible. Stow means packed away in your kit.">Carry</div>
<div class="skill-stat" title="State — current drug status. Ready means unused. Active means the drug is currently in effect. Crashed means the effect has ended and the character may be experiencing comedown penalties.">State</div>
<div class="skill-stat" title="Duration — how many rounds or minutes of effect remain. Blank or 0 means the drug is not currently active.">Duration</div>
<div class="item-controls">
<a class="item-control item-create" title="Create Drug" data-type="drug"><i class="fas fa-plus"></i> Add</a>
</div>
</li>
{{#each drugRows as |drug id|}}
<li class="item flexrow dropitem" data-item-id="{{drug.itemId}}" data-drug-id="{{drug.drugId}}">
<div class="item-image"><img src="{{drug.img}}" title="{{drug.name}}" width="24" height="24" /></div>
<div class="skill-name list-roll description-roll drug-item-summary" style="flex-grow: 1.6;">{{drug.name}}<span>{{drug.summary}}</span></div>
<div class="skill-stat item-quantity">{{drug.quantity}}</div>
<div class="skill-stat">{{drug.rating}}</div>
<div class="skill-stat">{{drug.cost}}</div>
<div class="skill-stat">{{drug.slaCarry.totalWeight}} kg</div>
<div class="skill-stat">
<div class="sla-carry-toggle-row">
<button type="button" class="sla-carry-toggle {{#if (compare 'str' drug.slaCarry.state '===' 'equipped')}}active{{/if}}" data-state="equipped">Eqp</button>
<button type="button" class="sla-carry-toggle {{#if (compare 'str' drug.slaCarry.state '===' 'stowed')}}active{{/if}}" data-state="stowed">Stow</button>
</div>
</div>
<div class="skill-stat">{{drug.statusLabel}}</div>
<div class="skill-stat">{{drug.duration}}</div>
<div class="item-controls">
<button type="button" class="drug-use-btn drug-use" {{#unless drug.canUse}}disabled{{/unless}}>Use</button>
<button type="button" class="drug-close-btn drug-close" {{#unless drug.canClose}}disabled{{/unless}}>Close</button>
<a class="item-control item-edit" title="Edit Drug"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Drug"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
<!-- ITEMS -->
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image"></div>
<div class="skill-stat" style="flex-grow: 1.5;" title="Hover over any item name to see its description.">{{ localize 'Mosh.ItemName' }}</div>
<div class="skill-stat" title="Quantity — how many of this item you are carrying.">{{ localize 'Mosh.Quantity' }}</div>
<div class="skill-stat" title="Weight — total carry weight for all units of this item (kg).">{{ localize 'Mosh.Weight' }}</div>
<div class="skill-stat" title="Carry state — Eqp means on your person and ready to use. Stow means packed away. Equipped items count against your active carry limit; stowed items count against your total carry limit.">Carry</div>
<div class="skill-stat" title="Value — purchase price in credits (cR). Sell price is typically half.">{{ localize 'Mosh.Value' }}</div>
<div class="item-controls">
<a class="item-control item-create" title="{{ localize 'Mosh.CreateItem' }}" data-type="item"><i class="fas fa-plus"></i> Add</a>
</div>
</li>
{{#each gear as |item id|}}
<li class="item flexrow dropitem" data-item-id="{{item._id}}">
<div class="item-image"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24" /></div>
<h4 class="skill-name list-roll description-roll" style="flex-grow: 1.54;">{{item.name}}</h4>
<div class="skill-stat list-roll item-quantity">{{item.system.quantity}}</div>
<div class="skill-stat">{{item.slaCarry.totalWeight}} kg</div>
<div class="skill-stat">
<div class="sla-carry-toggle-row">
<button type="button" class="sla-carry-toggle {{#if (compare 'str' item.slaCarry.state '===' 'equipped')}}active{{/if}}" data-state="equipped">Eqp</button>
<button type="button" class="sla-carry-toggle {{#if (compare 'str' item.slaCarry.state '===' 'stowed')}}active{{/if}}" data-state="stowed">Stow</button>
</div>
</div>
<div class="skill-stat">{{item.system.cost}}</div>
<div class="item-controls">
<a class="item-control item-edit" title="{{ localize 'Mosh.EditItem' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'Mosh.DeleteItem' }}"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
<div class="item flex-group-left item-header">
<div class="skill-stat" style="flex-grow: 1.5;">{{ localize 'Mosh.CarryingCapacity' }}: {{system.weight.capacity}} kg</div>
<div class="skill-stat">{{ localize 'Mosh.CurrentWeight' }}: {{system.weight.current}} kg</div>
<div class="skill-stat">Stowed: {{system.weight.stowed}} kg</div>
</div>
</div>
{{!-- Owned Skills Tab --}}
<div class="tab items" data-group="primary" data-tab="skills">
<div class="sla-card" style="margin-bottom: 12px;">
<div class="sla-card-label">Field Skill Deck</div>
<div class="sla-card-copy">Standard operative skills are listed here by category. Ebb-only skills stay on the Ebb tab so non-Ebb characters and general play stay uncluttered.</div>
</div>
<!-- SKILLS -->
<ol class="items-list" style="margin-bottom : 10px;">
<li class="item flexrow item-header">
<div class="item-image"></div>
<div class="skill-stat" style="flex-grow: 1.4;" title="Click a skill name to roll it against the relevant stat. Your bonus is added to a d100 roll — you succeed by rolling under the total.">{{ localize 'Mosh.SkillName' }}</div>
<div class="skill-stat" title="Category — broad skill grouping (Combat, Technical, Social, etc.) used for package sorting and Ebb discipline filtering.">Category</div>
<div class="skill-stat" title="Rank — your proficiency level in this skill. Untrained (no bonus), Basic (+1–9), Trained (+10–14), Expert (+15–19), Master (+20+).">{{ localize 'Mosh.SkillRank' }}</div>
<div class="skill-stat" title="Bonus — total modifier added to d100 rolls with this skill. Breakdown shown in small text below the value. Higher is better — you need to roll under (stat + bonus).">{{ localize 'Mosh.SkillBonus' }}</div>
<div class="item-controls">
<a class="item-control skill-create" title="{{ localize 'Mosh.CreateSkill' }}" data-type="skill"><i class="fas fa-plus"></i> {{ localize 'Mosh.Add' }}</a>
</div>
</li>
{{#each skills as |skill id|}}
<li class="item flexrow dropitem" data-item-id="{{skill._id}}">
<div class="item-image"><img src="{{skill.img}}" title="{{skill.name}}" width="24" height="24"/></div>
<div class="skill-name skill-roll list-roll sla-skill-name-cell" style="flex-grow: 1.4;">
<span>{{skill.name}}</span>
{{#if skill.isCombatSkill}}<small class="sla-skill-flag">Combat Use</small>{{/if}}
{{#if skill.slaBreakdown.summary}}<small>{{skill.slaBreakdown.summary}}</small>{{/if}}
</div>
<div class="skill-stat">{{skill.system.sla.category}}</div>
<div class="skill-stat">{{skill.system.rank}}</div>
<div class="skill-stat">
{{skill.system.displayBonus}}
{{#if skill.slaTraitPreview.modLabel}}<small class="sla-skill-trait-mod">{{skill.slaTraitPreview.modLabel}} trait</small>{{/if}}
</div>
<div class="item-controls">
<a class="item-control skill-edit" title="{{ localize 'Mosh.EditSkill' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'Mosh.DeleteSkill' }}"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
{{#if system.settings.firstEdition}}
<!-- XP -->
<div class ="skill_training_frame" style="margin-bottom : 10px;">
<div class="grid grid-3col" style="grid-template-columns: 90px auto 283px ;">
<div class="skill-stat" style="position: relative; top: 6px;"><strong>{{ localize 'Mosh.SkillTraining' }}</strong></div>
<textarea name="system.xp.selectedSkill" rows="2" class="textarea-input-grey" type="text" data-target="system.xp.selectedSkill" placeholder="" style="height: 30px; margin: 0; position: relative; top: 50%; -ms-transform: translateY(-50%); transform: translateY(-50%); background: white; color: black;">{{system.xp.selectedSkill}}</textarea>
<div class="char-pip-button list-roll flex" style="position: relative; top: -7px;" data-key="xp" data-label="XP" data-max="16" data-min="0">{{{system.xp.html}}}</div>
</div>
</div>
{{/if}}
<div class="seperatorLine"></div>
<!-- Conditions -->
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image"></div>
<div class="skill-stat">{{ localize 'Mosh.Condition' }}</div>
<div class="skill-stat">{{ localize 'Mosh.Severity' }}</div>
<div class="skill-stat">{{ localize 'Mosh.Treatment' }}</div>
<div class="item-controls">
<a class="item-control item-create" title="{{ localize 'Mosh.CreateCondition' }}" data-type="condition"><i class="fas fa-plus"></i> {{ localize 'Mosh.Add' }}</a>
</div>
</li>
{{#each conditions as |condition id|}}
<li class="item flexrow dropitem" data-item-id="{{condition._id}}">
<div class="item-image"><img src="{{condition.img}}" title="{{condition.name}}" width="24" height="24"/></div>
<div class="skill-name description-roll list-roll">{{condition.name}}</div>
<div class="skill-stat list-roll severity">{{condition.system.severity}}</div>
<div class="skill-stat">
{{#if condition.system.treatment.html}}
<div class="treatment-button list-roll flex" style="margin: 0; position: relative; top: 50%; -ms-transform: translateY(-50%); transform: translateY(-50%);" data-key="condition" data-label="condition" data-max="3" data-min="0">
{{{condition.system.treatment.html}}}
</div>
{{else}}
<div class="treatment-button list-roll flex" style="margin: 0; position: relative; top: 50%; -ms-transform: translateY(-50%); transform: translateY(-50%);" data-key="condition" data-label="condition" data-max="3" data-min="0">
{{condition.name}}
</div>
{{/if}}
</div>
<div class="item-controls">
<a class="item-control skill-edit" title="{{ localize 'Mosh.EditCondition' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'Mosh.DeleteCondition' }}"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- Owned Weapons Tab --}}
<div class="tab items" data-group="primary" data-tab="weapons">
<div class="sla-card" style="margin-bottom: 12px;">
<div class="sla-card-label">Weapons Readiness</div>
<div class="sla-card-copy">Ammo stacks: {{slaAmmoInventory.stackCount}} | Total loose rounds: {{slaAmmoInventory.roundCount}} | Running ammo spend: {{system.sla.ammoSpendTotal.value}} cR</div>
<div class="sla-card-copy">Carry: {{slaCarry.current}} / {{slaCarry.capacity}} kg | {{slaCarry.state}}</div>
<div class="sla-action-row" style="margin-top: 8px;">
<button type="button" class="sla-sheet-action weapon-reload-all">Reload All</button>
</div>
</div>
<!-- WEAPONS -->
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image"></div>
<div class="skill-stat" style="flex-grow: 2;" title="Click a weapon name to make an attack roll using your Combat stat. Calibre and current ammo state shown below the name.">{{ localize 'Mosh.WeaponName' }}</div>
<div class="skill-stat" title="Damage — rolled on a successful hit. Melee weapons may add your Strength modifier. Anti-Armour (AA) weapons halve target armour before applying damage.">{{ localize 'Mosh.Damage' }}</div>
<div class="skill-stat" title="Ammo — currently loaded type (STD / AP / HE / HEAP) and reserve count. STD is standard. AP is armour-piercing (halves target armour, -1 damage). HE is high explosive (+1d5 damage, explosive wounds). HEAP combines AP and HE effects.">{{ localize 'Mosh.Ammo' }}</div>
<div class="skill-stat" title="Shots — current magazine / maximum magazine capacity. Click the reload icon to reload or swap ammo type.">{{ localize 'Mosh.Shots' }}</div>
<div class="skill-stat" title="Fire Mode — click to cycle between available modes. Single fires one shot. Burst fires several rounds for bonus damage but uses more ammo. Auto lays down suppressing fire.">Mode</div>
<div class="skill-stat" title="Carry state — Eqp means the weapon is drawn and ready. Stow means holstered or packed. Only equipped weapons can be used in combat without an action to draw.">Carry</div>
<div class="skill-stat" title="Range — maximum effective distance. At short range you roll normally. At medium range you take a penalty. At long range the penalty increases significantly. Beyond max range the weapon cannot reach.">{{ localize 'Mosh.Range' }}</div>
<div class="item-controls">
<a class="item-control weapon-create" title="{{ localize 'Mosh.CreateWeapon' }}" data-type="weapon"><i class="fas fa-plus"></i> {{ localize 'Mosh.Add' }}</a>
</div>
</li>
{{#each weapons as |weapon id|}}
<li class="item flexrow dropitem" data-item-id="{{weapon._id}}">
<!-- <div class="item-image"><img src="{{skill.img}}" title="{{skill.name}}" width="24" height="24"/></div> -->
<div class="item-image"><img src="{{weapon.img}}" title="{{weapon.name}}" width="24" height="24" /></div>
<div class="skill-name weapon-roll list-roll sla-skill-name-cell" style="flex-grow: 2.05;">
<span>{{weapon.name}}</span>
{{#if weapon.system.useAmmo}}<small>{{weapon.sla.calibreLabel}}</small>{{/if}}
{{#if weapon.system.useAmmo}}<small class="sla-weapon-state sla-weapon-state-{{weapon.sla.ammoStateClass}}">{{weapon.sla.ammoState}}</small>{{/if}}
</div>
{{#if weapon.system.antiArmor}}
<div class="skill-stat dmg-roll list-roll">{{weapon.system.damage}} ({{ localize 'Mosh.AntiArmorAcronym' }})</div>
{{else}}
<div class="skill-stat dmg-roll list-roll">{{weapon.system.damage}}</div>
{{/if}}
{{#if weapon.system.useAmmo}}
<div class="skill-stat weapon-ammo list-roll" title="Reload or swap ammunition">
<div class="sla-weapon-ammo-primary">{{weapon.system.ammoLoadedType}} | {{weapon.sla.loadedAmmoReserve}}</div>
<div class="sla-weapon-ammo-secondary">{{weapon.sla.reserveSummary}}</div>
</div>
{{else}}
<div class="skill-stat">{{ localize 'Mosh.NA' }}</div>
{{/if}}
{{#if weapon.system.useAmmo}}
<div class="skill-stat">
<a class="weapon-shots list-roll" title="Reload or swap ammunition">{{weapon.system.curShots}}/{{weapon.system.shots}}</a>
<a class="weapon-reload list-roll" title="Reload or swap ammunition"><i class="fas fa-sync"></i></a>
</div>
{{else}}
<div class="skill-stat">{{ localize 'Mosh.NA' }}</div>
{{/if}}
{{#if weapon.system.useAmmo}}
<div class="skill-stat">
<a class="weapon-fire-mode list-roll" title="Cycle fire mode">{{weapon.system.sla.currentFireMode}}</a>
</div>
{{else}}
<div class="skill-stat">{{ localize 'Mosh.NA' }}</div>
{{/if}}
<div class="skill-stat">
<div class="sla-carry-toggle-row">
<button type="button" class="sla-carry-toggle {{#if (compare 'str' weapon.slaCarry.state '===' 'equipped')}}active{{/if}}" data-state="equipped">Eqp</button>
<button type="button" class="sla-carry-toggle {{#if (compare 'str' weapon.slaCarry.state '===' 'stowed')}}active{{/if}}" data-state="stowed">Stow</button>
</div>
<small class="sla-carry-row-text">{{weapon.slaCarry.totalWeight}} kg</small>
</div>
{{#if weapon.system.ranges.value}}
<div class="skill-stat">{{weapon.system.ranges.value}}</div>
{{else}}
<div class="skill-stat">{{ localize 'Mosh.NA' }}</div>
{{/if}}
<div class="item-controls">
<a class="item-control weapon-edit" title="{{ localize 'Mosh.EditWeapon' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'Mosh.DeleteWeapon' }}"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
</section>
</form>