feat: add Settlement actor type with Overview/Buildings/Inventory tabs
- New TypeDataModel: archetype, territory, renown, currency (gp/sp/cp), garrison, underSiege, isCapital, founded, taxNotes, description, notes - 3-tab ApplicationV2 sheet with drag & drop for building/weapon/armor/equipment - Currency steppers (+/−), building constructed toggle, qty controls - LESS-based CSS (settlement-sheet.less) + base.less updated for shared styles - Full i18n keys in lang/en.json (8 settlement archetypes) - system.json: registered settlement actor type Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -1,9 +1,17 @@
|
||||
<section data-tab="magic" data-group="{{tab.group}}" class="tab {{tab.cssClass}}">
|
||||
<fieldset>
|
||||
<legend>{{localize "OATHHAMMER.Label.ArcaneStress"}}</legend>
|
||||
<div class="flexrow">
|
||||
<label>{{localize "OATHHAMMER.Label.StressValue"}}</label>
|
||||
<span class="arcane-stress-display">{{system.arcaneStress.value}} / {{system.arcaneStress.threshold}}</span>
|
||||
<div class="stress-controls">
|
||||
<a class="stress-btn" data-action="adjustStress" data-delta="-1" title="−1">−</a>
|
||||
<span class="arcane-stress-display {{#if stressBlocked}}stress-at-limit{{/if}}">
|
||||
{{system.arcaneStress.value}} / {{system.arcaneStress.threshold}}
|
||||
</span>
|
||||
<a class="stress-btn" data-action="adjustStress" data-delta="1" title="+1">+</a>
|
||||
<a class="stress-btn stress-btn--clear" data-action="clearStress" title="{{localize 'OATHHAMMER.Action.ClearStress'}}">
|
||||
<i class="fa-solid fa-rotate-left"></i>
|
||||
</a>
|
||||
<span class="stress-bonus-label">{{localize "OATHHAMMER.Label.ThresholdBonus"}}</span>
|
||||
<input type="number" name="system.arcaneStress.thresholdBonus" value="{{system.arcaneStress.thresholdBonus}}" min="0" class="stress-bonus-input">
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
@@ -17,7 +25,9 @@
|
||||
<span class="col-name">{{localize "OATHHAMMER.Label.Name"}}</span>
|
||||
<span>DV</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Tradition"}}</span>
|
||||
<span>AS</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Range"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Duration"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.SpellSave"}}</span>
|
||||
<span></span>
|
||||
</li>
|
||||
{{#each spells as |spell|}}
|
||||
@@ -26,7 +36,9 @@
|
||||
<span class="item-name" {{#if spell._descTooltip}}data-tooltip="{{spell._descTooltip}}"{{/if}}>{{spell.name}}</span>
|
||||
<span class="item-detail">{{spell.system.difficultyValue}}</span>
|
||||
<span class="item-type">{{localize spell.system.tradition}}</span>
|
||||
<span class="item-detail">—</span>
|
||||
<span class="item-detail item-detail--small">{{#if spell.system.range}}{{spell.system.range}}{{else}}—{{/if}}</span>
|
||||
<span class="item-detail item-detail--small">{{#if spell.system.duration}}{{spell.system.duration}}{{else}}—{{/if}}</span>
|
||||
<span class="item-detail item-detail--small">{{#if spell.system.spellSave}}{{spell.system.spellSave}}{{else}}—{{/if}}</span>
|
||||
<div class="item-actions">
|
||||
<a data-action="castSpell" data-item-id="{{spell.id}}" title="{{localize 'OATHHAMMER.Action.CastSpell'}}"><i class="fa-solid fa-wand-sparkles spell-cast-icon"></i></a>
|
||||
<a data-action="edit" data-item-id="{{spell.id}}" data-item-uuid="{{spell.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
|
||||
Reference in New Issue
Block a user