diff --git a/less/original/npc.less b/less/original/npc.less index dada8bad..506bf8de 100644 --- a/less/original/npc.less +++ b/less/original/npc.less @@ -4,7 +4,7 @@ /* Basic Structure */ /* ----------------------------------------- */ .sw5e.sheet.actor.npc { - min-width: 600px; + min-width: 872px; min-height: 680px; .header-exp { diff --git a/less/update/components/actor-global.less b/less/update/components/actor-global.less index 4a26de29..29255f6b 100644 --- a/less/update/components/actor-global.less +++ b/less/update/components/actor-global.less @@ -1071,7 +1071,7 @@ } } nav.sheet-navigation { - grid-template-columns: repeat(4, 1fr); + grid-template-columns: repeat(6, 1fr); } .tab.attributes { .traits-resources { diff --git a/module/actor/sheets/newSheet/npc.js b/module/actor/sheets/newSheet/npc.js index da67f782..46a28467 100644 --- a/module/actor/sheets/newSheet/npc.js +++ b/module/actor/sheets/newSheet/npc.js @@ -42,24 +42,27 @@ export default class ActorSheet5eNPCNew extends ActorSheet5e { }; // Start by classifying items into groups for rendering - let [powers, other] = data.items.reduce((arr, item) => { + let [forcepowers, techpowers, other] = data.items.reduce((arr, item) => { item.img = item.img || DEFAULT_TOKEN; item.isStack = Number.isNumeric(item.data.quantity) && (item.data.quantity !== 1); item.hasUses = item.data.uses && (item.data.uses.max > 0); item.isOnCooldown = item.data.recharge && !!item.data.recharge.value && (item.data.recharge.charged === false); item.isDepleted = item.isOnCooldown && (item.data.uses.per && (item.data.uses.value > 0)); item.hasTarget = !!item.data.target && !(["none",""].includes(item.data.target.type)); - if ( item.type === "power" ) arr[0].push(item); - else arr[1].push(item); + if ( item.type === "power" && ["lgt", "drk", "uni"].includes(item.data.school) ) arr[0].push(item); + else if ( item.type === "power" && ["tec"].includes(item.data.school) ) arr[1].push(item); + else arr[2].push(item); return arr; - }, [[], []]); + }, [[], [], []]); // Apply item filters - powers = this._filterItems(powers, this._filters.powerbook); + forcepowers = this._filterItems(forcepowers, this._filters.forcePowerbook); + techpowers = this._filterItems(techpowers, this._filters.techPowerbook); other = this._filterItems(other, this._filters.features); // Organize Powerbook - const powerbook = this._preparePowerbook(data, powers); + const forcePowerbook = this._preparePowerbook(data, forcepowers); + const techPowerbook = this._preparePowerbook(data, techpowers); // Organize Features for ( let item of other ) { @@ -73,7 +76,8 @@ export default class ActorSheet5eNPCNew extends ActorSheet5e { // Assign and return data.features = Object.values(features); - data.powerbook = powerbook; + data.forcePowerbook = forcePowerbook; + data.techPowerbook = techPowerbook; } diff --git a/sw5e-global.css b/sw5e-global.css index 90ad7429..57684e7a 100644 --- a/sw5e-global.css +++ b/sw5e-global.css @@ -1698,7 +1698,7 @@ input[type="reset"]:disabled { display: block; } .sw5e.sheet.actor.npc .swalt-sheet nav.sheet-navigation { - grid-template-columns: repeat(4, 1fr); + grid-template-columns: repeat(6, 1fr); } .sw5e.sheet.actor.npc .swalt-sheet .tab.attributes .traits-resources { display: block; diff --git a/sw5e.css b/sw5e.css index 476b0eff..556d0642 100644 --- a/sw5e.css +++ b/sw5e.css @@ -1827,7 +1827,7 @@ /* Basic Structure */ /* ----------------------------------------- */ .sw5e.sheet.actor.npc { - min-width: 600px; + min-width: 872px; min-height: 680px; } .sw5e.sheet.actor.npc .header-exp { diff --git a/templates/actors/newActor/npc-sheet.html b/templates/actors/newActor/npc-sheet.html index a3b8ed7e..dbc8e859 100644 --- a/templates/actors/newActor/npc-sheet.html +++ b/templates/actors/newActor/npc-sheet.html @@ -74,7 +74,8 @@ @@ -82,7 +83,7 @@ {{!-- NPC Sheet Body --}}
-
+
{{!-- Ability Scores --}}

Ability Scores

@@ -171,13 +172,14 @@ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-features.html" sections=features}} - {{!-- Powerbook Tab --}} -
+ {{!-- Powerbook Tabs --}} +
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-force-powerbook.html"}} -
-
+
+ +
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-tech-powerbook.html"}} - +
{{!-- Effects Tab --}}
diff --git a/templates/actors/newActor/parts/swalt-force-powerbook.html b/templates/actors/newActor/parts/swalt-force-powerbook.html index c780e25c..5b655620 100644 --- a/templates/actors/newActor/parts/swalt-force-powerbook.html +++ b/templates/actors/newActor/parts/swalt-force-powerbook.html @@ -43,23 +43,24 @@
+ {{#if isNPC}} +

{{localize "SW5E.PowercasterLevel"}}

+ +
+
+ +
+ {{else}}

Powers Known

{{data.attributes.force.known.max}}
+ {{/if}}
- {{#if isNPC}} -
- -
- {{/if}} -
  • {{localize "SW5E.Filter"}}
  • {{localize "SW5E.Action"}}
  • diff --git a/templates/actors/newActor/parts/swalt-tech-powerbook.html b/templates/actors/newActor/parts/swalt-tech-powerbook.html index 3f64a9bd..2cf120bb 100644 --- a/templates/actors/newActor/parts/swalt-tech-powerbook.html +++ b/templates/actors/newActor/parts/swalt-tech-powerbook.html @@ -8,6 +8,11 @@ / + +
    + + +
    @@ -18,15 +23,25 @@ {{data.attributes.powerTechDC}}
    -
- {{#if isNPC}} -
-
+
{{localize "SW5E.PowerSchool"}}
{{localize "SW5E.PowerUsage"}}