add gear tab (neé equipment-partial)

This commit is contained in:
jalensailin
2025-07-18 22:47:29 -04:00
parent 18d560c720
commit 3df3567728
4 changed files with 389 additions and 317 deletions
+3
View File
@@ -55,6 +55,9 @@ export default class DeltaGreenActorSheet extends DGSheetMixin(ActorSheetV2) {
motivations: {
template: `${this.TEMPLATE_PATH}/actor/parts/motivations-tab.html`,
},
gear: {
template: `${this.TEMPLATE_PATH}/actor/parts/gear-tab.html`,
},
});
/* -------------------------------------------- */
-1
View File
@@ -13,7 +13,6 @@ export default async function preloadHandlebarsTemplates() {
"systems/deltagreen/templates/actor/partials/custom-skills-partial.html",
"systems/deltagreen/templates/actor/partials/cv-partial.html",
"systems/deltagreen/templates/actor/partials/help-and-licensing-partial.html",
"systems/deltagreen/templates/actor/partials/equipment-partial.html",
"systems/deltagreen/templates/actor/partials/attributes-grid-partial.html",
]);
}
@@ -1,316 +0,0 @@
{{!-- EQUIPMENT/ATTACKS/ABILITES SECTION USED ON ALL ACTOR SHEETS --}}
{{!-- WEAPONS/ATTACKS --}}
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.Weapons'}}</span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.weaponSortAlphabetical}}
<a><i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z" data-gear-type="weapon"></i></a>
{{else}}
<a><i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide" data-gear-type="weapon"></i></a>
{{/if}}
</div>
<span class="">
{{localize 'DG.Gear.Name'}}
<a><i class="weapon-browse fas fa-search"></i></a>
</span>
<span class="centered-item-property">{{localize 'DG.Gear.DamageOrLethality'}}</span>
<span class="centered-item-property">{{localize 'DG.Gear.ArmorPiercing'}}</span>
<div class="item-controls">
<a class="item-control item-create action-pill" title="Create item" data-type="weapon"><i class="fas fa-plus"></i> {{localize 'DG.Generic.AddButtonLabel'}}</a>
</div>
</li>
{{#each actor.weapons as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="flexrow">
<img class="item-image weapon-name-flexitem" src="{{item.img}}" width="24" height="24"/>
<span class="">
<h4 style="word-wrap: break-word; display: inline;" class="item-name">
{{item.name}}
</h4>
<span class="rollable"
data-iid="{{item._id}}"
data-rolltype="weapon"
data-key="{{item.system.skill}}"
title="{{localize 'DG.Tooltip.SkillLabel'}} ({{localizeWeaponSkill item.system.skill}})">
<i class="fas fa-dice"></i>
</span>
</span>
</div>
<span class="centered-item-property">
{{#if item.system.lethality}}
{{#if item.system.isLethal}}
<a class="item-control toggle-lethality dg-red" title="Toggle Lethality (Current Lethality: {{item.system.lethality}}%)"><i class="fas fa-skull-crossbones" item-id="{{item._id}}" is-lethal="true"></i></a>
{{else}}
<a class="item-control toggle-lethality" title="Toggle Lethality (Currently No Lethality)"><i class="fas fa-user-injured" item-id="{{item._id}}" is-lethal="false"></i></a>
{{/if}}
{{/if}}
{{#unless item.system.isLethal}}
<span class="rollable" data-rolltype="damage" data-iid="{{item._id}}">
{{toUpperCase item.system.damage}}{{#if_eq item.system.skill 'unarmed_combat'}}{{actor.system.statistics.str.meleeDamageBonusFormula}}{{/if_eq}}{{#if_eq item.system.skill 'melee_weapons'}}{{actor.system.statistics.str.meleeDamageBonusFormula}}{{/if_eq}}
<i class="fas fa-dice"></i>
</span>
{{/unless}}
{{#if item.system.isLethal}}
<span class="rollable" data-rolltype="lethality" data-iid="{{item._id}}" title="{{localize 'DG.ItemWindow.Weapons.LethalityTooltip'}}">
{{item.system.lethality}}%
<i class="fas fa-dice"></i>
</span>
{{/if}}
</span>
<span class="centered-item-property">{{item.system.armorPiercing}}</span>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- ARMOR/DEFENSE --}}
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.Armor'}}</span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.armorSortAlphabetical}}
<a><i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z" data-gear-type="armor"></i></a>
{{else}}
<a><i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide" data-gear-type="armor"></i></a>
{{/if}}
</div>
<div class="item-name"><span>{{localize 'DG.Gear.Name'}} <a><i class="armor-browse fas fa-search"></i></a></span></div>
<span class="centered-item-property">{{localize 'DG.Gear.ArmorRating'}}</span>
<span class="centered-item-property">{{localize 'DG.Gear.Equipped'}}</span>
<div class="item-controls">
<a class="item-control item-create action-pill" title="Create item" data-type="armor"><i class="fas fa-plus"></i> {{localize 'DG.Generic.AddButtonLabel'}}</a>
</div>
</li>
{{#each actor.armor as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-image"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24"/></div>
<h4 style="word-wrap: break-word;" class="item-name">{{item.name}}</h4>
<span class="centered-item-property">{{item.system.protection}}</span>
<span class="equipped-item centered-item-property" data-id="{{item._id}}" title="{{localize 'DG.Tooltip.ToggleEquippedState'}}">
{{#if item.system.equipped}}
<span class="fas fa-check"></span>
{{else}}
<span class="fas fa-times"></span>
{{/if}}
</span>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- OTHER GEAR/MISC --}}
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.OtherGear'}}</span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.gearSortAlphabetical}}
<a><i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z" data-gear-type="gear"></i></a>
{{else}}
<a><i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide" data-gear-type="gear"></i></a>
{{/if}}
</div>
<div style="min-width: 55%;" class="item-name">{{localize 'DG.Gear.Name'}}</div>
<span class="centered-item-property">{{localize 'DG.Gear.Equipped'}}</span>
<div class="item-controls">
<a class="item-control item-create action-pill" title="Create item" data-type="gear"><i class="fas fa-plus"></i> {{localize 'DG.Generic.AddButtonLabel'}}</a>
</div>
</li>
{{#each actor.gear as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-image"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24"/></div>
<h4 style="word-wrap: break-word; min-width: 55%;" class="item-name">{{item.name}}</h4>
<span class="equipped-item centered-item-property" data-id="{{item._id}}" title="{{localize 'DG.Tooltip.ToggleEquippedState'}}" >
{{#if item.system.equipped}}
<span class="fas fa-check"></span>
{{else}}
<span class="fas fa-times"></span>
{{/if}}
</span>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{#if showHyperGeometrySection}}
{{!-- TOMES --}}
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.Tomes'}}</span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.tomeSortAlphabetical}}
<a><i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z" data-gear-type="tome"></i></a>
{{else}}
<a><i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide" data-gear-type="tome"></i></a>
{{/if}}
</div>
<div style="min-width: 55%;" class="item-name">{{localize 'DG.Tomes.Name'}}</div>
<div class="item-controls">
<a class="item-control item-create action-pill" title="Create item" data-type="tome"><i class="fas fa-plus"></i> {{localize 'DG.Generic.AddButtonLabel'}}</a>
</div>
</li>
{{#each actor.tomes as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-image"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24"/></div>
<h4 style="word-wrap: break-word; min-width: 55%;" class="item-name">{{#if item.system.revealed}}{{item.name}}{{else}}???{{#if (playerHasGamemasterPrivileges)}} ({{item.name}}){{/if}}{{/if}}</h4>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- RITUALS --}}
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.Rituals'}} <a class="rollable" data-key="ritual" data-rolltype="skill" title="Ritual activation"><i class="fa-solid fa-dice" data-gear-type="ritual"></i></a></span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.ritualSortAlphabetical}}
<a><i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z" data-gear-type="ritual"></i></a>
{{else}}
<a><i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide" data-gear-type="ritual"></i></a>
{{/if}}
</div>
<div style="min-width: 55%;" class="item-name">{{localize 'DG.Ritual.Name'}}</div>
<div class="item-controls">
<a class="item-control item-create action-pill" title="Create item" data-type="ritual"><i class="fas fa-plus"></i> {{localize 'DG.Generic.AddButtonLabel'}}</a>
</div>
</li>
{{#each actor.rituals as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-image"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24"/></div>
<h4 style="word-wrap: break-word; min-width: 55%;" class="item-name">{{#if item.system.revealed}}{{item.name}}{{else}}???{{#if (playerHasGamemasterPrivileges)}} ({{item.name}}){{/if}}{{/if}}</h4>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{/if}}
+386
View File
@@ -0,0 +1,386 @@
{{!-- EQUIPMENT/ATTACKS/ABILITES SECTION USED ON ALL ACTOR SHEETS --}}
{{!-- WEAPONS/ATTACKS --}}
<div class="tab gear {{tabs.gear.cssClass}}"
data-group="primary"
data-tab="gear">
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.Weapons'}}</span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.weaponSortAlphabetical }}
<a><i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z"
data-gear-type="weapon"></i></a>
{{else}}
<a><i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide"
data-gear-type="weapon"></i></a>
{{/if}}
</div>
<span>
{{localize 'DG.Gear.Name'}}
<a><i class="weapon-browse fas fa-search"></i></a>
</span>
<span class="centered-item-property">{{localize 'DG.Gear.DamageOrLethality'}}</span>
<span class="centered-item-property">{{localize 'DG.Gear.ArmorPiercing'}}</span>
<div class="item-controls">
<a class="item-control item-create action-pill"
title="Create item"
data-type="weapon"><i class="fas fa-plus"></i> {{localize 'DG.Generic.AddButtonLabel'}}</a>
</div>
</li>
{{#each actor.weapons as |item id| }}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="flexrow">
<img class="item-image weapon-name-flexitem"
src="{{item.img}}"
width="24"
height="24" />
<span>
<h4 style="word-wrap: break-word; display: inline;" class="item-name">{{item.name}}</h4>
<span class="rollable"
data-iid="{{item._id}}"
data-rolltype="weapon"
data-key="{{item.system.skill}}"
title="{{localize 'DG.Tooltip.SkillLabel'}} ({{localizeWeaponSkill item.system.skill}})">
<i class="fas fa-dice"></i>
</span>
</span>
</div>
<span class="centered-item-property">
{{#if item.system.lethality }}
{{#if item.system.isLethal }}
<a class="item-control toggle-lethality dg-red"
title="Toggle Lethality (Current Lethality: {{item.system.lethality}}%)">
<i class="fas fa-skull-crossbones"
item-id="{{item._id}}"
is-lethal="true"></i>
</a>
{{else}}
<a class="item-control toggle-lethality"
title="Toggle Lethality (Currently No Lethality)">
<i class="fas fa-user-injured" item-id="{{item._id}}" is-lethal="false"></i>
</a>
{{/if}}
{{/if}}
{{#unless item.system.isLethal}}
<span class="rollable" data-rolltype="damage" data-iid="{{item._id}}">
{{toUpperCase item.system.damage}}
{{#if_eq item.system.skill 'unarmed_combat' }}
{{actor.system.statistics.str.meleeDamageBonusFormula}}
{{/if_eq}}
{{#if_eq item.system.skill 'melee_weapons' }}
{{actor.system.statistics.str.meleeDamageBonusFormula}}
{{/if_eq}}
<i class="fas fa-dice"></i>
</span>
{{/unless}}
{{#if item.system.isLethal }}
<span class="rollable"
data-rolltype="lethality"
data-iid="{{item._id}}"
title="{{localize 'DG.ItemWindow.Weapons.LethalityTooltip'}}">
{{item.system.lethality}}%
<i class="fas fa-dice"></i>
</span>
{{/if}}
</span>
<span class="centered-item-property">{{item.system.armorPiercing}}</span>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item">
<i class="fas fa-edit"></i>
</a>
<a class="item-control item-delete" title="Delete Item">
<i class="fas fa-trash"></i>
</a>
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- ARMOR/DEFENSE --}}
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.Armor'}}</span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.armorSortAlphabetical }}
<a>
<i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z"
data-gear-type="armor"></i>
</a>
{{else}}
<a>
<i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide"
data-gear-type="armor"></i>
</a>
{{/if}}
</div>
<div class="item-name">
<span>{{localize 'DG.Gear.Name'}} <a><i class="armor-browse fas fa-search"></i></a></span>
</div>
<span class="centered-item-property">{{localize 'DG.Gear.ArmorRating'}}</span>
<span class="centered-item-property">{{localize 'DG.Gear.Equipped'}}</span>
<div class="item-controls">
<a class="item-control item-create action-pill"
title="Create item"
data-type="armor"><i class="fas fa-plus"></i> {{localize 'DG.Generic.AddButtonLabel'}}</a>
</div>
</li>
{{#each actor.armor as |item id| }}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-image">
<img src="{{item.img}}" title="{{item.name}}" width="24" height="24" />
</div>
<h4 style="word-wrap: break-word;" class="item-name">{{item.name}}</h4>
<span class="centered-item-property">{{item.system.protection}}</span>
<span class="equipped-item centered-item-property"
data-id="{{item._id}}"
title="{{localize 'DG.Tooltip.ToggleEquippedState'}}">
{{#if item.system.equipped }}
<span class="fas fa-check"></span>
{{else}}
<span class="fas fa-times"></span>
{{/if}}
</span>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item">
<i class="fas fa-edit"></i>
</a>
<a class="item-control item-delete" title="Delete Item">
<i class="fas fa-trash"></i>
</a>
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- OTHER GEAR/MISC --}}
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.OtherGear'}}</span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.gearSortAlphabetical }}
<a><i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z"
data-gear-type="gear"></i></a>
{{else}}
<a><i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide"
data-gear-type="gear"></i></a>
{{/if}}
</div>
<div style="min-width: 55%;" class="item-name">{{localize 'DG.Gear.Name'}}</div>
<span class="centered-item-property">{{localize 'DG.Gear.Equipped'}}</span>
<div class="item-controls">
<a class="item-control item-create action-pill"
title="Create item"
data-type="gear">
<i class="fas fa-plus"></i> {{localize 'DG.Generic.AddButtonLabel'}}
</a>
</div>
</li>
{{#each actor.gear as |item id| }}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-image">
<img src="{{item.img}}" title="{{item.name}}" width="24" height="24" />
</div>
<h4 style="word-wrap: break-word; min-width: 55%;" class="item-name">{{item.name}}</h4>
<span class="equipped-item centered-item-property"
data-id="{{item._id}}"
title="{{localize 'DG.Tooltip.ToggleEquippedState'}}">
{{#if item.system.equipped }}
<span class="fas fa-check"></span>
{{else}}
<span class="fas fa-times"></span>
{{/if}}
</span>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{#if showHyperGeometrySection }}
{{!-- TOMES --}}
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.Tomes'}}</span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.tomeSortAlphabetical }}
<a>
<i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z"
data-gear-type="tome">
</i>
</a>
{{else}}
<a>
<i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide"
data-gear-type="tome">
</i>
</a>
{{/if}}
</div>
<div style="min-width: 55%;" class="item-name">{{localize 'DG.Tomes.Name'}}</div>
<div class="item-controls">
<a class="item-control item-create action-pill"
title="Create item"
data-type="tome">
<i class="fas fa-plus"></i>
{{localize 'DG.Generic.AddButtonLabel'}}
</a>
</div>
</li>
{{#each actor.tomes as |item id| }}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-image">
<img src="{{item.img}}" title="{{item.name}}" width="24" height="24" />
</div>
<h4 style="word-wrap: break-word; min-width: 55%;" class="item-name">
{{#if item.system.revealed }}
{{item.name}}
{{else}}
???
{{#if (playerHasGamemasterPrivileges) }}
({{item.name}})
{{/if}}
{{/if}}
</h4>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- RITUALS --}}
<div>
<div class="horizontal-bar-section-divider">
<span>{{localize 'DG.Gear.Rituals'}} <a class="rollable"
data-key="ritual"
data-rolltype="skill"
title="Ritual activation"><i class="fa-solid fa-dice" data-gear-type="ritual"></i></a></span>
</div>
<ol class="items-list">
<li class="item flexrow item-header">
<div class="item-image">
{{#if actor.system.settings.sorting.ritualSortAlphabetical }}
<a>
<i class="toggle-item-sorting-style fa-solid fa-solid fa-arrow-down-a-z"
data-gear-type="ritual"></i>
</a>
{{else}}
<a>
<i class="toggle-item-sorting-style fa-solid fa-arrow-down-short-wide"
data-gear-type="ritual"></i>
</a>
{{/if}}
</div>
<div style="min-width: 55%;" class="item-name">{{localize 'DG.Ritual.Name'}}</div>
<div class="item-controls">
<a class="item-control item-create action-pill"
title="Create item"
data-type="ritual">
<i class="fas fa-plus"></i> {{localize 'DG.Generic.AddButtonLabel'}}
</a>
</div>
</li>
{{#each actor.rituals as |item id| }}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-image">
<img src="{{item.img}}" title="{{item.name}}" width="24" height="24" />
</div>
<h4 style="word-wrap: break-word; min-width: 55%;" class="item-name">
{{#if item.system.revealed }}
{{item.name}}
{{else}}
???
{{#if (playerHasGamemasterPrivileges) }}
({{item.name}})
{{/if}}
{{/if}}
</h4>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ol>
</div>
{{/if}}
</div>