diff --git a/lang/en.json b/lang/en.json index e374cc1e..e42efc26 100644 --- a/lang/en.json +++ b/lang/en.json @@ -764,8 +764,13 @@ "SW5E.PowerComponents": "Power Components", "SW5E.PowerCreate": "Create Power", "SW5E.PowerDC": "Power DC", +"SW5E.UniversalPowerDC": "Universal Power DC", +"SW5E.LightPowerDC": "Light Power DC", +"SW5E.DarkPowerDC": "DarkPower DC", +"SW5E.TechPowerDC": "Tech Power DC", "SW5E.PowerDetails": "Power Details", "SW5E.PowerEffects": "Power Effects", +"SW5E.PowersKnown": "Powers Known", "SW5E.PowerLevel": "Power Level", "SW5E.PowerLevel0": "At-Will", "SW5E.PowerLevel1": "1st Level", 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 63d99f48..29255f6b 100644 --- a/less/update/components/actor-global.less +++ b/less/update/components/actor-global.less @@ -917,13 +917,14 @@ .resource-items { display: grid; grid-template-columns: repeat(5, 1fr); + column-gap: 24px; .resource { h1 { border: none; margin: 0; font-family: "Russo One"; - font-size: 16px; + font-size: 14px; font-weight: 400; text-align: center; margin-bottom: 4px; @@ -1070,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/base.js b/module/actor/sheets/newSheet/base.js index ec747f5d..efd35ca8 100644 --- a/module/actor/sheets/newSheet/base.js +++ b/module/actor/sheets/newSheet/base.js @@ -231,7 +231,6 @@ export default class ActorSheet5e extends ActorSheet { const sections = { "atwill": -20, "innate": -10, - "pact": 0.5 }; // Label power slot uses headers @@ -275,19 +274,6 @@ export default class ActorSheet5e extends ActorSheet { } } - // Pact magic users have cantrips and a pact magic section - if ( levels.pact && levels.pact.max ) { - if ( !powerbook["0"] ) registerSection("power0", 0, CONFIG.SW5E.powerLevels[0]); - const l = levels.pact; - const config = CONFIG.SW5E.powerPreparationModes.pact; - registerSection("pact", sections.pact, config, { - prepMode: "pact", - value: l.value, - max: l.max, - override: l.override - }); - } - // Iterate over every power item, adding powers to the powerbook by section powers.forEach(power => { const mode = power.data.preparation.mode || "prepared"; 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 f348bc3d..57684e7a 100644 --- a/sw5e-global.css +++ b/sw5e-global.css @@ -1542,13 +1542,14 @@ input[type="reset"]:disabled { .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items { display: grid; grid-template-columns: repeat(5, 1fr); + column-gap: 24px; } .sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .resource-items .resource h1, .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items .resource h1 { border: none; margin: 0; font-family: "Russo One"; - font-size: 16px; + font-size: 14px; font-weight: 400; text-align: center; margin-bottom: 4px; @@ -1697,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..3f7c43e6 100644 --- a/templates/actors/newActor/parts/swalt-force-powerbook.html +++ b/templates/actors/newActor/parts/swalt-force-powerbook.html @@ -1,7 +1,7 @@
-

Force Points

+

{{localize "SW5E.ConsumableForce"}}

@@ -16,7 +16,7 @@
-

Universal Power DC

+

{{localize "SW5E.UniversalPowerDC"}}

@@ -25,7 +25,7 @@
-

Light Power DC

+

{{localize "SW5E.LightPowerDC"}}

@@ -34,7 +34,7 @@
-

Dark Power DC

+

{{localize "SW5E.DarkPowerDC"}}

@@ -43,23 +43,24 @@
-

Powers Known

+ {{#if isNPC}} +

{{localize "SW5E.PowercasterLevel"}}

+ +
+
+ +
+ {{else}} +

{{localize "SW5E.PowersKnown"}}

{{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 a483bbdf..fbadeb65 100644 --- a/templates/actors/newActor/parts/swalt-tech-powerbook.html +++ b/templates/actors/newActor/parts/swalt-tech-powerbook.html @@ -1,32 +1,47 @@
    -

    Tech Points

    +

    {{localize "SW5E.ConsumableTech"}}

    /
    + +
    + + +
    -

    Universal Power DC

    +

    {{localize "SW5E.TechPowerDC"}}

    {{data.attributes.powerTechDC}}
    -
    - {{#if isNPC}} -
    - +
    + {{#if isNPC}} +

    {{localize "SW5E.PowercasterLevel"}}

    + +
    +
    + +
    + {{else}} +

    {{localize "SW5E.PowersKnown"}}

    + +
    +
    + {{data.attributes.tech.known.max}} +
    + {{/if}}
    - {{/if}} +
    • {{localize "SW5E.Filter"}}
    • @@ -37,6 +52,7 @@
    +
    {{localize "SW5E.PowerSchool"}}
    {{localize "SW5E.PowerUsage"}}