A Foundry VTT game system: Basic Roleplaying d100 in a drab British agency that deals with crossings, where reality keeps a record of what belongs where and can be made to get it wrong. Contents: - rules.mjs as the single authority for every rule formula, with 40 rules and 132 spot-checked values. Nothing may restate a formula it defines. - 25 postings, each with a key characteristic, trained skills, talents and its own kit; a 175-item catalogue across four eras; 231 generated icons. - Reaction Lanes initiative, re-rolled every round including the first. - Coherence, and the Quiet Arts, which only ever arrive from a crossing gone wrong. - Graded defences: only a critical stops a critical. - Borrowed Authority — access as a record rather than a hacking roll. - A case generator, and a rules journal generated from rules.mjs so the book cannot drift from the code. Built compendia are committed so a remote Foundry needs only the files. node_modules is not; `npm install` restores it for rebuilding content. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
31 lines
1.1 KiB
Handlebars
31 lines
1.1 KiB
Handlebars
<form class="rb-dialog">
|
|
{{#if bandOptions.length}}
|
|
<div class="form-group">
|
|
<label>{{localize "RINGBRP.Dialog.Range"}}</label>
|
|
<select name="distance">
|
|
{{#each bandOptions as |b|}}
|
|
<option value="{{b.value}}">{{b.label}} — {{b.span}}{{#unless (rbEq b.mod null)}} ({{rbSign b.mod}}%){{else}} ({{localize "RINGBRP.Range.Impossible"}}){{/unless}}</option>
|
|
{{/each}}
|
|
</select>
|
|
</div>
|
|
{{/if}}
|
|
<div class="form-group">
|
|
<label>{{localize "RINGBRP.Dialog.Cover"}}</label>
|
|
<select name="cover">
|
|
{{#each RINGBRP.cover as |c key|}}
|
|
<option value="{{key}}">{{localize c.label}} ({{rbSign c.mod}}%)</option>
|
|
{{/each}}
|
|
</select>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="rb-check"><input type="checkbox" name="moved"/> {{localize "RINGBRP.Dialog.Moved"}}</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="rb-check"><input type="checkbox" name="aiming"/> {{localize "RINGBRP.Dialog.Aiming"}}</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>{{localize "RINGBRP.Dialog.Situational"}}</label>
|
|
<input type="number" name="situational" value="0" step="5"/>
|
|
</div>
|
|
</form>
|