forked from GitHub-Mirrors/foundry-sw5e
Fixes for NPC display
This commit is contained in:
parent
55f084592c
commit
74414e2257
8 changed files with 55 additions and 32 deletions
|
@ -4,7 +4,7 @@
|
||||||
/* Basic Structure */
|
/* Basic Structure */
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
.sw5e.sheet.actor.npc {
|
.sw5e.sheet.actor.npc {
|
||||||
min-width: 600px;
|
min-width: 872px;
|
||||||
min-height: 680px;
|
min-height: 680px;
|
||||||
|
|
||||||
.header-exp {
|
.header-exp {
|
||||||
|
|
|
@ -1071,7 +1071,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
nav.sheet-navigation {
|
nav.sheet-navigation {
|
||||||
grid-template-columns: repeat(4, 1fr);
|
grid-template-columns: repeat(6, 1fr);
|
||||||
}
|
}
|
||||||
.tab.attributes {
|
.tab.attributes {
|
||||||
.traits-resources {
|
.traits-resources {
|
||||||
|
|
|
@ -42,24 +42,27 @@ export default class ActorSheet5eNPCNew extends ActorSheet5e {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Start by classifying items into groups for rendering
|
// 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.img = item.img || DEFAULT_TOKEN;
|
||||||
item.isStack = Number.isNumeric(item.data.quantity) && (item.data.quantity !== 1);
|
item.isStack = Number.isNumeric(item.data.quantity) && (item.data.quantity !== 1);
|
||||||
item.hasUses = item.data.uses && (item.data.uses.max > 0);
|
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.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.isDepleted = item.isOnCooldown && (item.data.uses.per && (item.data.uses.value > 0));
|
||||||
item.hasTarget = !!item.data.target && !(["none",""].includes(item.data.target.type));
|
item.hasTarget = !!item.data.target && !(["none",""].includes(item.data.target.type));
|
||||||
if ( item.type === "power" ) arr[0].push(item);
|
if ( item.type === "power" && ["lgt", "drk", "uni"].includes(item.data.school) ) arr[0].push(item);
|
||||||
else arr[1].push(item);
|
else if ( item.type === "power" && ["tec"].includes(item.data.school) ) arr[1].push(item);
|
||||||
|
else arr[2].push(item);
|
||||||
return arr;
|
return arr;
|
||||||
}, [[], []]);
|
}, [[], [], []]);
|
||||||
|
|
||||||
// Apply item filters
|
// 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);
|
other = this._filterItems(other, this._filters.features);
|
||||||
|
|
||||||
// Organize Powerbook
|
// Organize Powerbook
|
||||||
const powerbook = this._preparePowerbook(data, powers);
|
const forcePowerbook = this._preparePowerbook(data, forcepowers);
|
||||||
|
const techPowerbook = this._preparePowerbook(data, techpowers);
|
||||||
|
|
||||||
// Organize Features
|
// Organize Features
|
||||||
for ( let item of other ) {
|
for ( let item of other ) {
|
||||||
|
@ -73,7 +76,8 @@ export default class ActorSheet5eNPCNew extends ActorSheet5e {
|
||||||
|
|
||||||
// Assign and return
|
// Assign and return
|
||||||
data.features = Object.values(features);
|
data.features = Object.values(features);
|
||||||
data.powerbook = powerbook;
|
data.forcePowerbook = forcePowerbook;
|
||||||
|
data.techPowerbook = techPowerbook;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1698,7 +1698,7 @@ input[type="reset"]:disabled {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.sw5e.sheet.actor.npc .swalt-sheet nav.sheet-navigation {
|
.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 {
|
.sw5e.sheet.actor.npc .swalt-sheet .tab.attributes .traits-resources {
|
||||||
display: block;
|
display: block;
|
||||||
|
|
2
sw5e.css
2
sw5e.css
|
@ -1827,7 +1827,7 @@
|
||||||
/* Basic Structure */
|
/* Basic Structure */
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
.sw5e.sheet.actor.npc {
|
.sw5e.sheet.actor.npc {
|
||||||
min-width: 600px;
|
min-width: 872px;
|
||||||
min-height: 680px;
|
min-height: 680px;
|
||||||
}
|
}
|
||||||
.sw5e.sheet.actor.npc .header-exp {
|
.sw5e.sheet.actor.npc .header-exp {
|
||||||
|
|
|
@ -74,7 +74,8 @@
|
||||||
<nav class="sheet-navigation root-tabs" data-group="primary">
|
<nav class="sheet-navigation root-tabs" data-group="primary">
|
||||||
<button class="item active" data-tab="attributes">{{ localize "SW5E.Attributes" }}</button>
|
<button class="item active" data-tab="attributes">{{ localize "SW5E.Attributes" }}</button>
|
||||||
<button class="item" data-tab="features">{{ localize "SW5E.Features" }}</button>
|
<button class="item" data-tab="features">{{ localize "SW5E.Features" }}</button>
|
||||||
<button class="item" data-tab="powerbook">{{ localize "SW5E.Powerbook" }}</button>
|
<button class="item" data-tab="force-powerbook">{{ localize "SW5E.ForcePowerbook" }}</button>
|
||||||
|
<button class="item" data-tab="tech-powerbook">{{ localize "SW5E.TechPowerbook" }}</button>
|
||||||
<button class="item" data-tab="effects">{{ localize "SW5E.Effects" }}</button>
|
<button class="item" data-tab="effects">{{ localize "SW5E.Effects" }}</button>
|
||||||
<button class="item" data-tab="biography">{{ localize "SW5E.Biography" }}</button>
|
<button class="item" data-tab="biography">{{ localize "SW5E.Biography" }}</button>
|
||||||
</nav>
|
</nav>
|
||||||
|
@ -82,7 +83,7 @@
|
||||||
{{!-- NPC Sheet Body --}}
|
{{!-- NPC Sheet Body --}}
|
||||||
<section class="sheet-body">
|
<section class="sheet-body">
|
||||||
<section class="tab attributes core" data-group="primary" data-tab="attributes">
|
<section class="tab attributes core" data-group="primary" data-tab="attributes">
|
||||||
<section class="panel abilities">
|
<section class="panel abilities">
|
||||||
{{!-- Ability Scores --}}
|
{{!-- Ability Scores --}}
|
||||||
<section class="scores">
|
<section class="scores">
|
||||||
<h1>Ability Scores</h1>
|
<h1>Ability Scores</h1>
|
||||||
|
@ -171,13 +172,14 @@
|
||||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-features.html" sections=features}}
|
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-features.html" sections=features}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{!-- Powerbook Tab --}}
|
{{!-- Powerbook Tabs --}}
|
||||||
<div class="tab powerbook flexcol" data-group="primary" data-tab="powerbook">
|
<section class="tab force-powerbook" data-group="primary" data-tab="force-powerbook">
|
||||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-force-powerbook.html"}}
|
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-force-powerbook.html"}}
|
||||||
</div>
|
</section>
|
||||||
<div class="tab powerbook flexcol" data-group="primary" data-tab="powerbook">
|
|
||||||
|
<section class="tab tech-powerbook" data-group="primary" data-tab="tech-powerbook">
|
||||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-tech-powerbook.html"}}
|
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-tech-powerbook.html"}}
|
||||||
</div>
|
</section>
|
||||||
|
|
||||||
{{!-- Effects Tab --}}
|
{{!-- Effects Tab --}}
|
||||||
<div class="tab effects flexcol" data-group="primary" data-tab="effects">
|
<div class="tab effects flexcol" data-group="primary" data-tab="effects">
|
||||||
|
|
|
@ -43,23 +43,24 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="resource">
|
<div class="resource">
|
||||||
|
{{#if isNPC}}
|
||||||
|
<h1>{{localize "SW5E.PowercasterLevel"}}</h1>
|
||||||
|
|
||||||
|
<div class="attribute-value">
|
||||||
|
<div></div>
|
||||||
|
<input class="powercasting-level" type="text" name="data.details.powerLevel" value="{{data.details.powerLevel}}" data-dtype="Number" placeholder="0" />
|
||||||
|
</div>
|
||||||
|
{{else}}
|
||||||
<h1>Powers Known</h1>
|
<h1>Powers Known</h1>
|
||||||
|
|
||||||
<div class="attribute-value">
|
<div class="attribute-value">
|
||||||
<div></div>
|
<div></div>
|
||||||
<span>{{data.attributes.force.known.max}}</span>
|
<span>{{data.attributes.force.known.max}}</span>
|
||||||
</div>
|
</div>
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{{#if isNPC}}
|
|
||||||
<div class="force-powercasting-ability">
|
|
||||||
<label>{{localize "SW5E.PowercasterLevel"}}
|
|
||||||
<input class="powercasting-level" type="text" name="data.details.powerLevel" value="{{data.details.powerLevel}}" data-dtype="Number" placeholder="0" />
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
<ul class="filter-list" data-filter="forcePowerbook">
|
<ul class="filter-list" data-filter="forcePowerbook">
|
||||||
<li class="filter-title">{{localize "SW5E.Filter"}}</li>
|
<li class="filter-title">{{localize "SW5E.Filter"}}</li>
|
||||||
<li class="filter-item" data-filter="action">{{localize "SW5E.Action"}}</li>
|
<li class="filter-item" data-filter="action">{{localize "SW5E.Action"}}</li>
|
||||||
|
|
|
@ -8,6 +8,11 @@
|
||||||
<span class="value-separator">/</span>
|
<span class="value-separator">/</span>
|
||||||
<input name="data.attributes.tech.points.max" type="text" value="{{data.attributes.tech.points.max}}" data-dtype="Number" placeholder="0" class="value-number" />
|
<input name="data.attributes.tech.points.max" type="text" value="{{data.attributes.tech.points.max}}" data-dtype="Number" placeholder="0" class="value-number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<footer class="attribute-footer">
|
||||||
|
<input name="data.attributes.tech.points.temp" type="text" placeholder="+Temp" value="{{data.attributes.tech.points.temp}}" data-dtype="Number" />
|
||||||
|
<input name="data.attributes.tech.points.tempmax" type="text" placeholder="+Max" value="{{data.attributes.tech.points.tempmax}}" data-dtype="Number" />
|
||||||
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="resource">
|
<div class="resource">
|
||||||
|
@ -18,15 +23,25 @@
|
||||||
<span>{{data.attributes.powerTechDC}}</span>
|
<span>{{data.attributes.powerTechDC}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
|
|
||||||
{{#if isNPC}}
|
<div class="resource">
|
||||||
<div class="tech-powercasting-ability">
|
{{#if isNPC}}
|
||||||
<label>{{localize "SW5E.PowercasterLevel"}}
|
<h1>{{localize "SW5E.PowercasterLevel"}}</h1>
|
||||||
|
|
||||||
|
<div class="attribute-value">
|
||||||
|
<div></div>
|
||||||
<input class="powercasting-level" type="text" name="data.details.powerLevel" value="{{data.details.powerLevel}}" data-dtype="Number" placeholder="0" />
|
<input class="powercasting-level" type="text" name="data.details.powerLevel" value="{{data.details.powerLevel}}" data-dtype="Number" placeholder="0" />
|
||||||
</label>
|
</div>
|
||||||
|
{{else}}
|
||||||
|
<h1>Powers Known</h1>
|
||||||
|
|
||||||
|
<div class="attribute-value">
|
||||||
|
<div></div>
|
||||||
|
<span>{{data.attributes.tech.known.max}}</span>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
</section>
|
||||||
|
|
||||||
<ul class="filter-list" data-filter="techPowerbook">
|
<ul class="filter-list" data-filter="techPowerbook">
|
||||||
<li class="filter-title">{{localize "SW5E.Filter"}}</li>
|
<li class="filter-title">{{localize "SW5E.Filter"}}</li>
|
||||||
|
@ -37,6 +52,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="group-list-header group-grid-powers">
|
<div class="group-list-header group-grid-powers">
|
||||||
|
<div></div>
|
||||||
<div class="item-detail item-uses"></div>
|
<div class="item-detail item-uses"></div>
|
||||||
<div class="item-detail item-school">{{localize "SW5E.PowerSchool"}}</div>
|
<div class="item-detail item-school">{{localize "SW5E.PowerSchool"}}</div>
|
||||||
<div class="item-detail item-action">{{localize "SW5E.PowerUsage"}}</div>
|
<div class="item-detail item-action">{{localize "SW5E.PowerUsage"}}</div>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue