Based on sla-blueprint-news. On Create, in a zero-engine world, also spawns playable Zero Engine npc actors for the briefing: a threat group (named leader + mooks) matched to the BPN opposition (gangs, Carrien, corpsec, Stormers, black-ops...) plus the named cast — each with attributes, hit points, armour, damage, threat and embedded weapons. Stat blocks mirror the system's own NPC Creator (SLA_NPC_TYPES / _slaWeaponData). De-collided ids/globals/buttons so it coexists with the base module. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
83 lines
3.3 KiB
HTML
83 lines
3.3 KiB
HTML
<div class="sla-bpn-gen">
|
|
<aside class="sla-bpn-gen__rail">
|
|
<div class="sla-bpn-gen__field">
|
|
<label>Colour Band</label>
|
|
<select data-field="colourKey">
|
|
{{#each colourOptions}}<option value="{{key}}" {{#if selected}}selected{{/if}}>{{label}}</option>{{/each}}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="sla-bpn-gen__field">
|
|
<label>Scenario Frame</label>
|
|
<select data-field="frameId" {{#if frameDisabled}}disabled{{/if}}>
|
|
{{#each frameOptions}}<option value="{{id}}" {{#if selected}}selected{{/if}}>{{label}}</option>{{/each}}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="sla-bpn-gen__row">
|
|
<div class="sla-bpn-gen__field">
|
|
<label>Squad Size</label>
|
|
<input type="number" min="1" max="8" data-field="squadSize" value="{{state.squadSize}}">
|
|
</div>
|
|
<div class="sla-bpn-gen__field">
|
|
<label>Payment</label>
|
|
<select data-field="paymentType">
|
|
{{#each paymentOptions}}<option value="{{value}}" {{#if selected}}selected{{/if}}>{{label}}</option>{{/each}}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sla-bpn-gen__field">
|
|
<label>Operative SCL Level</label>
|
|
<select data-field="sclLevel">
|
|
{{#each sclOptions}}<option value="{{value}}" {{#if selected}}selected{{/if}}>{{label}}</option>{{/each}}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="sla-bpn-gen__field">
|
|
<label>Reward — {{reward.basisLabel}}</label>
|
|
<input type="range" data-slider="cbsValue" min="{{reward.cbsMin}}" max="{{reward.cbsMax}}" step="5" value="{{reward.cbsValue}}">
|
|
<div class="sla-bpn-gen__readout" data-readout="cbs">{{reward.cbsReadout}}</div>
|
|
</div>
|
|
|
|
<div class="sla-bpn-gen__field">
|
|
<label>SCL Increase Reward</label>
|
|
<input type="range" data-slider="sclIncrease" min="{{reward.sclMin}}" max="{{reward.sclMax}}" step="0.05" value="{{reward.sclValue}}">
|
|
<div class="sla-bpn-gen__readout" data-readout="scli">{{reward.scliReadout}}</div>
|
|
</div>
|
|
|
|
<button type="button" class="sla-bpn-gen__btn sla-bpn-gen__btn--primary" data-action="reroll">
|
|
<i class="fas fa-dice"></i> Re-roll (new seed)
|
|
</button>
|
|
|
|
<div class="sla-bpn-gen__field">
|
|
<label>Seed</label>
|
|
<input type="text" data-field="seed" value="{{state.seed}}" spellcheck="false">
|
|
<div class="sla-bpn-gen__row" style="margin-top:6px;">
|
|
<button type="button" class="sla-bpn-gen__btn" data-action="applySeed">Apply</button>
|
|
<button type="button" class="sla-bpn-gen__btn" data-action="copySeed">Copy</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sla-bpn-gen__divider"></div>
|
|
|
|
<button type="button" class="sla-bpn-gen__btn sla-bpn-gen__btn--go" data-action="create">
|
|
<i class="fas fa-file-contract"></i> Create Journal
|
|
</button>
|
|
<button type="button" class="sla-bpn-gen__btn" data-action="chat">
|
|
<i class="fas fa-comment"></i> Post to Chat
|
|
</button>
|
|
|
|
<p class="sla-bpn-gen__hint">Creates one journal entry with a player-facing <b>Mission Brief</b> page and a GM-only <b>Dossier</b> page.</p>
|
|
</aside>
|
|
|
|
<main class="sla-bpn-gen__stage">
|
|
<div class="sla-bpn-gen__viewtoggle">
|
|
{{#each viewButtons}}
|
|
<button type="button" data-action="view" data-view="{{view}}" class="{{#if active}}is-active{{/if}}">{{label}}</button>
|
|
{{/each}}
|
|
</div>
|
|
<div class="sla-bpn-gen__preview bpn">{{{previewHTML}}}</div>
|
|
</main>
|
|
</div>
|