forked from GitHub-Mirrors/foundry-sw5e
Fully split force and tech powers into their own sheets
This commit is contained in:
parent
70d399e8f6
commit
1ce2e92ccd
18 changed files with 285 additions and 318 deletions
|
@ -802,6 +802,8 @@
|
|||
"SW5E.PowerUnprepared": "Unprepared",
|
||||
"SW5E.PowerUsage": "Power Usage",
|
||||
"SW5E.Powerbook": "Powerbook",
|
||||
"SW5E.ForcePowerbook": "Force Powers",
|
||||
"SW5E.TechPowerbook": "Tech Powers",
|
||||
"SW5E.SpeciesDescription": "Description",
|
||||
"SW5E.SpeciesTraits": "Species Traits",
|
||||
"SW5E.StealthDisadvantage": "Stealth Disadvantage",
|
||||
|
|
|
@ -400,7 +400,8 @@
|
|||
|
||||
.tab.features,
|
||||
.tab.inventory,
|
||||
.tab.powerbook {
|
||||
.tab.force-powerbook,
|
||||
.tab.tech-powerbook {
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
.dropShadow1();
|
||||
}
|
||||
.sw5e.sheet.actor.character {
|
||||
min-width: 850px;
|
||||
min-width: 880px;
|
||||
min-height: 720px;
|
||||
}
|
||||
.sw5e.sheet .window-content {
|
||||
|
@ -258,8 +258,8 @@
|
|||
|
||||
nav.sheet-navigation {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(6, 1fr);
|
||||
column-gap: 16px;
|
||||
grid-template-columns: repeat(7, 1fr);
|
||||
column-gap: 8px;
|
||||
margin: 4px 0;
|
||||
|
||||
.item {
|
||||
|
@ -938,10 +938,11 @@
|
|||
grid-template-rows: 24px auto;
|
||||
}
|
||||
}
|
||||
.tab.powerbook {
|
||||
.tab.force-powerbook,
|
||||
.tab.tech-powerbook {
|
||||
.resource-items {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
column-gap: 12px;
|
||||
|
||||
.resource {
|
||||
|
@ -991,21 +992,21 @@
|
|||
}
|
||||
|
||||
&>.panel {
|
||||
grid-template-rows: 32px 24px 24px auto;
|
||||
grid-template-rows: 56px 32px 24px auto;
|
||||
}
|
||||
h3.power-dc {
|
||||
line-height: 24px;
|
||||
}
|
||||
.powercasting-ability {
|
||||
.force-powercasting-ability {
|
||||
display: grid;
|
||||
grid-template-columns: 2fr 1fr 1fr;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||
label, h3 {
|
||||
.russoOne(13px);
|
||||
border-bottom: none;
|
||||
}
|
||||
.power-dc {
|
||||
grid-column-start: 3;
|
||||
}
|
||||
// .power-dc {
|
||||
// grid-column-start: 3;
|
||||
// }
|
||||
}
|
||||
}
|
||||
.tab.biography {
|
||||
|
@ -1097,7 +1098,8 @@
|
|||
// }
|
||||
}
|
||||
}
|
||||
.tab.powerbook {
|
||||
.tab.force-powerbook,
|
||||
.tab.tech-powerbook {
|
||||
input.powercasting-level {
|
||||
width: 48px;
|
||||
}
|
||||
|
|
|
@ -382,7 +382,8 @@
|
|||
}
|
||||
|
||||
|
||||
.tab.powerbook {
|
||||
.tab.force-powerbook,
|
||||
.tab.tech-powerbook {
|
||||
.powercasting-ability {
|
||||
label,
|
||||
h3 {
|
||||
|
|
|
@ -21,7 +21,8 @@ export default class ActorSheet5e extends ActorSheet {
|
|||
*/
|
||||
this._filters = {
|
||||
inventory: new Set(),
|
||||
powerbook: new Set(),
|
||||
forcePowerbook: new Set(),
|
||||
techPowerbook: new Set(),
|
||||
features: new Set(),
|
||||
effects: new Set()
|
||||
};
|
||||
|
@ -35,7 +36,8 @@ export default class ActorSheet5e extends ActorSheet {
|
|||
scrollY: [
|
||||
".inventory .group-list",
|
||||
".features .group-list",
|
||||
".powerbook .group-list",
|
||||
".force-powerbook .group-list",
|
||||
".tech-powerbook .group-list",
|
||||
".effects .effects-list"
|
||||
],
|
||||
tabs: [{navSelector: ".tabs", contentSelector: ".sheet-body", initial: "description"}]
|
||||
|
|
|
@ -84,7 +84,7 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e {
|
|||
};
|
||||
|
||||
// Partition items by category
|
||||
let [items, powers, feats, classes, species, archetypes, classfeatures, backgrounds, fightingstyles, fightingmasteries, lightsaberforms] = data.items.reduce((arr, item) => {
|
||||
let [items, forcepowers, techpowers, feats, classes, species, archetypes, classfeatures, backgrounds, fightingstyles, fightingmasteries, lightsaberforms] = data.items.reduce((arr, item) => {
|
||||
|
||||
// Item details
|
||||
item.img = item.img || DEFAULT_TOKEN;
|
||||
|
@ -112,23 +112,25 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e {
|
|||
this._prepareItemToggleState(item);
|
||||
|
||||
// Classify items into types
|
||||
if ( item.type === "power" ) arr[1].push(item);
|
||||
else if ( item.type === "feat" ) arr[2].push(item);
|
||||
else if ( item.type === "class" ) arr[3].push(item);
|
||||
else if ( item.type === "species" ) arr[4].push(item);
|
||||
else if ( item.type === "archetype" ) arr[5].push(item);
|
||||
else if ( item.type === "classfeature" ) arr[6].push(item);
|
||||
else if ( item.type === "background" ) arr[7].push(item);
|
||||
else if ( item.type === "fightingstyle" ) arr[8].push(item);
|
||||
else if ( item.type === "fightingmastery" ) arr[9].push(item);
|
||||
else if ( item.type === "lightsaberform" ) arr[10].push(item);
|
||||
if ( item.type === "power" && ["lgt", "drk", "uni"].includes(item.data.school) ) arr[1].push(item);
|
||||
else if ( item.type === "power" && ["tec"].includes(item.data.school) ) arr[2].push(item);
|
||||
else if ( item.type === "feat" ) arr[3].push(item);
|
||||
else if ( item.type === "class" ) arr[4].push(item);
|
||||
else if ( item.type === "species" ) arr[5].push(item);
|
||||
else if ( item.type === "archetype" ) arr[6].push(item);
|
||||
else if ( item.type === "classfeature" ) arr[7].push(item);
|
||||
else if ( item.type === "background" ) arr[8].push(item);
|
||||
else if ( item.type === "fightingstyle" ) arr[9].push(item);
|
||||
else if ( item.type === "fightingmastery" ) arr[10].push(item);
|
||||
else if ( item.type === "lightsaberform" ) arr[11].push(item);
|
||||
else if ( Object.keys(inventory).includes(item.type ) ) arr[0].push(item);
|
||||
return arr;
|
||||
}, [[], [], [], [], [], [], [], [], [], [], []]);
|
||||
}, [[], [], [], [], [], [], [], [], [], [], [], []]);
|
||||
|
||||
// Apply active item filters
|
||||
items = this._filterItems(items, this._filters.inventory);
|
||||
powers = this._filterItems(powers, this._filters.powerbook);
|
||||
forcepowers = this._filterItems(forcepowers, this._filters.forcePowerbook);
|
||||
techpowers = this._filterItems(techpowers, this._filters.techPowerbook);
|
||||
feats = this._filterItems(feats, this._filters.features);
|
||||
|
||||
// Organize items
|
||||
|
@ -140,10 +142,8 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e {
|
|||
}
|
||||
|
||||
// Organize Powerbook and count the number of prepared powers (excluding always, at will, etc...)
|
||||
const powerbook = this._preparePowerbook(data, powers);
|
||||
const nPrepared = powers.filter(s => {
|
||||
return (s.data.level > 0) && (s.data.preparation.mode === "prepared") && s.data.preparation.prepared;
|
||||
}).length;
|
||||
const forcePowerbook = this._preparePowerbook(data, forcepowers);
|
||||
const techPowerbook = this._preparePowerbook(data, techpowers);
|
||||
|
||||
// Organize Features
|
||||
const features = {
|
||||
|
@ -174,8 +174,8 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e {
|
|||
|
||||
// Assign and return
|
||||
data.inventory = Object.values(inventory);
|
||||
data.powerbook = powerbook;
|
||||
data.preparedPowers = nPrepared;
|
||||
data.forcePowerbook = forcePowerbook;
|
||||
data.techPowerbook = techPowerbook;
|
||||
data.features = Object.values(features);
|
||||
}
|
||||
|
||||
|
|
|
@ -64,26 +64,6 @@ export default class Item5e extends Item {
|
|||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Is the Item a force power
|
||||
* @type {boolean}
|
||||
*/
|
||||
get isForcePower() {
|
||||
return ["lgt", "drk", "uni"].includes(this.data.data.school);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Is the Item a tech power
|
||||
* @type {boolean}
|
||||
*/
|
||||
get isTechPower() {
|
||||
return ["tec"].includes(this.data.data.school);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Does the Item implement an attack roll as part of its usage
|
||||
* @type {boolean}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import TraitSelector from "../apps/trait-selector.js";
|
||||
import {onManageActiveEffect, prepareActiveEffectCategories} from "../effects.js";
|
||||
import { onManageActiveEffect, prepareActiveEffectCategories } from "../effects.js";
|
||||
|
||||
/**
|
||||
* Override and extend the core ItemSheet implementation to handle specific item types
|
||||
|
@ -10,8 +10,8 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
super(...args);
|
||||
|
||||
// Expand the default size of the class sheet
|
||||
if ( this.object.data.type === "class" ) {
|
||||
this.options.width = this.position.width = 600;
|
||||
if (this.object.data.type === "class") {
|
||||
this.options.width = this.position.width = 600;
|
||||
this.options.height = this.position.height = 680;
|
||||
}
|
||||
}
|
||||
|
@ -19,14 +19,14 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
width: 560,
|
||||
height: 400,
|
||||
classes: ["sw5e", "sheet", "item"],
|
||||
resizable: true,
|
||||
scrollY: [".tab.details"],
|
||||
tabs: [{navSelector: ".tabs", contentSelector: ".sheet-body", initial: "description"}]
|
||||
tabs: [{ navSelector: ".tabs", contentSelector: ".sheet-body", initial: "description" }]
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -55,17 +55,17 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
// Potential consumption targets
|
||||
data.abilityConsumptionTargets = this._getItemConsumptionTargets(data.item);
|
||||
|
||||
// Action Details
|
||||
// Action Detail
|
||||
data.hasAttackRoll = this.item.hasAttack;
|
||||
data.isHealing = data.item.data.actionType === "heal";
|
||||
data.isFlatDC = getProperty(data.item.data, "save.scaling") === "flat";
|
||||
data.isLine = ["line", "wall"].includes(data.item.data.target?.type);
|
||||
|
||||
// Original maximum uses formula
|
||||
if ( this.item._data.data?.uses?.max ) data.data.uses.max = this.item._data.data.uses.max;
|
||||
if (this.item._data.data?.uses?.max) data.data.uses.max = this.item._data.data.uses.max;
|
||||
|
||||
// Vehicles
|
||||
data.isCrewed = data.item.data.activation?.type === 'crew';
|
||||
data.isCrewed = data.item.data.activation?.type === "crew";
|
||||
data.isMountable = this._isItemMountable(data.item);
|
||||
|
||||
// Prepare Active Effects
|
||||
|
@ -83,22 +83,25 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
*/
|
||||
_getItemConsumptionTargets(item) {
|
||||
const consume = item.data.consume || {};
|
||||
if ( !consume.type ) return [];
|
||||
if (!consume.type) return [];
|
||||
const actor = this.item.actor;
|
||||
if ( !actor ) return {};
|
||||
if (!actor) return {};
|
||||
|
||||
// Ammunition
|
||||
if ( consume.type === "ammo" ) {
|
||||
return actor.itemTypes.consumable.reduce((ammo, i) => {
|
||||
if ( i.data.data.consumableType === "ammo" ) {
|
||||
ammo[i.id] = `${i.name} (${i.data.data.quantity})`;
|
||||
}
|
||||
return ammo;
|
||||
}, {[item._id]: `${item.name} (${item.data.quantity})`});
|
||||
if (consume.type === "ammo") {
|
||||
return actor.itemTypes.consumable.reduce(
|
||||
(ammo, i) => {
|
||||
if (i.data.data.consumableType === "ammo") {
|
||||
ammo[i.id] = `${i.name} (${i.data.data.quantity})`;
|
||||
}
|
||||
return ammo;
|
||||
},
|
||||
{ [item._id]: `${item.name} (${item.data.quantity})` }
|
||||
);
|
||||
}
|
||||
|
||||
// Attributes
|
||||
else if ( consume.type === "attribute" ) {
|
||||
else if (consume.type === "attribute") {
|
||||
const attributes = Object.values(CombatTrackerConfig.prototype.getAttributeChoices())[0]; // Bit of a hack
|
||||
return attributes.reduce((obj, a) => {
|
||||
obj[a] = a;
|
||||
|
@ -107,9 +110,9 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
}
|
||||
|
||||
// Materials
|
||||
else if ( consume.type === "material" ) {
|
||||
else if (consume.type === "material") {
|
||||
return actor.items.reduce((obj, i) => {
|
||||
if ( ["consumable", "loot"].includes(i.data.type) && !i.data.data.activation ) {
|
||||
if (["consumable", "loot"].includes(i.data.type) && !i.data.data.activation) {
|
||||
obj[i.id] = `${i.name} (${i.data.data.quantity})`;
|
||||
}
|
||||
return obj;
|
||||
|
@ -117,25 +120,24 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
}
|
||||
|
||||
// Charges
|
||||
else if ( consume.type === "charges" ) {
|
||||
else if (consume.type === "charges") {
|
||||
return actor.items.reduce((obj, i) => {
|
||||
|
||||
// Limited-use items
|
||||
const uses = i.data.data.uses || {};
|
||||
if ( uses.per && uses.max ) {
|
||||
const label = uses.per === "charges" ?
|
||||
` (${game.i18n.format("SW5E.AbilityUseChargesLabel", {value: uses.value})})` :
|
||||
` (${game.i18n.format("SW5E.AbilityUseConsumableLabel", {max: uses.max, per: uses.per})})`;
|
||||
if (uses.per && uses.max) {
|
||||
const label =
|
||||
uses.per === "charges"
|
||||
? ` (${game.i18n.format("SW5E.AbilityUseChargesLabel", { value: uses.value })})`
|
||||
: ` (${game.i18n.format("SW5E.AbilityUseConsumableLabel", { max: uses.max, per: uses.per })})`;
|
||||
obj[i.id] = i.name + label;
|
||||
}
|
||||
|
||||
// Recharging items
|
||||
const recharge = i.data.data.recharge || {};
|
||||
if ( recharge.value ) obj[i.id] = `${i.name} (${game.i18n.format("SW5E.Recharge")})`;
|
||||
if (recharge.value) obj[i.id] = `${i.name} (${game.i18n.format("SW5E.Recharge")})`;
|
||||
return obj;
|
||||
}, {})
|
||||
}
|
||||
else return {};
|
||||
}, {});
|
||||
} else return {};
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -146,13 +148,11 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
* @private
|
||||
*/
|
||||
_getItemStatus(item) {
|
||||
if ( item.type === "power" ) {
|
||||
if (item.type === "power") {
|
||||
return CONFIG.SW5E.powerPreparationModes[item.data.preparation];
|
||||
}
|
||||
else if ( ["weapon", "equipment"].includes(item.type) ) {
|
||||
} else if (["weapon", "equipment"].includes(item.type)) {
|
||||
return game.i18n.localize(item.data.equipped ? "SW5E.Equipped" : "SW5E.Unequipped");
|
||||
}
|
||||
else if ( item.type === "tool" ) {
|
||||
} else if (item.type === "tool") {
|
||||
return game.i18n.localize(item.data.proficient ? "SW5E.Proficient" : "SW5E.NotProficient");
|
||||
}
|
||||
}
|
||||
|
@ -168,67 +168,50 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
const props = [];
|
||||
const labels = this.item.labels;
|
||||
|
||||
if ( item.type === "weapon" ) {
|
||||
props.push(...Object.entries(item.data.properties)
|
||||
.filter(e => e[1] === true)
|
||||
.map(e => CONFIG.SW5E.weaponProperties[e[0]]));
|
||||
}
|
||||
|
||||
else if ( item.type === "power" ) {
|
||||
if (item.type === "weapon") {
|
||||
props.push(
|
||||
...Object.entries(item.data.properties)
|
||||
.filter((e) => e[1] === true)
|
||||
.map((e) => CONFIG.SW5E.weaponProperties[e[0]])
|
||||
);
|
||||
} else if (item.type === "power") {
|
||||
props.push(
|
||||
labels.components,
|
||||
labels.materials,
|
||||
item.data.components.concentration ? game.i18n.localize("SW5E.Concentration") : null,
|
||||
item.data.components.ritual ? game.i18n.localize("SW5E.Ritual") : null
|
||||
)
|
||||
}
|
||||
|
||||
else if ( item.type === "equipment" ) {
|
||||
);
|
||||
} else if (item.type === "equipment") {
|
||||
props.push(CONFIG.SW5E.equipmentTypes[item.data.armor.type]);
|
||||
props.push(labels.armor);
|
||||
} else if (item.type === "feat") {
|
||||
props.push(labels.featType);
|
||||
} else if (item.type === "species") {
|
||||
//props.push(labels.species);
|
||||
} else if (item.type === "archetype") {
|
||||
//props.push(labels.archetype);
|
||||
} else if (item.type === "background") {
|
||||
//props.push(labels.background);
|
||||
} else if (item.type === "classfeature") {
|
||||
//props.push(labels.classfeature);
|
||||
} else if (item.type === "fightingmastery") {
|
||||
//props.push(labels.fightingmastery);
|
||||
} else if (item.type === "fightingstyle") {
|
||||
//props.push(labels.fightingstyle);
|
||||
} else if (item.type === "lightsaberform") {
|
||||
//props.push(labels.lightsaberform);
|
||||
}
|
||||
|
||||
else if ( item.type === "feat" ) {
|
||||
props.push(labels.featType);
|
||||
}
|
||||
|
||||
else if ( item.type === "species" ) {
|
||||
//props.push(labels.species);
|
||||
}
|
||||
else if ( item.type === "archetype" ) {
|
||||
//props.push(labels.archetype);
|
||||
}
|
||||
else if ( item.type === "background" ) {
|
||||
//props.push(labels.background);
|
||||
}
|
||||
else if ( item.type === "classfeature" ) {
|
||||
//props.push(labels.classfeature);
|
||||
}
|
||||
else if ( item.type === "fightingmastery" ) {
|
||||
//props.push(labels.fightingmastery);
|
||||
}
|
||||
else if ( item.type === "fightingstyle" ) {
|
||||
//props.push(labels.fightingstyle);
|
||||
}
|
||||
else if ( item.type === "lightsaberform" ) {
|
||||
//props.push(labels.lightsaberform);
|
||||
}
|
||||
|
||||
// Action type
|
||||
if ( item.data.actionType ) {
|
||||
if (item.data.actionType) {
|
||||
props.push(CONFIG.SW5E.itemActionTypes[item.data.actionType]);
|
||||
}
|
||||
|
||||
// Action usage
|
||||
if ( (item.type !== "weapon") && item.data.activation && !isObjectEmpty(item.data.activation) ) {
|
||||
props.push(
|
||||
labels.activation,
|
||||
labels.range,
|
||||
labels.target,
|
||||
labels.duration
|
||||
)
|
||||
if (item.type !== "weapon" && item.data.activation && !isObjectEmpty(item.data.activation)) {
|
||||
props.push(labels.activation, labels.range, labels.target, labels.duration);
|
||||
}
|
||||
return props.filter(p => !!p);
|
||||
return props.filter((p) => !!p);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -243,36 +226,37 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
*/
|
||||
_isItemMountable(item) {
|
||||
const data = item.data;
|
||||
return (item.type === 'weapon' && data.weaponType === 'siege')
|
||||
|| (item.type === 'equipment' && data.armor.type === 'vehicle');
|
||||
return (
|
||||
(item.type === "weapon" && data.weaponType === "siege") ||
|
||||
(item.type === "equipment" && data.armor.type === "vehicle")
|
||||
);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
setPosition(position={}) {
|
||||
if ( !(this._minimized || position.height) ) {
|
||||
position.height = (this._tabs[0].active === "details") ? "auto" : this.options.height;
|
||||
setPosition(position = {}) {
|
||||
if (!(this._minimized || position.height)) {
|
||||
position.height = this._tabs[0].active === "details" ? "auto" : this.options.height;
|
||||
}
|
||||
return super.setPosition(position);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Form Submission */
|
||||
/* -------------------------------------------- */
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
_getSubmitData(updateData={}) {
|
||||
|
||||
_getSubmitData(updateData = {}) {
|
||||
// Create the expanded update data object
|
||||
const fd = new FormDataExtended(this.form, {editors: this.editors});
|
||||
const fd = new FormDataExtended(this.form, { editors: this.editors });
|
||||
let data = fd.toObject();
|
||||
if ( updateData ) data = mergeObject(data, updateData);
|
||||
if (updateData) data = mergeObject(data, updateData);
|
||||
else data = expandObject(data);
|
||||
|
||||
// Handle Damage array
|
||||
const damage = data.data?.damage;
|
||||
if ( damage ) damage.parts = Object.values(damage?.parts || {}).map(d => [d[0] || "", d[1] || ""]);
|
||||
if (damage) damage.parts = Object.values(damage?.parts || {}).map((d) => [d[0] || "", d[1] || ""]);
|
||||
|
||||
// Return the flattened submission data
|
||||
return flattenObject(data);
|
||||
|
@ -283,12 +267,15 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
if ( this.isEditable ) {
|
||||
if (this.isEditable) {
|
||||
html.find(".damage-control").click(this._onDamageControl.bind(this));
|
||||
html.find('.trait-selector.class-skills').click(this._onConfigureClassSkills.bind(this));
|
||||
html.find(".effect-control").click(ev => {
|
||||
if ( this.item.isOwned ) return ui.notifications.warn("Managing Active Effects within an Owned Item is not currently supported and will be added in a subsequent update.")
|
||||
onManageActiveEffect(ev, this.item)
|
||||
html.find(".trait-selector.class-skills").click(this._onConfigureClassSkills.bind(this));
|
||||
html.find(".effect-control").click((ev) => {
|
||||
if (this.item.isOwned)
|
||||
return ui.notifications.warn(
|
||||
"Managing Active Effects within an Owned Item is not currently supported and will be added in a subsequent update."
|
||||
);
|
||||
onManageActiveEffect(ev, this.item);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -306,19 +293,19 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
const a = event.currentTarget;
|
||||
|
||||
// Add new damage component
|
||||
if ( a.classList.contains("add-damage") ) {
|
||||
await this._onSubmit(event); // Submit any unsaved changes
|
||||
if (a.classList.contains("add-damage")) {
|
||||
await this._onSubmit(event); // Submit any unsaved changes
|
||||
const damage = this.item.data.data.damage;
|
||||
return this.item.update({"data.damage.parts": damage.parts.concat([["", ""]])});
|
||||
return this.item.update({ "data.damage.parts": damage.parts.concat([["", ""]]) });
|
||||
}
|
||||
|
||||
// Remove a damage component
|
||||
if ( a.classList.contains("delete-damage") ) {
|
||||
await this._onSubmit(event); // Submit any unsaved changes
|
||||
if (a.classList.contains("delete-damage")) {
|
||||
await this._onSubmit(event); // Submit any unsaved changes
|
||||
const li = a.closest(".damage-part");
|
||||
const damage = duplicate(this.item.data.data.damage);
|
||||
damage.parts.splice(Number(li.dataset.damagePart), 1);
|
||||
return this.item.update({"data.damage.parts": damage.parts});
|
||||
return this.item.update({ "data.damage.parts": damage.parts });
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -341,19 +328,19 @@ export default class ItemSheet5e extends ItemSheet {
|
|||
name: a.dataset.target,
|
||||
title: label.innerText,
|
||||
choices: Object.entries(CONFIG.SW5E.skills).reduce((obj, e) => {
|
||||
if ( choices.includes(e[0] ) ) obj[e[0]] = e[1];
|
||||
if (choices.includes(e[0])) obj[e[0]] = e[1];
|
||||
return obj;
|
||||
}, {}),
|
||||
minimum: skills.number,
|
||||
maximum: skills.number
|
||||
}).render(true)
|
||||
}).render(true);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
async _onSubmit(...args) {
|
||||
if ( this._tabs[0].active === "details" ) this.position.height = "auto";
|
||||
if (this._tabs[0].active === "details") this.position.height = "auto";
|
||||
await super._onSubmit(...args);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -288,7 +288,7 @@ function _migrateActorPowers(actorData, updateData) {
|
|||
}
|
||||
|
||||
// If new Power F/T split data is not present, create it
|
||||
const hasNewBonus = ad?.powers?.power1?.fvalue !== undefined;
|
||||
let hasNewBonus = ad?.powers?.power1?.fvalue !== undefined;
|
||||
if ( !hasNewBonus ) {
|
||||
for (let i = 1; i <= 9; i++) {
|
||||
// add new
|
||||
|
@ -302,7 +302,7 @@ function _migrateActorPowers(actorData, updateData) {
|
|||
}
|
||||
}
|
||||
// If new Bonus Power DC data is not present, create it
|
||||
const hasNewBonus = ad?.bonuses?.power?.forceLightDC !== undefined;
|
||||
hasNewBonus = ad?.bonuses?.power?.forceLightDC !== undefined;
|
||||
if ( !hasNewBonus ) {
|
||||
updateData["data.bonuses.power.forceLightDC"] = "";
|
||||
updateData["data.bonuses.power.forceDarkDC"] = "";
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
{"_id":"NrMpYXddHnoPKHT2","name":"Force Lightning Cone","permission":{"default":0,"9BhUyjgxIxogl2ot":3},"type":"power","data":{"description":{"value":"<p>Lightning arcs from your hands. Each creature in a 60-foot cone must make a Dexterity saving throw. A creatures takes 12d6 lightning damage on a failed save, or half as much on a successful one.</p>\n<p>Force Potency. When you cast this power using a force slot of 8th level or higher, the damage increases by 2d6 for each slot level above 7th.</p>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":60,"units":"ft","type":"cone"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":0,"per":""},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[["12d6","lightning"]],"versatile":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"power"},"level":7,"school":"drk","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":"2d6"},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"consume":{"type":"","target":"","amount":null}},"flags":{},"img":"systems/sw5e/packs/Icons/Force%20Powers/Force%20Lightning%20Cone.webp"}
|
||||
{"_id":"Ns34rjyKzqeydYBH","name":"Sense Emotion","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>You attune your senses to pick up the emotions of others for the duration. When you cast the power, and as your action on each turn until the power ends, you can focus your senses on one humanoid you can see within 30 feet of you. You instantly learn the target’s prevailing emotion, whether it’s love, anger, pain, fear, calm, or something else. If the target isn’t actually humanoid or it is immune to being charmed, you sense that it is calm.</p>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":0,"per":""},"ability":null,"actionType":"","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":1,"school":"uni","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":null,"prepared":true},"scaling":{"mode":"none","formula":""},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]}},"flags":{},"img":"icons/svg/mystery-man.svg"}
|
||||
{"_id":"O5J8TTpTW7eHLDgG","name":"Sense Force","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>For the duration, you sense the use of the Force, or its presence in an inanimate object within 30 feet of you. If you sense the Force in this way, you can use your action to determine the direction from which it originates and, if it’s in line of sight, you see a faint aura around the person or object from which the Force emanates.</p>\n<p>Force Potency. When you cast this power using a 3rd-level force slot, the range increases to 60 feet. When you use a 5th-level force slot, the range increases to 500 feet. When you use a 7th-level force slot, the range increases to 1 mile. When you use a 9th-level force slot, the range increases to 10 miles.</p>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"units":null,"type":"self"},"range":{"value":30,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"ability":null,"actionType":"","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":1,"school":"uni","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":null,"prepared":true},"scaling":{"mode":"none","formula":""},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]}},"flags":{},"img":"icons/svg/mystery-man.svg"}
|
||||
{"_id":"OGLh7pBroWR6te2k","name":"Armor of Abeloth","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>A protective force surrounds you, manifesting as shimmering light that covers you and your gear. You gain 5 temporary hit points for the duration. If a creature hits you with a melee attack while you have these hit points, the creature takes 5 psychic damage.</p>\n<p>Force Potency. When you cast this power using a force slot of 2nd level or higher, both the temporary hit points and the psychic damage increase by 5 for each slot.</p>","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":null,"units":null,"type":"self"},"range":{"value":null,"long":null,"units":""},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":1,"school":"drk","components":{"value":"","concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation": {"mode": "prepared", "prepared": false},"scaling":{"mode":"none","formula":""},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Force%20Powers/Armor%20of%20Abeloth.webp"}
|
||||
{"_id":"OGLh7pBroWR6te2k","name":"Armor of Abeloth","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>A protective force surrounds you, manifesting as shimmering light that covers you and your gear. You gain 5 temporary hit points for the duration. If a creature hits you with a melee attack while you have these hit points, the creature takes 5 psychic damage.</p>\n<p>Force Potency. When you cast this power using a force slot of 2nd level or higher, both the temporary hit points and the psychic damage increase by 5 for each slot.</p>","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":null,"units":null,"type":"self"},"range":{"value":null,"long":null,"units":""},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":1,"school":"drk","components":{"value":"","concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Force%20Powers/Armor%20of%20Abeloth.webp"}
|
||||
{"_id":"OYQAqS6rjVy6o5Oa","name":"Kill","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>You compel one creature you can see within range to die instantly. If the creature you choose has 100 hit points or fewer, it dies. Otherwise, the power has no effect.</p>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":"Have Ruin Power"},"duration":{"value":null,"units":"inst"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":60,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"Have over 100 HP left or Die!","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":9,"school":"drk","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":null,"prepared":false},"scaling":{"mode":"none","formula":""},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"consume":{"type":"","target":"","amount":null}},"flags":{},"img":"systems/sw5e/packs/Icons/Force%20Powers/Kill.webp"}
|
||||
{"_id":"Oxb3dpusa4SmIKQd","name":"Improved Battle Meditation","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>You exude an aura out to 15 feet that boosts the morale and overall battle prowess you and your allies while simultaneously reducing the opposition’s combat-effectiveness by eroding their will to fight.</p>\n<p>Whenever you or a friendly creature within your meditation makes an attack roll or a saving throw, they can roll a d6 and add the number rolled to the attack roll or saving throw.</p>\n<p>Whenever a hostile creature enters your meditation or starts its turn there, it must make a Charisma saving throw. On a failed save, it must roll a d6 and subtract the number rolled from each attack roll or saving throw it makes before the end of your next turn. On a successful save, it is immune to this power for 1 day.</p>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":15,"units":"ft","type":"radius"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":0,"per":""},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"1d6","save":{"ability":"","dc":null,"scaling":"power"},"level":5,"school":"uni","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":null,"prepared":true},"scaling":{"mode":"none","formula":""},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"consume":{"type":"","target":"","amount":null}},"flags":{},"img":"systems/sw5e/packs/Icons/Force%20Powers/Improved%20Battle%20Meditation.webp"}
|
||||
{"_id":"PUHY0RrLsi4tAnZx","name":"Force Sight","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>You shift your vision to see through use of the Force; colors fade and inanimate objects appear as shades of gray. You gain the following benefits.</p>\n<ul>\n<li>Living things glow with the power of the Force. Those with an affinity for the light side glow blue, those with an affinity for the dark side glow red, and those with no attunement to either side of the Force glow yellow. How bright they glow is determined by how strong their connection to the Force is.</li>\n<li>You gain blindsight to 30 feet.</li>\n<li>You have advantage on Wisdom (Perception) checks that rely on sight against living targets within 30 feet.</li>\n</ul>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":null,"units":null,"type":"self"},"range":{"value":null,"long":null,"units":""},"uses":{"value":0,"max":0,"per":""},"ability":null,"actionType":"","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":2,"school":"uni","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":null,"prepared":true},"scaling":{"mode":"none","formula":""},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]}},"flags":{},"img":"icons/svg/mystery-man.svg"}
|
||||
|
@ -143,7 +143,7 @@
|
|||
{"_id":"bzvLe859r7CDWFIv","name":"Force Throw","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>You use the Force to move a Large or smaller creature or object not being worn or carried within range. The target must make a Strength saving throw. An object automatically fails this saving throw. On a failed save, the creature or object moves a number of feet in a direction of your choice based on its size. A Tiny creature or object can be moved up to 90 feet, a Small creature or object can be moved up to 60 feet, a Medium creature or object can be moved up to 30 feet, and a Large creature or object can be moved up to 10 feet. If at the end of this movement the creature or object strikes another creature or object, they both take 2d8 force damage.</p>\n<p>Force Potency. When you cast this power using a force slot of 3rd level or higher, the range you can throw a creature or object increases by 10 feet, to a maximum of 90 feet, and the power’s damage increases by 1d8.</p>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":90,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[["2d8","force"]],"versatile":""},"formula":"","save":{"ability":"str","dc":null,"scaling":"power"},"level":2,"school":"uni","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":null,"prepared":false},"scaling":{"mode":"level","formula":"1d8"},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"consume":{"type":"","target":"","amount":null}},"flags":{},"img":"icons/svg/mystery-man.svg"}
|
||||
{"name":"Rebuke","permission":{"default":0,"XA86Wm4MjngMySbc":3},"type":"power","data":{"description":{"value":"<p>You strike a creature with the righteous fury of the Force. Make a melee force attack against the target, if the attack hits, the target takes force damage depending on its alignment: a dark-aligned creature takes 1d12 force damage, a balanced creature takes 1d10 force damage, and a light-aligned creature takes 1d8 force damage.</p>\n<p>The power’s damage increases by one die when you reach 5th, 11th, and 17th level.</p>","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":1,"units":"","type":"cone"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"mpak","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[["",""]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":0,"school":"lgt","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"atwill","formula":""}},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"c9J29IH07qQQToFm"}
|
||||
{"_id":"cCTaCxvsBcbEvbw2","name":"Saber Throw","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>As a part of the action used to cast this power, you must make a ranged force attack with a lightweapon or vibroweapon against one target within the power’s range, otherwise the power fails. On a hit, the target takes 1d8 damage of the same type as the weapon’s damage. The weapon then immediately returns to your hand.</p>\n<p>This power can hit multiple targets when you reach higher levels: two targets at 5th level, three targets at 11th level, and four targets at 17th level. Each target must be within 30 feet of the previous target, you must make a separate attack roll for each target, and the last target must be no further than 30 feet away from you. You can not hit the same target twice in succession.</p>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":1,"units":"any","type":"object"},"range":{"value":30,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"ability":"","actionType":"rpak","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[["1d8",""]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":0,"school":"uni","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":null,"prepared":false},"scaling":{"mode":"atwill","formula":"1 additional target"},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"consume":{"type":"","target":"","amount":null}},"flags":{},"img":"systems/sw5e/packs/Icons/Force%20Powers/Saber%20Throw.webp"}
|
||||
{"_id":"cM4TP2daTOU7tUv3","name":"Dark Aura","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>You manifest a mantle of malevolent dark side energy to a radius of 15 feet. Each creature who enters this aura or starts its turn there must make a Wisdom saving throw. On a failed save, a creature takes 3d8 necrotic damage and has its speed reduced by half. On a succesful save, a creatures takes half as much damage and isn’t slowed.</p>\n<p>Force Potency. When you cast this power using a force slot of 4th level or higher, the damage increases by 1d8 for each slot level above 3rd.</p>","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":15,"units":"ft","type":"radius"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[["3d8","necrotic"]],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"power"},"level":3,"school":"drk","components":{"value":"","concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation": {"mode": "prepared", "prepared": false},"scaling":{"mode":"level","formula":"1d8"},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Force%20Powers/Dark%20Aura.webp"}
|
||||
{"_id":"cM4TP2daTOU7tUv3","name":"Dark Aura","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>You manifest a mantle of malevolent dark side energy to a radius of 15 feet. Each creature who enters this aura or starts its turn there must make a Wisdom saving throw. On a failed save, a creature takes 3d8 necrotic damage and has its speed reduced by half. On a succesful save, a creatures takes half as much damage and isn’t slowed.</p>\n<p>Force Potency. When you cast this power using a force slot of 4th level or higher, the damage increases by 1d8 for each slot level above 3rd.</p>","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":15,"units":"ft","type":"radius"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"save","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[["3d8","necrotic"]],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"power"},"level":3,"school":"drk","components":{"value":"","concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"level","formula":"1d8"},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Force%20Powers/Dark%20Aura.webp"}
|
||||
{"name":"Force Whisper","permission":{"default":0,"XA86Wm4MjngMySbc":3},"type":"power","data":{"description":{"value":"<p>You use the Force to carry a message in your voice to another creature within range. The target (and only the target) hears the message and can reply in a whisper that only you can hear.</p>\n<p>You can cast this power through solid objects if you are familiar with the target and know it is beyond the barrier. An enhanced silence effect, 1 foot of stone, 1 inch of common metal, a thin sheet of lead, or 3 feet of wood blocks the power. The power doesn’t have to follow a straight line and can travel freely around corners or through openings.</p>","chat":"","unidentified":""},"source":"","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"round"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":120,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":null,"actionType":"","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":0,"school":"uni","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"cVtuZmIOHV6sW8Yc"}
|
||||
{"_id":"d3nRwoHE7vUvWqG0","name":"Force Breach","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>Choose a spot within range. All force powers of 5th level or lower in the area end. For each force power of 6th level or higher in the area, make an ability check using your forcecasting ability. The DC equals 10 + the power’s level. On a successful check, the force power ends.</p>\n<p>Force Potency. When you cast this power using a force slot of 6th level or higher, you automatically end the effects of a force power on the target if the power’s level is equal to or less than the level of the force slot you used.</p>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":"inst"},"target":{"value":20,"units":"ft","type":"cube"},"range":{"value":120,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"ability":"","actionType":"abil","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":5,"school":"uni","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":null,"prepared":false},"scaling":{"mode":"none","formula":""},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"consume":{"type":"","target":"","amount":null}},"flags":{},"img":"systems/sw5e/packs/Icons/Force%20Powers/Force%20Breach.webp"}
|
||||
{"_id":"di7rHBW59w6cS1WM","name":"Force Enlightenment","permission":{"default":0,"00LEX91CfLcf3HGf":3},"type":"power","data":{"description":{"value":"<p>You touch a creature and enhance it with the Force. Choose one of the following effects; the target gains that effect until the power ends.</p>\n<ul>\n<li>Endurance. The target has advantage on Constitution checks. It also gains 2d6 temporary hit points, which are lost when the power ends.</li>\n<li>Strength. The target has advantage on Strength checks, and his or her carrying capacity doubles.</li>\n<li>Dexterity. The target has advantage on Dexterity checks. It also doesn’t take damage from falling 20 feet or less if it isn’t incapacitated.</li>\n<li>Splendor. The target has advantage on Charisma checks.</li>\n<li>Cunning. The target has advantage on Intelligence checks.</li>\n<li>Wisdom. The target has advantage on Wisdom checks.</li>\n</ul>\n<p>Force Potency. When you cast this power using a force slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.</p>","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"ability":null,"actionType":"","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":2,"school":"lgt","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":null,"prepared":true},"scaling":{"mode":"level","formula":"1 additional creature"},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]}},"flags":{},"img":"icons/svg/mystery-man.svg"}
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
{"_id":"DXdtjkn0Zg8JP8YT","name":"Truth Serum","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You administer a poison to a creature you touched that prevents it from telling lies. The creature touched must make a Constitution saving throw. On a success, nothing happens. On a failure, the creature can't speak a deliberate lie until the power ends.</p>\n<p>An affected creature is aware of the power and can thus avoid answering questions to which it would normally respond with a lie. Such a creature can be evasive in its answers as long as it remains within the boundaries of the truth.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":10,"units":"minute"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"power"},"level":2,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/TruthSerum.webp"}
|
||||
{"_id":"DjrO5bCUnUHA71jA","name":"Ion Blast","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You create a blast of ion energy. Choose one creature within range, or choose two creatures within range that are within 5 feet of each other. A target must succeed on a Dexterity saving throw or take 1d4 ion damage.</p>\n<p>This power's damage increases by 1d4 when you reach 5th level (2d4), 11th level (3d4), and 17th level (4d4).</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":60,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[["1d4","ion"]],"versatile":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/IonBlast.webp"}
|
||||
{"_id":"E6OviwnCfEjRTx3X","name":"On/Off","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>This power allows you to activate or deactivate any electronic device within range, as long as the device is not being wielded by a creature, and has a clearly defined on or off function that can be easily accessed from the outside of the device. Any device that requires a software-based shutdown sequence to activate or deactivate cannot be affected by <em>on/off</em>.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"object"},"range":{"value":60,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/OnOff.webp"}
|
||||
{"_id":"F4Q7jJ2ssAKfNHw0","name":"Disintegrate","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>A blast of corrosive energy emits from you. Choose a target within range.</p>\n<p>A creature targeted by this power must make a Dexterity saving throw. On a failed save, the target takes 10d6 + 40 acid damage. If this damage reduces the target to 0 hit points, it is disintegrated.</p>\n<p>A disintegrated creature and everything it is wearing and carrying are reduced to a pile of fine gray dust. A creature destroyed in this way can not be revitalized.</p>\n<p>This power automatically disintegrates a Large or smaller object. If the target is a Huge or larger object, this power disintegrates a 10-foot-cube portion of it.</p>\n<p><em><strong>Overcharge Tech.</strong></em> When you cast this power using a tech slot of 7th level or higher, the damage increases by 3d6 for each slot level above 6th.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":60,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[["10d6 + 40","acid"]],"versatile":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"power"},"level":6,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Disintegrate.webp"}
|
||||
{"_id":"F4Q7jJ2ssAKfNHw0","name":"Disintegrate","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>A blast of corrosive energy emits from you. Choose a target within range.</p>\n<p>A creature targeted by this power must make a Dexterity saving throw. On a failed save, the target takes 10d6 + 40 acid damage. If this damage reduces the target to 0 hit points, it is disintegrated.</p>\n<p>A disintegrated creature and everything it is wearing and carrying are reduced to a pile of fine gray dust. A creature destroyed in this way can not be revitalized.</p>\n<p>This power automatically disintegrates a Large or smaller object. If the target is a Huge or larger object, this power disintegrates a 10-foot-cube portion of it.</p>\n<p><em><strong>Overcharge Tech.</strong></em> When you cast this power using a tech slot of 7th level or higher, the damage increases by 3d6 for each slot level above 6th.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":60,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[["10d6 + 40","acid"]],"versatile":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"power"},"level":6,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Disintegrate.webp","effects":[]}
|
||||
{"_id":"F9vT2fmmbLjQJcWv","name":"Magnetic Hold","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>Until the power ends, one willing creature you touch gains the ability affix itself to and move along any metallic surface. It can move up, down, and across vertical surfaces and upside down along ceilings, all while leaving its hands free, at its normal walking speed.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":2,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/MagneticHold.webp"}
|
||||
{"_id":"Fb1sIhs7d6YWnF1J","name":"Infiltrate","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>A creature you touch becomes invisible. Anything the target is carrying is invisible as long as it is on the target. The power ends if the target attacks or casts a power.</p>\n<p><em><strong>Overcharge Tech.</strong></em> You can target one additional creature for each slot level above 2nd.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":2,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Infiltrate.webp"}
|
||||
{"_id":"FsF2hPZPp4Vuo1BD","name":"Find the Path","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>This power calculates out the shortest, most direct physical route to a specific fixed location that you are familiar with on the same planet. If you name a destination that moves (such as a mobile fortress), or a destination that isn't specific (such as "a Black Sun lair"), the power fails.</p>\n<p>For the duration, as long as you are on the same planet as the destination, you know how far it is and in what direction it lies. While you are traveling there, whenever you are presented with a choice of paths along the way, you automatically determine which path is the shortest and most direct route (but not necessarily the safest route) to the destination.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"minute","cost":1,"condition":""},"duration":{"value":1,"units":"day"},"target":{"value":null,"units":"","type":"self"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":6,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Findthe%20Path.webp"}
|
||||
|
@ -104,10 +104,10 @@
|
|||
{"_id":"SZHMFvx9mkPSwUli","name":"Mass Repair Droid","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>Choose up to six droids or constructs in a 30-foot-radius sphere centered on a point. Each target regains hit points equal to 3d8 + your techcasting ability modifier. This power only effects droids and constructs.</p>\n<p><em><strong>Overcharge Tech.</strong></em> When you cast this power using a tech slot of 6th level or higher, the healing increases by 1d8 for each slot level above 5th.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":30,"units":"ft","type":"radius"},"range":{"value":60,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"heal","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[["3d8 + @abilities.int.mod","healing"]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":5,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/MassRepair%20Droid.webp"}
|
||||
{"_id":"T9yaDZKiKSX8zFud","name":"Temporary Boost","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You touch one willing creature. Once before the power ends, the target can roll a d4 and add the number rolled to one ability check of its choice. It can roll the die before or after making the ability check. The power then ends.</p>\n<p>This power's die increases at higher levels: to a d6 at 5th level, a d8 at 11th level, and a d10 at 17th level.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/TemporaryBoost.webp"}
|
||||
{"_id":"TpJV9QdBqbnL7aLQ","name":"Debilitating Gas","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You create a 20-foot-radius sphere of gas centered on a point. The cloud spreads around corners and its area is heavily obscured. It lingers in the air for the duration.</p>\n<p>Each creature completely in the cloud at the start of its turn must make a Constitution save against poison. On a failure, the creature does nothing that turn. Creatures that don't need to breathe or are immune to poison automatically succeed.</p>\n<p>A wind of 10mph disperses the cloud after 4 rounds. A wind of 20mph disperses it after 1 round.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":20,"units":"ft","type":"radius"},"range":{"value":90,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"power"},"level":3,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/DebilitatingGas.webp"}
|
||||
{"name":"Electroshock","type":"power","data":{"description":{"value":"<p>Lightning springs from you to deliver a shock to a creature you try to touch. Make a melee tech attack against the target. You have advantage on the attack roll if the target is made of metal or wearing armor made of metal. On a hit, the target takes 1d8 lightning damage and becomes shocked until the start of its next turn.</p>\n<p>This power's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8).</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":"Instantaneous"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":null},"consume":{"type":"","target":null,"amount":null},"ability":"int","actionType":"rpak","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Electroshock.webp","_id":"UACmTGjhcYjQyLj3"}
|
||||
{"_id":"UACmTGjhcYjQyLj3","name":"Electroshock","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>Lightning springs from you to deliver a shock to a creature you try to touch. Make a melee tech attack against the target. You have advantage on the attack roll if the target is made of metal or wearing armor made of metal. On a hit, the target takes 1d8 lightning damage and becomes shocked until the start of its next turn.</p>\n<p>This power's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8).</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"rpak","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Electroshock.webp","effects":[]}
|
||||
{"_id":"UNgPNWRmkQUNpNny","name":"Pressure Crush","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You attempt to crush the body of a creature you touch. The target must make a Strength saving throw. If the creature is grappled or restrained by you or an effect you control, it makes the saving throw with disadvantage. On a failed save, the creature takes 1d12 kinetic damage.</p>\n<p>This power's damage increases by 1d12 when you reach 5th level (2d12), 11th level (3d12), and 17th level (4d12).</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[["1d12","kinetic"]],"versatile":""},"formula":"","save":{"ability":"str","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/PressureCrush.webp"}
|
||||
{"_id":"USt5H36LIw7ma5gh","name":"Buffer","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You gain 1d4 + 4 temporary hit points for the duration.</p>\n<p><em><strong>Overcharge Tech.</strong></em> When you cast this power using a tech slot of 2nd level or higher, you gain 5 additional temporary hit points for each slot level above 1st.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[["",""]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":1,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Buffer.webp"}
|
||||
{"_id":"V0gdMfr4o2iV2AOb","name":"Echo Blast","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You emit a reverberating pulse of sound at a target within range. The target must succeed on a Wisdom saving throw or take 1d8 sonic damage.</p>\n<p>This power can hit multiple targets in succession when you reach higher levels: two targets at 5th level, three targets at 11th level, and four targets at 17th level. Each target must be within 30 feet of the previous target, and the last target must be no further than 30 feet away from you. You can not target the same creature twice in succession.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":30,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[["1d8","sonic"]],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/EchoBlast.webp"}
|
||||
{"_id":"V0gdMfr4o2iV2AOb","name":"Echo Blast","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You emit a reverberating pulse of sound at a target within range. The target must succeed on a Wisdom saving throw or take 1d8 sonic damage.</p>\n<p>This power can hit multiple targets in succession when you reach higher levels: two targets at 5th level, three targets at 11th level, and four targets at 17th level. Each target must be within 30 feet of the previous target, and the last target must be no further than 30 feet away from you. You can not target the same creature twice in succession.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":30,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[["1d8","sonic"]],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/EchoBlast.webp","effects":[]}
|
||||
{"_id":"VPpaedIPR048RLKF","name":"Energizing Aura","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>Energizing light radiates out from you in a 30-foot radius. Creatures of your choice in that radius when you cast this power have advantage on all saving throws, and other creatures have disadvantage on attack rolls against them until the power ends.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":30,"units":"ft","type":"radius"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":8,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/EnergizingAura.webp"}
|
||||
{"_id":"WOnLRapxYnS99uFT","name":"Corrosive Sphere","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You create a globule of acid and hurl it at a point within range, where it explodes in a 20-foot-radius sphere. Each creature in that area must make a Dexterity saving throw. On a failed save, a creature takes 10d4 acid damage and another 5d4 acid damage at the end of its next turn. On a successful save, a creature takes half the initial damage and no damage at the end of its next turn.</p>\n<p><em><strong>Overcharge Tech.</strong></em> When you cast this power using a tech slot of 5th level or higher, the initial damage increases by 2d4 for each slot level above 4th.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":20,"units":"ft","type":"radius"},"range":{"value":150,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[["10d4","acid"]],"versatile":"5d4"},"formula":"","save":{"ability":"dex","dc":null,"scaling":"power"},"level":4,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/CorrosiveSphere.webp"}
|
||||
{"_id":"XERRPbogZO8ePUxp","name":"Synchronicity","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>A creature you touch isn't inconvenienced by mundane delays. Traffic lights are always green, there's always a waiting elevator, and a taxi is always around the corner. The target can run at full speed through dense crowds and attacks of opportunity provoked by the target's movement are made with disadvantage.</p>\n<p>The power also grants advantage to stealth checks, since cover is always available. Additionally, the target has advantage on all ability checks made to drive a vehicle.</p>\n<p>If two or more creatures under the effect of the power are attempting to avoid being inconvenienced by each other, the creatures make Charisma checks each time the effects would oppose each other. The higher check of the two's power takes effect.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":4,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Synchronicity.webp"}
|
||||
|
@ -198,6 +198,3 @@
|
|||
{"_id":"zBQIDrnkr3L6URgG","name":"Gleaming Outline","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>Each object in a 20-foot cube within range is outlined in blue, green, or violet light (your choice). Any creature in the area when the power is cast is also outlined in light if it fails a Dexterity saving throw. For the duration, objects and affected creatures shed dim light in a 10-foot radius.</p>\n<p>Any attack roll against an affected creature or object has advantage if the attacker can see it, and the affected creature or object can't benefit from being invisible.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":60,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"power"},"level":1,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/GleamingOutline.webp"}
|
||||
{"_id":"zXCnz8vBWC4fhvfw","name":"Paralyze Humanoid","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You emit a paralyzing dart at a humanoid that you can see within range. The target must succeed on a Constitution saving throw or be poisoned for the duration. While poisoned in this way, the target is paralyzed. At the end of each of its turns, the target can make another Constitution saving throw. On a success, the power ends on the target.</p>\n<p><em><strong>Overcharge Tech.</strong></em> When you cast this power using a tech slot of 3rd level or higher, you can target one additional humanoid for each slot level above 2nd. The humanoids must be within 30 feet of each other when you target them.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"minute"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":60,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"con","dc":null,"scaling":"power"},"level":2,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":true},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/ParalyzeHumanoid.webp"}
|
||||
{"_id":"zmMsZQr1lwEzLrFB","name":"Voltaic Shielding","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>A protective barrier surrounds you, manifesting as crackling lightning that covers you and your gear. You gain 5 temporary hit points for the duration. If a creature hits you with a melee attack while you have these hit points, the creature takes 5 lightning damage.</p>\n<p><em><strong>Overcharge Tech.</strong></em> When you cast this power using a tech slot of 2nd level or higher, both the temporary hit points and the lightning damage increase by 5 for each slot.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":1,"units":"hour"},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"self"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"other","attackBonus":"@prof","chatFlavor":"","critical":null,"damage":{"parts":[["+5","lightning"]],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":1,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/VoltaicShielding.webp"}
|
||||
{"_id":"V0gdMfr4o2iV2AOb","name":"Echo Blast","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>You emit a reverberating pulse of sound at a target within range. The target must succeed on a Wisdom saving throw or take 1d8 sonic damage.</p>\n<p>This power can hit multiple targets in succession when you reach higher levels: two targets at 5th level, three targets at 11th level, and four targets at 17th level. Each target must be within 30 feet of the previous target, and the last target must be no further than 30 feet away from you. You can not target the same creature twice in succession.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":30,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[["1d8","sonic"]],"versatile":""},"formula":"","save":{"ability":"wis","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/EchoBlast.webp","effects":[]}
|
||||
{"_id":"F4Q7jJ2ssAKfNHw0","name":"Disintegrate","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>A blast of corrosive energy emits from you. Choose a target within range.</p>\n<p>A creature targeted by this power must make a Dexterity saving throw. On a failed save, the target takes 10d6 + 40 acid damage. If this damage reduces the target to 0 hit points, it is disintegrated.</p>\n<p>A disintegrated creature and everything it is wearing and carrying are reduced to a pile of fine gray dust. A creature destroyed in this way can not be revitalized.</p>\n<p>This power automatically disintegrates a Large or smaller object. If the target is a Huge or larger object, this power disintegrates a 10-foot-cube portion of it.</p>\n<p><em><strong>Overcharge Tech.</strong></em> When you cast this power using a tech slot of 7th level or higher, the damage increases by 3d6 for each slot level above 6th.</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":60,"long":null,"units":"ft"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"save","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[["10d6 + 40","acid"]],"versatile":""},"formula":"","save":{"ability":"dex","dc":null,"scaling":"power"},"level":6,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Disintegrate.webp","effects":[]}
|
||||
{"_id":"UACmTGjhcYjQyLj3","name":"Electroshock","permission":{"default":0},"type":"power","data":{"description":{"value":"<p>Lightning springs from you to deliver a shock to a creature you try to touch. Make a melee tech attack against the target. You have advantage on the attack roll if the target is made of metal or wearing armor made of metal. On a hit, the target takes 1d8 lightning damage and becomes shocked until the start of its next turn.</p>\n<p>This power's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8).</p>\n","chat":"","unidentified":""},"source":"PHB","activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":"touch"},"uses":{"value":0,"max":0,"per":""},"consume":{"type":"","target":"","amount":null},"ability":"int","actionType":"rpak","attackBonus":null,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"power"},"level":0,"school":"tec","components":{"value":"","vocal":false,"somatic":false,"material":false,"ritual":false,"concentration":false},"materials":{"value":"","consumed":false,"cost":0,"supply":0},"preparation":{"mode":"prepared","prepared":false},"scaling":{"mode":"none","formula":""}},"flags":{"exportSource":{"world":"sw5e","system":"sw5e","coreVersion":"0.6.6","systemVersion":0.98}},"img":"systems/sw5e/packs/Icons/Tech%20Powers/Electroshock.webp","effects":[]}
|
||||
|
|
|
@ -762,12 +762,16 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapp
|
|||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance .encumbrance-bar {
|
||||
background: #0d99cc;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 {
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .powercasting-ability label,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .powercasting-ability label,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .powercasting-ability h3,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .powercasting-ability h3 {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label span,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 span {
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .powercasting-ability label span,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .powercasting-ability label span,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .powercasting-ability h3 span,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .powercasting-ability h3 span {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.notes section > input {
|
||||
|
|
|
@ -86,6 +86,9 @@ body {
|
|||
font-family: 'Open Sans';
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
background-image: url('./ui/SW5e-logo.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
h1 {
|
||||
font-family: 'Russo One';
|
||||
|
@ -708,7 +711,7 @@ input[type="reset"]:disabled {
|
|||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.sw5e.sheet.actor.character {
|
||||
min-width: 850px;
|
||||
min-width: 880px;
|
||||
min-height: 720px;
|
||||
}
|
||||
.sw5e.sheet .window-content {
|
||||
|
@ -948,8 +951,8 @@ input[type="reset"]:disabled {
|
|||
}
|
||||
.sw5e.sheet.actor .swalt-sheet nav.sheet-navigation {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(6, 1fr);
|
||||
column-gap: 16px;
|
||||
grid-template-columns: repeat(7, 1fr);
|
||||
column-gap: 8px;
|
||||
margin: 4px 0;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item {
|
||||
|
@ -1535,12 +1538,14 @@ input[type="reset"]:disabled {
|
|||
.sw5e.sheet.actor .swalt-sheet .tab.features > .panel {
|
||||
grid-template-rows: 24px auto;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .resource-items {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .resource-items,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
column-gap: 12px;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .resource-items .resource h1 {
|
||||
.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';
|
||||
|
@ -1550,8 +1555,10 @@ input[type="reset"]:disabled {
|
|||
margin-bottom: 4px;
|
||||
border-radius: 0;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .resource-items .resource .attribute-value,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .resource-items .resource .attribute-value input {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .resource-items .resource .attribute-value,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items .resource .attribute-value,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .resource-items .resource .attribute-value input,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items .resource .attribute-value input {
|
||||
font-family: 'Russo One';
|
||||
font-size: 22px;
|
||||
font-weight: 400;
|
||||
|
@ -1559,47 +1566,54 @@ input[type="reset"]:disabled {
|
|||
text-align: center;
|
||||
line-height: 1;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .resource-items .resource .attribute-value {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .resource-items .resource .attribute-value,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items .resource .attribute-value {
|
||||
display: grid;
|
||||
grid-template-columns: auto 14px auto;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .resource-items .resource .attribute-value input {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .resource-items .resource .attribute-value input,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items .resource .attribute-value input {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .resource-items .resource .attribute-value .value-number {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .resource-items .resource .attribute-value .value-number,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items .resource .attribute-value .value-number {
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
padding: 0px 3px;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .resource-items .resource .attribute-value .value-number:last-child {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .resource-items .resource .attribute-value .value-number:last-child,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items .resource .attribute-value .value-number:last-child {
|
||||
text-align: left;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .resource-items .resource .attribute-value span.value-number {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .resource-items .resource .attribute-value span.value-number,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .resource-items .resource .attribute-value span.value-number {
|
||||
padding: 1px 4px;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook > .panel {
|
||||
grid-template-rows: 32px 24px 24px auto;
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook > .panel,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook > .panel {
|
||||
grid-template-rows: 56px 32px 24px auto;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook h3.power-dc {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook h3.power-dc,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook h3.power-dc {
|
||||
line-height: 24px;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .force-powercasting-ability,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .force-powercasting-ability {
|
||||
display: grid;
|
||||
grid-template-columns: 2fr 1fr 1fr;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 {
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .force-powercasting-ability label,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .force-powercasting-ability label,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .force-powercasting-ability h3,
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .force-powercasting-ability h3 {
|
||||
font-family: 'Russo One';
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
letter-spacing: 0.5px;
|
||||
border-bottom: none;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability .power-dc {
|
||||
grid-column-start: 3;
|
||||
}
|
||||
.sw5e.sheet.actor .swalt-sheet .tab.biography {
|
||||
grid-template-columns: 1fr 2fr;
|
||||
grid-template-rows: 100%;
|
||||
|
@ -1678,7 +1692,8 @@ input[type="reset"]:disabled {
|
|||
.sw5e.sheet.actor.npc .swalt-sheet .tab.attributes .traits-resources .counter .counter-value {
|
||||
margin-left: auto;
|
||||
}
|
||||
.sw5e.sheet.actor.npc .swalt-sheet .tab.powerbook input.powercasting-level {
|
||||
.sw5e.sheet.actor.npc .swalt-sheet .tab.force-powerbook input.powercasting-level,
|
||||
.sw5e.sheet.actor.npc .swalt-sheet .tab.tech-powerbook input.powercasting-level {
|
||||
width: 48px;
|
||||
}
|
||||
.sw5e.sheet.actor.npc .swalt-sheet .tab.biography.active {
|
||||
|
|
|
@ -762,12 +762,16 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrap
|
|||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance .encumbrance-bar {
|
||||
background: #0d99cc;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 {
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .powercasting-ability label,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .powercasting-ability label,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .powercasting-ability h3,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .powercasting-ability h3 {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label span,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 span {
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .powercasting-ability label span,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .powercasting-ability label span,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.force-powerbook .powercasting-ability h3 span,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.tech-powerbook .powercasting-ability h3 span {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.notes section > input {
|
||||
|
|
3
sw5e.css
3
sw5e.css
|
@ -883,7 +883,8 @@
|
|||
}
|
||||
.sw5e.sheet.actor .tab.features,
|
||||
.sw5e.sheet.actor .tab.inventory,
|
||||
.sw5e.sheet.actor .tab.powerbook {
|
||||
.sw5e.sheet.actor .tab.force-powerbook,
|
||||
.sw5e.sheet.actor .tab.tech-powerbook {
|
||||
overflow-y: hidden;
|
||||
}
|
||||
.sw5e.sheet.actor .inventory-filters {
|
||||
|
|
|
@ -112,8 +112,9 @@
|
|||
<button class="item active" data-tab="attributes">Core</button>
|
||||
<button class="item" data-tab="inventory">{{ localize "SW5E.Inventory" }}</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="effects">{{ localize "SW5E.Effects" }}</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="biography">{{ localize "SW5E.Biography" }}</button>
|
||||
</nav>
|
||||
{{!-- PC Sheet Body --}}
|
||||
|
@ -130,12 +131,12 @@
|
|||
<section class="tab features" data-group="primary" data-tab="features">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-features.html" sections=features}}
|
||||
</section>
|
||||
{{!-- Powerbook Tab --}}
|
||||
<section class="tab powerbook" data-group="primary" data-tab="powerbook">
|
||||
{{!-- Powerbook Tabs --}}
|
||||
<section class="tab force-powerbook" data-group="primary" data-tab="force-powerbook">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-force-powerbook.html"}}
|
||||
</section>
|
||||
|
||||
<section class="tab powerbook" 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"}}
|
||||
</section>
|
||||
{{!-- Effects Tab --}}
|
||||
|
|
|
@ -1,44 +1,57 @@
|
|||
<section class="resource-items">
|
||||
<div class="resource">
|
||||
<h1>Force Points</h1>
|
||||
|
||||
<div class="attribute-value">
|
||||
<input name="data.attributes.force.points.value" type="text" value="{{data.attributes.force.points.value}}" data-dtype="Number" placeholder="0" class="value-number" />
|
||||
<span class="value-separator">/</span>
|
||||
<input name="data.attributes.force.points.max" type="text" value="{{data.attributes.force.points.max}}" data-dtype="Number" placeholder="0" class="value-number" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="panel">
|
||||
<div class="powercasting-ability">
|
||||
<label>{{localize "SW5E.PowerAbility"}}
|
||||
<select name="data.attributes.powercasting" data-type="String">
|
||||
{{#select data.attributes.powercasting}}
|
||||
<option value="">{{localize "SW5E.None"}}</option>
|
||||
{{#each data.abilities as |abl a|}}
|
||||
<option value="{{a}}">{{abl.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</label>
|
||||
{{#if isNPC}}
|
||||
<label>{{localize "SW5E.PowercasterLevel"}}
|
||||
<input class="powercasting-level" type="text" name="data.details.powerLevel" value="{{data.details.powerLevel}}"
|
||||
data-dtype="Number" placeholder="0" />
|
||||
</label>
|
||||
{{/if}}
|
||||
<h3 class="power-dc">{{localize "SW5E.PowerDC"}} <span>{{data.attributes.powerdc}}</span></h3>
|
||||
</div>
|
||||
<section class="resource-items">
|
||||
<div class="resource">
|
||||
<h1>Force Points</h1>
|
||||
|
||||
<ul class="filter-list" data-filter="powerbook">
|
||||
<div class="attribute-value">
|
||||
<input name="data.attributes.force.points.value" type="text" value="{{data.attributes.force.points.value}}" data-dtype="Number" placeholder="0" class="value-number" />
|
||||
<span class="value-separator">/</span>
|
||||
<input name="data.attributes.force.points.max" type="text" value="{{data.attributes.force.points.max}}" data-dtype="Number" placeholder="0" class="value-number" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="resource">
|
||||
<h1>Universal Power DC</h1>
|
||||
|
||||
<div class="attribute-value">
|
||||
<div></div>
|
||||
<span>{{data.attributes.powerForceUnivDC}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="resource">
|
||||
<h1>Light Power DC</h1>
|
||||
|
||||
<div class="attribute-value">
|
||||
<div></div>
|
||||
<span>{{data.attributes.powerForceLightDC}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="resource">
|
||||
<h1>Dark Power DC</h1>
|
||||
|
||||
<div class="attribute-value">
|
||||
<div></div>
|
||||
<span>{{data.attributes.powerForceDarkDC}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</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">
|
||||
<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="bonus">{{localize "SW5E.BonusAction"}}</li>
|
||||
<li class="filter-item" data-filter="reaction">{{localize "SW5E.Reaction"}}</li>
|
||||
<li class="filter-item" data-filter="concentration">{{localize "SW5E.AbbreviationConc"}}</li>
|
||||
<li class="filter-item" data-filter="ritual">{{localize "SW5E.Ritual"}}</li>
|
||||
<li class="filter-item" data-filter="prepared">{{localize "SW5E.Prepared"}}{{#if preparedPowers}}({{preparedPowers}}){{/if}}</li>
|
||||
</ul>
|
||||
|
||||
<div class="group-list-header group-grid-powers">
|
||||
|
@ -49,7 +62,7 @@
|
|||
</div>
|
||||
|
||||
<ol class="group-list">
|
||||
{{#each powerbook as |section|}}
|
||||
{{#each forcePowerbook as |section|}}
|
||||
<li>
|
||||
<div class="group-list-title group-grid-powers">
|
||||
<div class="item-name">
|
||||
|
@ -61,27 +74,9 @@
|
|||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="item-detail item-uses">
|
||||
{{#if section.usesSlots}}
|
||||
<input type="text" name="data.powers.{{section.prop}}.value" value="{{section.uses}}" placeholder="0"
|
||||
data-dtype="Number" />
|
||||
/
|
||||
<span data-level="{{section.prop}}" data-slots="{{section.slots}}">
|
||||
{{{section.slots}}}
|
||||
{{#if ../editable}}
|
||||
<a class="slot-max-override" title="{{localize 'SW5E.PowerProgOverride'}}">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{ else }}
|
||||
{{{section.uses}}} / {{{section.slots}}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<ol class="item-list">
|
||||
{{#each section.powers as |item i|}}
|
||||
{{#if item.data.isForcePower }}
|
||||
<li class="item group-grid-powers" data-item-id="{{item._id}}">
|
||||
<div class="item-name rollable">
|
||||
<div class="item-image" style="background-image: url({{item.img}})"></div>
|
||||
|
@ -114,7 +109,6 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ol>
|
||||
</li>
|
||||
|
|
|
@ -1,44 +1,39 @@
|
|||
<section class="resource-items">
|
||||
<div class="resource">
|
||||
<h1>Tech Points</h1>
|
||||
|
||||
<div class="attribute-value">
|
||||
<input name="data.attributes.tech.points.value" type="text" value="{{data.attributes.tech.points.value}}" data-dtype="Number" placeholder="0" class="value-number" />
|
||||
<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" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="panel">
|
||||
<div class="powercasting-ability">
|
||||
<label>{{localize "SW5E.PowerAbility"}}
|
||||
<select name="data.attributes.powercasting" data-type="String">
|
||||
{{#select data.attributes.powercasting}}
|
||||
<option value="">{{localize "SW5E.None"}}</option>
|
||||
{{#each data.abilities as |abl a|}}
|
||||
<option value="{{a}}">{{abl.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</label>
|
||||
{{#if isNPC}}
|
||||
<label>{{localize "SW5E.PowercasterLevel"}}
|
||||
<input class="powercasting-level" type="text" name="data.details.powerLevel" value="{{data.details.powerLevel}}"
|
||||
data-dtype="Number" placeholder="0" />
|
||||
</label>
|
||||
{{/if}}
|
||||
<h3 class="power-dc">{{localize "SW5E.PowerDC"}} <span>{{data.attributes.powerdc}}</span></h3>
|
||||
</div>
|
||||
<section class="resource-items">
|
||||
<div class="resource">
|
||||
<h1>Tech Points</h1>
|
||||
|
||||
<ul class="filter-list" data-filter="powerbook">
|
||||
<div class="attribute-value">
|
||||
<input name="data.attributes.tech.points.value" type="text" value="{{data.attributes.tech.points.value}}" data-dtype="Number" placeholder="0" class="value-number" />
|
||||
<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" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="resource">
|
||||
<h1>Universal Power DC</h1>
|
||||
|
||||
<div class="attribute-value">
|
||||
<div></div>
|
||||
<span>{{data.attributes.powerTechDC}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{#if isNPC}}
|
||||
<div class="tech-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="techPowerbook">
|
||||
<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="bonus">{{localize "SW5E.BonusAction"}}</li>
|
||||
<li class="filter-item" data-filter="reaction">{{localize "SW5E.Reaction"}}</li>
|
||||
<li class="filter-item" data-filter="concentration">{{localize "SW5E.AbbreviationConc"}}</li>
|
||||
<li class="filter-item" data-filter="ritual">{{localize "SW5E.Ritual"}}</li>
|
||||
<li class="filter-item" data-filter="prepared">{{localize "SW5E.Prepared"}}{{#if preparedPowers}}({{preparedPowers}}){{/if}}</li>
|
||||
</ul>
|
||||
|
||||
<div class="group-list-header group-grid-powers">
|
||||
|
@ -49,7 +44,7 @@
|
|||
</div>
|
||||
|
||||
<ol class="group-list">
|
||||
{{#each powerbook as |section|}}
|
||||
{{#each techPowerbook as |section|}}
|
||||
<li>
|
||||
<div class="group-list-title group-grid-powers">
|
||||
<div class="item-name">
|
||||
|
@ -61,27 +56,9 @@
|
|||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="item-detail item-uses">
|
||||
{{#if section.usesSlots}}
|
||||
<input type="text" name="data.powers.{{section.prop}}.value" value="{{section.uses}}" placeholder="0"
|
||||
data-dtype="Number" />
|
||||
/
|
||||
<span data-level="{{section.prop}}" data-slots="{{section.slots}}">
|
||||
{{{section.slots}}}
|
||||
{{#if ../editable}}
|
||||
<a class="slot-max-override" title="{{localize 'SW5E.PowerProgOverride'}}">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{ else }}
|
||||
{{{section.uses}}} / {{{section.slots}}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<ol class="item-list">
|
||||
{{#each section.powers as |item i|}}
|
||||
{{#if item.data.isTechPower }}
|
||||
<li class="item group-grid-powers" data-item-id="{{item._id}}">
|
||||
<div class="item-name rollable">
|
||||
<div class="item-image" style="background-image: url({{item.img}})"></div>
|
||||
|
@ -114,7 +91,6 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ol>
|
||||
</li>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue