Add party an army sheeets
This commit is contained in:
6
templates/actor/army-notes.hbs
Normal file
6
templates/actor/army-notes.hbs
Normal file
@@ -0,0 +1,6 @@
|
||||
<section data-tab="notes" data-group="{{tab.group}}" class="tab {{tab.cssClass}}">
|
||||
<div class="form-group">
|
||||
<label>{{localize "OATHHAMMER.Label.Notes"}}</label>
|
||||
{{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}}
|
||||
</div>
|
||||
</section>
|
||||
55
templates/actor/army-overview.hbs
Normal file
55
templates/actor/army-overview.hbs
Normal file
@@ -0,0 +1,55 @@
|
||||
<section data-tab="overview" data-group="{{tab.group}}" class="tab {{tab.cssClass}}">
|
||||
|
||||
<fieldset class="army-regiments-fieldset">
|
||||
<legend>{{localize "OATHHAMMER.Label.Regiments"}}</legend>
|
||||
|
||||
{{#if regiments.length}}
|
||||
<ul class="item-list item-list--army-regiment">
|
||||
<li class="item-list-header">
|
||||
<span></span>
|
||||
<span class="col-name">{{localize "OATHHAMMER.Label.Name"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Grit"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.ArmorDice"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Movement"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.SupplyCost"}}</span>
|
||||
<span></span>
|
||||
</li>
|
||||
{{#each regiments as |regiment|}}
|
||||
<li class="item-entry" data-actor-id="{{regiment.id}}">
|
||||
<img src="{{regiment.img}}" class="item-img" />
|
||||
<span class="item-name">
|
||||
<a data-action="openRegiment" data-actor-id="{{regiment.id}}">{{regiment.name}}</a>
|
||||
</span>
|
||||
<span>{{regiment.grit}}/{{regiment.gritMax}}</span>
|
||||
<span>{{regiment.armor}}d6</span>
|
||||
<span>{{regiment.movement}}</span>
|
||||
<span>{{regiment.supplyCost}} GP</span>
|
||||
<div class="item-actions">
|
||||
{{#unless ../isPlayMode}}
|
||||
<a data-action="removeRegiment" data-actor-id="{{regiment.id}}" data-tooltip="{{localize 'OATHHAMMER.Tooltip.RemoveRegiment'}}">
|
||||
<i class="fa-solid fa-xmark"></i>
|
||||
</a>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
<li class="item-entry army-total-row">
|
||||
<span></span>
|
||||
<span class="col-name army-total-label">{{localize "OATHHAMMER.Label.TotalSupply"}}</span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span class="army-total-value">{{totalSupply}} GP</span>
|
||||
<span></span>
|
||||
</li>
|
||||
</ul>
|
||||
{{else}}
|
||||
<p class="no-items">{{localize "OATHHAMMER.Label.NoRegiments"}}</p>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
|
||||
{{#unless isPlayMode}}
|
||||
<p class="settlement-hint">{{localize "OATHHAMMER.Label.DropRegimentHint"}}</p>
|
||||
{{/unless}}
|
||||
|
||||
</section>
|
||||
45
templates/actor/army-sheet.hbs
Normal file
45
templates/actor/army-sheet.hbs
Normal file
@@ -0,0 +1,45 @@
|
||||
<section class="army-main army-main-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<fieldset class="army-header-fieldset">
|
||||
<div class="army-header">
|
||||
|
||||
<!-- Portrait -->
|
||||
<div class="army-portrait-wrap">
|
||||
<img class="actor-img army-portrait" src="{{actor.img}}" data-edit="img" data-action="editImage" data-tooltip="{{actor.name}}" />
|
||||
</div>
|
||||
|
||||
<!-- Name + Leader + Location -->
|
||||
<div class="army-header-body">
|
||||
|
||||
<div class="character-name">
|
||||
{{formInput fields.name value=source.name rootId=partId disabled=isPlayMode}}
|
||||
<a class="control" data-action="toggleSheet" data-tooltip="OATHHAMMER.ToggleSheet" data-tooltip-direction="UP">
|
||||
<i class="fa-solid {{#if isPlayMode}}fa-shield-halved{{else}}fa-user-pen{{/if}}"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Leader -->
|
||||
<div class="army-leader-row" data-drop-target="leader">
|
||||
<span class="army-field-label">{{localize "OATHHAMMER.Label.Commander"}}</span>
|
||||
{{#if leader}}
|
||||
<img src="{{leader.img}}" class="army-leader-img" />
|
||||
<a class="army-leader-name" data-action="openLeader" data-tooltip="{{localize 'OATHHAMMER.Tooltip.OpenLeader'}}">{{leader.name}}</a>
|
||||
{{#unless isPlayMode}}
|
||||
<a class="army-leader-clear" data-action="clearLeader" data-tooltip="{{localize 'OATHHAMMER.Tooltip.ClearLeader'}}">
|
||||
<i class="fa-solid fa-times"></i>
|
||||
</a>
|
||||
{{/unless}}
|
||||
{{else}}
|
||||
<span class="army-field-empty">{{localize "OATHHAMMER.Label.DropLeaderHint"}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<!-- Location -->
|
||||
<div class="army-location-row">
|
||||
<span class="army-field-label">{{localize "OATHHAMMER.Label.Location"}}</span>
|
||||
{{formInput systemFields.location value=system.location name="system.location" placeholder="—" disabled=isPlayMode}}
|
||||
</div>
|
||||
|
||||
</div><!-- /army-header-body -->
|
||||
</div>
|
||||
</fieldset>
|
||||
</section>
|
||||
@@ -35,7 +35,7 @@
|
||||
<img src="{{spell.img}}" class="item-img" />
|
||||
<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-type">{{spell.traditionLabel}}</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>
|
||||
@@ -74,7 +74,7 @@
|
||||
<li class="item-entry" data-item-id="{{miracle.id}}" data-item-uuid="{{miracle.uuid}}">
|
||||
<img src="{{miracle.img}}" class="item-img" />
|
||||
<span class="item-name" {{#if miracle._descTooltip}}data-tooltip="{{miracle._descTooltip}}"{{/if}}>{{miracle.name}}</span>
|
||||
<span class="item-detail">{{miracle.system.divineTradition}}</span>
|
||||
<span class="item-detail">{{miracle.traditionLabel}}</span>
|
||||
<div class="item-actions">
|
||||
<a data-action="castMiracle" data-item-id="{{miracle.id}}" title="{{localize 'OATHHAMMER.Action.InvokeMiracle'}}"><i class="fa-solid fa-hands-praying miracle-cast-icon"></i></a>
|
||||
<a data-action="edit" data-item-id="{{miracle.id}}" data-item-uuid="{{miracle.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<span>{{localize "OATHHAMMER.Label.Tradition"}}</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|}}
|
||||
@@ -20,11 +21,12 @@
|
||||
<img src="{{spell.img}}" class="item-img" />
|
||||
<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-type">{{spell.traditionLabel}}</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="castNPCSpell" 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="castNPCSpell" data-item-id="{{spell.id}}" data-tooltip="{{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>
|
||||
<a data-action="delete" data-item-id="{{spell.id}}" data-item-uuid="{{spell.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
</div>
|
||||
@@ -52,9 +54,9 @@
|
||||
<li class="item-entry" data-item-id="{{miracle.id}}" data-item-uuid="{{miracle.uuid}}">
|
||||
<img src="{{miracle.img}}" class="item-img" />
|
||||
<span class="item-name" {{#if miracle._descTooltip}}data-tooltip="{{miracle._descTooltip}}"{{/if}}>{{miracle.name}}</span>
|
||||
<span class="item-detail">{{miracle.system.divineTradition}}</span>
|
||||
<span class="item-detail">{{miracle.traditionLabel}}</span>
|
||||
<div class="item-actions">
|
||||
<a data-action="castNPCMiracle" data-item-id="{{miracle.id}}" title="{{localize 'OATHHAMMER.Action.InvokeMiracle'}}"><i class="fa-solid fa-hands-praying miracle-cast-icon"></i></a>
|
||||
<a data-action="castNPCMiracle" data-item-id="{{miracle.id}}" data-tooltip="{{localize 'OATHHAMMER.Action.InvokeMiracle'}}"><i class="fa-solid fa-hands-praying miracle-cast-icon"></i></a>
|
||||
<a data-action="edit" data-item-id="{{miracle.id}}" data-item-uuid="{{miracle.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{miracle.id}}" data-item-uuid="{{miracle.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
</div>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<span class="item-detail">{{skill.system.threshold}}</span>
|
||||
<a class="npc-skill-roll-btn" data-action="rollSkillNPC"
|
||||
data-item-id="{{skill.id}}" data-item-uuid="{{skill.uuid}}"
|
||||
data-tooltip="{{localize 'OATHHAMMER.Roll.RollSkill'}}">
|
||||
data-tooltip="{{localize 'OATHHAMMER.Dialog.RollSkill'}}">
|
||||
<i class="fa-solid fa-dice-d6"></i>
|
||||
</a>
|
||||
<div class="item-actions">
|
||||
|
||||
39
templates/actor/party-loot.hbs
Normal file
39
templates/actor/party-loot.hbs
Normal file
@@ -0,0 +1,39 @@
|
||||
<section data-tab="loot" data-group="{{tab.group}}" class="tab {{tab.cssClass}}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "OATHHAMMER.Label.Loot"}}</legend>
|
||||
|
||||
{{#if lootItems.length}}
|
||||
<ul class="item-list item-list--party-loot">
|
||||
<li class="item-list-header">
|
||||
<span></span>
|
||||
<span class="col-name">{{localize "OATHHAMMER.Label.Name"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Type"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Qty"}}</span>
|
||||
<span></span>
|
||||
</li>
|
||||
{{#each lootItems as |item|}}
|
||||
<li class="item-entry" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img src="{{item.img}}" class="item-img" />
|
||||
<span class="item-name">{{item.name}}</span>
|
||||
<span class="item-type">{{item.typeLabel}}</span>
|
||||
<div class="item-qty">
|
||||
<a data-action="adjustQty" data-item-id="{{item.id}}" data-delta="-1" class="qty-btn">−</a>
|
||||
<span>{{#if item.system.quantity}}{{item.system.quantity}}{{else}}1{{/if}}</span>
|
||||
<a data-action="adjustQty" data-item-id="{{item.id}}" data-delta="1" class="qty-btn">+</a>
|
||||
</div>
|
||||
<div class="item-actions">
|
||||
<a data-action="edit" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-tooltip="{{localize 'OATHHAMMER.Label.Edit'}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-tooltip="{{localize 'OATHHAMMER.Label.Delete'}}"><i class="fa-solid fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<p class="no-items">{{localize "OATHHAMMER.Label.NoLoot"}}</p>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
|
||||
<p class="settlement-hint">{{localize "OATHHAMMER.Label.DropLootHint"}}</p>
|
||||
|
||||
</section>
|
||||
46
templates/actor/party-members.hbs
Normal file
46
templates/actor/party-members.hbs
Normal file
@@ -0,0 +1,46 @@
|
||||
<section data-tab="members" data-group="{{tab.group}}" class="tab {{tab.cssClass}}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "OATHHAMMER.Label.MarchingOrder"}}</legend>
|
||||
|
||||
{{#if members.length}}
|
||||
<ul class="item-list item-list--party-member">
|
||||
<li class="item-list-header">
|
||||
<span class="col-order">#</span>
|
||||
<span></span>
|
||||
<span class="col-name">{{localize "OATHHAMMER.Label.Name"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Class"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Level"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Grit"}}</span>
|
||||
<span></span>
|
||||
</li>
|
||||
{{#each members as |member|}}
|
||||
<li class="item-entry" data-actor-id="{{member.id}}">
|
||||
<span class="party-member-order">{{member.position}}</span>
|
||||
<img src="{{member.img}}" class="item-img" />
|
||||
<span class="item-name">
|
||||
<a data-action="openMember" data-actor-id="{{member.id}}">{{member.name}}</a>
|
||||
</span>
|
||||
<span class="item-detail item-detail--small">{{member.classLabel}}</span>
|
||||
<span class="item-detail">{{member.level}}</span>
|
||||
<span class="item-detail">{{member.grit}}</span>
|
||||
<div class="item-actions">
|
||||
{{#unless member.isFirst}}
|
||||
<a data-action="moveMemberUp" data-idx="{{member.idx}}" data-tooltip="{{localize 'OATHHAMMER.Tooltip.MoveUp'}}"><i class="fa-solid fa-chevron-up"></i></a>
|
||||
{{/unless}}
|
||||
{{#unless member.isLast}}
|
||||
<a data-action="moveMemberDown" data-idx="{{member.idx}}" data-tooltip="{{localize 'OATHHAMMER.Tooltip.MoveDown'}}"><i class="fa-solid fa-chevron-down"></i></a>
|
||||
{{/unless}}
|
||||
<a data-action="removeMember" data-actor-id="{{member.id}}" data-tooltip="{{localize 'OATHHAMMER.Tooltip.RemoveMember'}}"><i class="fa-solid fa-times"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<p class="no-items">{{localize "OATHHAMMER.Label.NoMembers"}}</p>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
|
||||
<p class="settlement-hint">{{localize "OATHHAMMER.Label.DropMemberHint"}}</p>
|
||||
|
||||
</section>
|
||||
6
templates/actor/party-notes.hbs
Normal file
6
templates/actor/party-notes.hbs
Normal file
@@ -0,0 +1,6 @@
|
||||
<section data-tab="notes" data-group="{{tab.group}}" class="tab {{tab.cssClass}}">
|
||||
<div class="form-group">
|
||||
<label>{{localize "OATHHAMMER.Label.Notes"}}</label>
|
||||
{{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}}
|
||||
</div>
|
||||
</section>
|
||||
54
templates/actor/party-sheet.hbs
Normal file
54
templates/actor/party-sheet.hbs
Normal file
@@ -0,0 +1,54 @@
|
||||
<section class="party-main party-main-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<fieldset class="party-header-fieldset">
|
||||
<div class="party-header">
|
||||
|
||||
<!-- Portrait -->
|
||||
<div class="party-portrait-wrap">
|
||||
<img class="actor-img party-portrait" src="{{actor.img}}" data-edit="img" data-action="editImage" data-tooltip="{{actor.name}}" />
|
||||
</div>
|
||||
|
||||
<!-- Name + Treasury -->
|
||||
<div class="party-header-body">
|
||||
<div class="character-name">
|
||||
{{formInput fields.name value=source.name rootId=partId disabled=isPlayMode}}
|
||||
<a class="control" data-action="toggleSheet" data-tooltip="OATHHAMMER.ToggleSheet" data-tooltip-direction="UP">
|
||||
<i class="fa-solid {{#if isPlayMode}}fa-users-viewfinder{{else}}fa-user-pen{{/if}}"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Treasury -->
|
||||
<div class="party-treasury">
|
||||
<span class="party-treasury-label">{{localize "OATHHAMMER.Label.Treasury"}}</span>
|
||||
|
||||
<div class="party-currency party-currency-gp">
|
||||
<span class="currency-label">{{localize "OATHHAMMER.Label.GP"}}</span>
|
||||
<div class="currency-stepper">
|
||||
<a data-action="adjustCurrency" data-field="system.treasury.gp" data-delta="-1" class="currency-btn">−</a>
|
||||
<input type="number" name="system.treasury.gp" value="{{system.treasury.gp}}" min="0" {{#if isPlayMode}}disabled{{/if}} />
|
||||
<a data-action="adjustCurrency" data-field="system.treasury.gp" data-delta="1" class="currency-btn">+</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="party-currency party-currency-sp">
|
||||
<span class="currency-label">{{localize "OATHHAMMER.Label.SP"}}</span>
|
||||
<div class="currency-stepper">
|
||||
<a data-action="adjustCurrency" data-field="system.treasury.sp" data-delta="-1" class="currency-btn">−</a>
|
||||
<input type="number" name="system.treasury.sp" value="{{system.treasury.sp}}" min="0" {{#if isPlayMode}}disabled{{/if}} />
|
||||
<a data-action="adjustCurrency" data-field="system.treasury.sp" data-delta="1" class="currency-btn">+</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="party-currency party-currency-cp">
|
||||
<span class="currency-label">{{localize "OATHHAMMER.Label.CP"}}</span>
|
||||
<div class="currency-stepper">
|
||||
<a data-action="adjustCurrency" data-field="system.treasury.cp" data-delta="-1" class="currency-btn">−</a>
|
||||
<input type="number" name="system.treasury.cp" value="{{system.treasury.cp}}" min="0" {{#if isPlayMode}}disabled{{/if}} />
|
||||
<a data-action="adjustCurrency" data-field="system.treasury.cp" data-delta="1" class="currency-btn">+</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!-- /party-treasury -->
|
||||
</div><!-- /party-header-body -->
|
||||
</div>
|
||||
</fieldset>
|
||||
</section>
|
||||
33
templates/actor/regiment-combat.hbs
Normal file
33
templates/actor/regiment-combat.hbs
Normal file
@@ -0,0 +1,33 @@
|
||||
<section data-tab="combat" data-group="{{tab.group}}" class="tab {{tab.cssClass}}">
|
||||
<fieldset>
|
||||
<legend>{{localize "OATHHAMMER.Label.Attacks"}}
|
||||
{{#unless isPlayMode}}<a data-action="createNpcAttack" class="create-btn"><i class="fa-solid fa-plus"></i></a>{{/unless}}
|
||||
</legend>
|
||||
{{#if npcAttacks.length}}
|
||||
<ul class="item-list item-list--npc-attack">
|
||||
<li class="item-list-header">
|
||||
<span></span>
|
||||
<span class="col-name">{{localize "OATHHAMMER.Label.Name"}}</span>
|
||||
<span>{{localize "OATHHAMMER.Label.Damage"}}</span>
|
||||
<span title="Armor Penetration">AP</span>
|
||||
<span></span>
|
||||
</li>
|
||||
{{#each npcAttacks as |attack|}}
|
||||
<li class="item-entry" data-item-id="{{attack.id}}" data-item-uuid="{{attack.uuid}}">
|
||||
<img src="{{attack.img}}" class="item-img" />
|
||||
<span class="item-name" {{#if attack._descTooltip}}data-tooltip="{{attack._descTooltip}}"{{/if}}>{{attack.name}}</span>
|
||||
<span class="item-detail">{{attack.system.damageLabel}}</span>
|
||||
<span class="item-detail">{{#if attack.system.ap}}{{attack.system.ap}}{{else}}—{{/if}}</span>
|
||||
<div class="item-actions">
|
||||
<a data-action="rollNpcAttack" data-item-id="{{attack.id}}" data-tooltip="{{localize 'OATHHAMMER.Dialog.Damage'}}"><i class="fa-solid fa-burst"></i></a>
|
||||
<a data-action="edit" data-item-id="{{attack.id}}" data-item-uuid="{{attack.uuid}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{attack.id}}" data-item-uuid="{{attack.uuid}}"><i class="fa-solid fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<p class="no-items">{{localize "OATHHAMMER.Label.NoAttacks"}}</p>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
</section>
|
||||
107
templates/actor/regiment-sheet.hbs
Normal file
107
templates/actor/regiment-sheet.hbs
Normal file
@@ -0,0 +1,107 @@
|
||||
<section class="npc-main npc-main-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<fieldset class="regiment-fieldset">
|
||||
|
||||
<div class="npc-pc flexrow">
|
||||
|
||||
<!-- LEFT: portrait -->
|
||||
<div class="npc-left">
|
||||
<img class="actor-img" src="{{actor.img}}" data-edit="img" data-action="editImage" data-tooltip="{{actor.name}}" />
|
||||
</div>
|
||||
|
||||
<!-- RIGHT: name + vitals -->
|
||||
<div class="npc-right">
|
||||
<div class="character-name">
|
||||
{{formInput fields.name value=source.name rootId=partId disabled=isPlayMode}}
|
||||
<a class="control" data-action="toggleSheet" data-tooltip="OATHHAMMER.ToggleSheet" data-tooltip-direction="UP">
|
||||
<i class="fa-solid fa-user-{{ifThen isPlayMode 'lock' 'pen'}}"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Row 1: combat stats -->
|
||||
<div class="npc-vitals-grid regiment-vitals-grid regiment-row1">
|
||||
|
||||
<!-- Grit -->
|
||||
<div class="npc-vital npc-vital-grit">
|
||||
<span class="vital-label">{{localize "OATHHAMMER.Label.Grit"}}</span>
|
||||
<span class="vital-value">
|
||||
<a class="grit-btn" data-action="adjustGrit" data-delta="-1" data-tooltip="−1">−</a>
|
||||
<input type="number" class="npc-num-input" name="system.grit.value" value="{{system.grit.value}}" min="0" />
|
||||
<span class="res-sep">/</span>
|
||||
{{formInput systemFields.grit.fields.max value=system.grit.max name="system.grit.max" disabled=isPlayMode}}
|
||||
<a class="grit-btn" data-action="adjustGrit" data-delta="1" data-tooltip="+1">+</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Armor Dice -->
|
||||
<div class="npc-vital">
|
||||
<span class="vital-label{{#if isPlayMode}} vital-roll-label{{/if}}"
|
||||
{{#if isPlayMode}}data-action="rollArmor" data-tooltip="OATHHAMMER.Tooltip.RollArmor"{{/if}}>
|
||||
{{#if isPlayMode}}<i class="fa-solid fa-dice-d6"></i>{{/if}}
|
||||
{{localize "OATHHAMMER.Label.ArmorDice"}}
|
||||
</span>
|
||||
<span class="vital-value">
|
||||
<input type="number" class="npc-num-input" name="system.armorDice.value" value="{{system.armorDice.value}}" min="0" {{#if isPlayMode}}disabled{{/if}} />
|
||||
{{#if isPlayMode}}
|
||||
<span class="npc-color-badge">{{armorDiceEmoji}}</span>
|
||||
{{else}}
|
||||
<select name="system.armorDice.colorDiceType" class="npc-color-select">
|
||||
{{selectOptions colorChoices selected=system.armorDice.colorDiceType}}
|
||||
</select>
|
||||
{{/if}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Movement -->
|
||||
<div class="npc-vital">
|
||||
<span class="vital-label">{{localize "OATHHAMMER.Label.Movement"}}</span>
|
||||
<span class="vital-value">
|
||||
<input type="number" class="npc-num-input" name="system.movement" value="{{system.movement}}" min="0" {{#if isPlayMode}}disabled{{/if}} />
|
||||
<span class="res-sep">ft</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div><!-- /row1 -->
|
||||
|
||||
<!-- Row 2: cost stats -->
|
||||
<div class="npc-vitals-grid regiment-vitals-grid regiment-row2">
|
||||
|
||||
<!-- Supply Cost -->
|
||||
<div class="npc-vital">
|
||||
<span class="vital-label">{{localize "OATHHAMMER.Label.SupplyCost"}}</span>
|
||||
<span class="vital-value">
|
||||
<input type="number" class="npc-num-input" name="system.supplyCost" value="{{system.supplyCost}}" min="0" {{#if isPlayMode}}disabled{{/if}} />
|
||||
<span class="res-sep">gp / month</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Recruitment Cost -->
|
||||
<div class="npc-vital">
|
||||
<span class="vital-label">{{localize "OATHHAMMER.Label.RecruitmentCost"}}</span>
|
||||
<span class="vital-value">
|
||||
<input type="number" class="npc-num-input" name="system.recruitmentCost" value="{{system.recruitmentCost}}" min="0" {{#if isPlayMode}}disabled{{/if}} />
|
||||
<span class="res-sep">gp</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div><!-- /row2 -->
|
||||
|
||||
<!-- Leader -->
|
||||
<div class="regiment-leader-row" data-drop-target="leader">
|
||||
<span class="regiment-leader-label">{{localize "OATHHAMMER.Label.UnitLeader"}}</span>
|
||||
{{#if leader}}
|
||||
<img src="{{leader.img}}" class="regiment-leader-img" />
|
||||
<a class="regiment-leader-name" data-action="openLeader" data-tooltip="{{localize 'OATHHAMMER.Tooltip.OpenLeader'}}">{{leader.name}}</a>
|
||||
{{#unless isPlayMode}}
|
||||
<a class="regiment-leader-clear" data-action="clearLeader" data-tooltip="{{localize 'OATHHAMMER.Tooltip.ClearLeader'}}">
|
||||
<i class="fa-solid fa-times"></i>
|
||||
</a>
|
||||
{{/unless}}
|
||||
{{else}}
|
||||
<span class="regiment-leader-empty">{{localize "OATHHAMMER.Label.DropLeaderHint"}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
</div><!-- /npc-right -->
|
||||
</div>
|
||||
</fieldset>
|
||||
</section>
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "OATHHAMMER.Label.Garrison"}}
|
||||
{{#unless isPlayMode}}<a data-action="createRegiment" class="create-btn"><i class="fa-solid fa-plus"></i></a>{{/unless}}
|
||||
</legend>
|
||||
{{#if regiments.length}}
|
||||
<ul class="item-list item-list--regiment">
|
||||
@@ -15,15 +14,15 @@
|
||||
<span></span>
|
||||
</li>
|
||||
{{#each regiments as |regiment|}}
|
||||
<li class="item-entry" data-item-id="{{regiment.id}}" data-item-uuid="{{regiment.uuid}}">
|
||||
<li class="item-entry" data-actor-id="{{regiment.id}}">
|
||||
<img src="{{regiment.img}}" class="item-img" />
|
||||
<span class="item-name">{{regiment.name}}</span>
|
||||
<span class="item-name"><a data-action="openRegiment" data-actor-id="{{regiment.id}}">{{regiment.name}}</a></span>
|
||||
<span class="item-detail">{{regiment.system.grit.max}}</span>
|
||||
<span class="item-detail">{{regiment.system.armorLabel}}</span>
|
||||
<span class="item-detail">{{regiment.system.movement}} ft</span>
|
||||
<div class="item-actions">
|
||||
<a data-action="edit" data-item-id="{{regiment.id}}" data-item-uuid="{{regiment.uuid}}" data-tooltip="{{localize 'OATHHAMMER.Label.Edit'}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="delete" data-item-id="{{regiment.id}}" data-item-uuid="{{regiment.uuid}}" data-tooltip="{{localize 'OATHHAMMER.Label.Delete'}}"><i class="fa-solid fa-trash"></i></a>
|
||||
<a data-action="openRegiment" data-actor-id="{{regiment.id}}" data-tooltip="{{localize 'OATHHAMMER.Label.Edit'}}"><i class="fa-solid fa-edit"></i></a>
|
||||
<a data-action="removeRegiment" data-actor-id="{{regiment.id}}" data-tooltip="{{localize 'OATHHAMMER.Label.RemoveFromGarrison'}}"><i class="fa-solid fa-minus-circle"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -33,4 +32,6 @@
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
|
||||
<p class="settlement-hint">{{localize "OATHHAMMER.Settlement.GarrisonHint"}}</p>
|
||||
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user