From 184e916811246900c7b8a58d52877d4c39cd35f8 Mon Sep 17 00:00:00 2001 From: supervj <64861570+supervj@users.noreply.github.com> Date: Tue, 19 Jan 2021 21:47:38 -0500 Subject: [PATCH] Reset --- fonts/EngliBesh-KG3W.ttf | Bin 28444 -> 0 bytes less/original/apps.less | 37 ---- less/original/variables.less | 10 +- less/update/components/actor-global.less | 12 +- less/update/sw5e-global.less | 6 - module/actor/entity.js | 87 ++++---- module/actor/sheets/newSheet/base.js | 13 +- module/actor/sheets/oldSheets/base.js | 5 + module/apps/ability-use-dialog.js | 2 + module/chat.js | 11 +- module/combat.js | 14 +- module/dice.js | 8 +- module/item/entity.js | 17 +- module/templates.js | 1 + .../Archetypes/Construction Engineering.webp | Bin 11844 -> 0 bytes packs/Icons/Archetypes/Kro Var Order.webp | Bin 10792 -> 0 bytes packs/Icons/Archetypes/Slayer Technique.webp | Bin 11012 -> 10214 bytes packs/Icons/Feats/Adaptive Training.webp | Bin 13540 -> 0 bytes packs/Icons/Feats/Augmented Cyborg.webp | Bin 10294 -> 0 bytes packs/Icons/Feats/Blinding Agility.webp | Bin 15266 -> 0 bytes packs/Icons/Feats/Climber.webp | Bin 15092 -> 0 bytes packs/Icons/Feats/Close Quarters Caster.webp | Bin 10700 -> 0 bytes packs/Icons/Feats/Combat Caster.webp | Bin 12234 -> 0 bytes packs/Icons/Feats/Companion Keeper.webp | Bin 15586 -> 0 bytes packs/Icons/Feats/Cunning Intellect.webp | Bin 15208 -> 0 bytes packs/Icons/Feats/Customized Droid.webp | Bin 14006 -> 0 bytes packs/Icons/Feats/Dual Focused Caster.webp | Bin 15086 -> 0 bytes packs/Icons/Feats/Exalted Awareness.webp | Bin 12926 -> 0 bytes packs/Icons/Feats/Expert Potency.webp | Bin 15648 -> 0 bytes packs/Icons/Feats/Focused Vitality.webp | Bin 13500 -> 0 bytes .../Icons/Feats/Investigative Attunement.webp | Bin 13866 -> 0 bytes packs/Icons/Feats/Kinetic Stoicism.webp | Bin 11920 -> 0 bytes packs/Icons/Feats/Mariner.webp | Bin 16010 -> 0 bytes packs/Icons/Feats/Martial Adept.webp | Bin 14478 -> 0 bytes packs/Icons/Feats/Meditative Mindfulness.webp | Bin 17184 -> 0 bytes packs/Icons/Feats/Mounted Caster.webp | Bin 16174 -> 0 bytes packs/Icons/Feats/Overwhelming Presence.webp | Bin 13050 -> 0 bytes packs/Icons/Feats/Precision Applications.webp | Bin 14604 -> 0 bytes packs/Icons/Feats/Prone Combatant.webp | Bin 9480 -> 0 bytes packs/Icons/Feats/Quick Caster.webp | Bin 15026 -> 0 bytes packs/Icons/Feats/Relentless Pursuer.webp | Bin 14276 -> 0 bytes packs/Icons/Feats/Savage Shorty.webp | Bin 14082 -> 0 bytes packs/Icons/Feats/Serene Resolve.webp | Bin 13126 -> 0 bytes packs/Icons/Feats/Shard Modification.webp | Bin 13356 -> 0 bytes packs/Icons/Feats/Sniping Caster.webp | Bin 12964 -> 0 bytes packs/Icons/Feats/Tiny Terror.webp | Bin 11308 -> 0 bytes packs/Icons/Feats/Tireless Outrider.webp | Bin 10744 -> 0 bytes packs/Icons/Feats/Titan's Power.webp | Bin 14656 -> 0 bytes packs/Icons/Feats/Unnatural Resilience.webp | Bin 12394 -> 0 bytes packs/Icons/Feats/Versatile Design.webp | Bin 14530 -> 0 bytes packs/Icons/Feats/War Caster.webp | Bin 13568 -> 0 bytes packs/Icons/Species/Patrolian.webp | Bin 4144 -> 0 bytes packs/packs/archetypes.db | 7 +- packs/packs/classes.db | 14 +- packs/packs/feats.db | 198 +++++++++--------- packs/packs/species.db | 15 +- sw5e-global.css | 17 +- sw5e.css | 47 +---- sw5e.js | 16 +- system.json | 2 +- .../actors/newActor/character-sheet.html | 8 +- .../actors/newActor/parts/swalt-core.html | 4 +- .../newActor/parts/swalt-resources.html | 97 ++++++--- .../actors/newActor/parts/swalt-traits.html | 145 ++++--------- 64 files changed, 347 insertions(+), 446 deletions(-) delete mode 100644 fonts/EngliBesh-KG3W.ttf delete mode 100644 packs/Icons/Archetypes/Construction Engineering.webp delete mode 100644 packs/Icons/Archetypes/Kro Var Order.webp delete mode 100644 packs/Icons/Feats/Adaptive Training.webp delete mode 100644 packs/Icons/Feats/Augmented Cyborg.webp delete mode 100644 packs/Icons/Feats/Blinding Agility.webp delete mode 100644 packs/Icons/Feats/Climber.webp delete mode 100644 packs/Icons/Feats/Close Quarters Caster.webp delete mode 100644 packs/Icons/Feats/Combat Caster.webp delete mode 100644 packs/Icons/Feats/Companion Keeper.webp delete mode 100644 packs/Icons/Feats/Cunning Intellect.webp delete mode 100644 packs/Icons/Feats/Customized Droid.webp delete mode 100644 packs/Icons/Feats/Dual Focused Caster.webp delete mode 100644 packs/Icons/Feats/Exalted Awareness.webp delete mode 100644 packs/Icons/Feats/Expert Potency.webp delete mode 100644 packs/Icons/Feats/Focused Vitality.webp delete mode 100644 packs/Icons/Feats/Investigative Attunement.webp delete mode 100644 packs/Icons/Feats/Kinetic Stoicism.webp delete mode 100644 packs/Icons/Feats/Mariner.webp delete mode 100644 packs/Icons/Feats/Martial Adept.webp delete mode 100644 packs/Icons/Feats/Meditative Mindfulness.webp delete mode 100644 packs/Icons/Feats/Mounted Caster.webp delete mode 100644 packs/Icons/Feats/Overwhelming Presence.webp delete mode 100644 packs/Icons/Feats/Precision Applications.webp delete mode 100644 packs/Icons/Feats/Prone Combatant.webp delete mode 100644 packs/Icons/Feats/Quick Caster.webp delete mode 100644 packs/Icons/Feats/Relentless Pursuer.webp delete mode 100644 packs/Icons/Feats/Savage Shorty.webp delete mode 100644 packs/Icons/Feats/Serene Resolve.webp delete mode 100644 packs/Icons/Feats/Shard Modification.webp delete mode 100644 packs/Icons/Feats/Sniping Caster.webp delete mode 100644 packs/Icons/Feats/Tiny Terror.webp delete mode 100644 packs/Icons/Feats/Tireless Outrider.webp delete mode 100644 packs/Icons/Feats/Titan's Power.webp delete mode 100644 packs/Icons/Feats/Unnatural Resilience.webp delete mode 100644 packs/Icons/Feats/Versatile Design.webp delete mode 100644 packs/Icons/Feats/War Caster.webp delete mode 100644 packs/Icons/Species/Patrolian.webp diff --git a/fonts/EngliBesh-KG3W.ttf b/fonts/EngliBesh-KG3W.ttf deleted file mode 100644 index bd886327c5f3374cf2ead08e90b5a023e85115e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28444 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 diff --git a/less/original/apps.less b/less/original/apps.less index 67701da2..728a3c71 100644 --- a/less/original/apps.less +++ b/less/original/apps.less @@ -486,41 +486,4 @@ height: 24px; margin: 2px; } -} - -/* ----------------------------------------- */ -/* HUD -/* ----------------------------------------- */ - -.placeable-hud .control-icon { - box-sizing: content-box; - width: 40px; - flex: 0 0 40px; - margin: 8px 0; - font-size: 28px; - line-height: 40px; - text-align: center; - color: #FBF4F4; - background: rgba(0, 0, 0, 0.6); - box-shadow: 0 0 15px #000; - border: 1px solid #333; - border-radius: 8px; - pointer-events: all; -} -#token-hud .status-effects { - visibility: hidden; - position: absolute; - left: 50px; - top: 0; - display: grid; - padding: 3px; - box-sizing: content-box; - width: 100px; - color: #FBF4F4; - grid-template-columns: 25px 25px 25px 25px; - background: rgba(0, 0, 0, 0.6); - box-shadow: 0 0 15px #000; - border: 1px solid #333; - border-radius: 4px; - pointer-events: all; } \ No newline at end of file diff --git a/less/original/variables.less b/less/original/variables.less index 75ca7ded..0f923b72 100644 --- a/less/original/variables.less +++ b/less/original/variables.less @@ -19,15 +19,15 @@ font-size: @font-size; font-weight: 400; } -/* engli-besh */ +/* bungee-inline-regular - latin */ @font-face { - font-family: 'Engli-Besh'; + font-family: 'Bungee Inline'; font-style: normal; font-weight: 400; - src: url('./fonts/EngliBesh-KG3W.ttf'); + src: url('./fonts/BungeeInline.ttf'); } -.engli-Besh { - font-family: 'Engli-Besh'; +.bungeeInline { + font-family: 'Bungee Inline'; font-size: 20px; font-weight: 400; } diff --git a/less/update/components/actor-global.less b/less/update/components/actor-global.less index 62cdfe71..ddce5187 100644 --- a/less/update/components/actor-global.less +++ b/less/update/components/actor-global.less @@ -5,7 +5,7 @@ .dropShadow1(); } .sw5e.sheet.actor.character { - min-width: 850px; + min-width: 800px; min-height: 720px; } .sw5e.sheet .window-content { @@ -54,7 +54,7 @@ grid-template-rows: 1fr 26px auto; grid-template-columns: 128px 1fr; column-gap: 8px; - grid-row-gap: 8px; + row-gap: 8px; img { grid-column-start: 1; @@ -683,7 +683,7 @@ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 16px; - grid-row-gap: 8px; + row-gap: 8px; input, select { @@ -715,7 +715,7 @@ } .languages { - grid-column-end: span 1; + grid-column-end: span 2; label { &:hover { cursor: pointer; @@ -745,7 +745,7 @@ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 4px; - grid-row-gap: 4px; + row-gap: 4px; strong { font-size: 13px; @@ -994,7 +994,7 @@ } &.limited { grid-template-rows: 144px auto; - grid-row-gap: 8px; + row-gap: 8px; header { grid-template-rows: 1fr; } diff --git a/less/update/sw5e-global.less b/less/update/sw5e-global.less index 66173163..ea2f998a 100644 --- a/less/update/sw5e-global.less +++ b/less/update/sw5e-global.less @@ -48,12 +48,6 @@ font-weight: 400; src: url('./fonts/Aurebesh.ttf'); } -@font-face { - font-family: 'Engli-Besh'; - font-style: normal; - font-weight: 400; - src: url('./fonts/EngliBesh-KG3W.ttf'); -} @import "_variables.less"; html { diff --git a/module/actor/entity.js b/module/actor/entity.js index a25fd738..127a0d05 100644 --- a/module/actor/entity.js +++ b/module/actor/entity.js @@ -458,8 +458,8 @@ export default class Actor5e extends Actor { return weight + (q * w); }, 0); - // [Optional] add Currency Weight - if ( game.settings.get("sw5e", "currencyWeight") ) { + // [Optional] add Currency Weight (for non-transformed actors) + if ( game.settings.get("sw5e", "currencyWeight") && actorData.data.currency ) { const currency = actorData.data.currency; const numCoins = Object.values(currency).reduce((val, denom) => val += Math.max(denom, 0), 0); weight += numCoins / CONFIG.SW5E.encumbrance.currencyPerWeight; @@ -553,43 +553,56 @@ export default class Actor5e extends Actor { const isNPC = this.data.type === 'npc'; let initial = {}; switch ( itemData.type ) { + case "weapon": - initial["data.equipped"] = isNPC; // NPCs automatically equip weapons - let hasWeaponProf = isNPC; // NPCs automatically have weapon proficiency - if ( !isNPC ) { - const weaponProf = { - "natural": true, - "simpleVW": "sim", - "simpleB": "sim", - "simpleLW": "sim", - "martialVW": "mar", - "martialB": "mar", - "martialLW": "mar" - }[itemData.data?.weaponType]; - const actorWeaponProfs = this.data.data.traits?.weaponProf?.value || []; - hasWeaponProf = (weaponProf === true) || actorWeaponProfs.includes(weaponProf); + if ( getProperty(itemData, "data.equipped") === undefined ) { + initial["data.equipped"] = isNPC; // NPCs automatically equip weapons + } + if ( getProperty(itemData, "data.proficient") === undefined ) { + if ( isNPC ) { + initial["data.proficient"] = true; // NPCs automatically have equipment proficiency + } else { + const weaponProf = { + "natural": true, + "simpleVW": "sim", + "simpleB": "sim", + "simpleLW": "sim", + "martialVW": "mar", + "martialB": "mar", + "martialLW": "mar" + }[itemData.data?.weaponType]; // Player characters check proficiency + const actorWeaponProfs = this.data.data.traits?.weaponProf?.value || []; + const hasWeaponProf = (weaponProf === true) || actorWeaponProfs.includes(weaponProf); + initial["data.proficient"] = hasWeaponProf; + } } - initial["data.proficient"] = hasWeaponProf; break; + case "equipment": - initial["data.equipped"] = isNPC; // NPCs automatically equip equipment - let hasEquipmentProf = isNPC; // NPCs automatically have equipment proficiency - if ( !isNPC ) { - const armorProf = { - "natural": true, - "clothing": true, - "light": "lgt", - "medium": "med", - "heavy": "hvy", - "shield": "shl" - }[itemData.data?.armor?.type]; - const actorArmorProfs = this.data.data.traits?.armorProf?.value || []; - hasEquipmentProf = (armorProf === true) || actorArmorProfs.includes(armorProf); + if ( getProperty(itemData, "data.equipped") === undefined ) { + initial["data.equipped"] = isNPC; // NPCs automatically equip equipment + } + if ( getProperty(itemData, "data.proficient") === undefined ) { + if ( isNPC ) { + initial["data.proficient"] = true; // NPCs automatically have equipment proficiency + } else { + const armorProf = { + "natural": true, + "clothing": true, + "light": "lgt", + "medium": "med", + "heavy": "hvy", + "shield": "shl" + }[itemData.data?.armor?.type]; // Player characters check proficiency + const actorArmorProfs = this.data.data.traits?.armorProf?.value || []; + const hasEquipmentProf = (armorProf === true) || actorArmorProfs.includes(armorProf); + initial["data.proficient"] = hasEquipmentProf; + } } - initial["data.proficient"] = hasEquipmentProf; break; + case "power": - initial["data.prepared"] = true; // NPCs automatically prepare powers + initial["data.prepared"] = true; // automatically prepare powers for everyone break; } mergeObject(itemData, initial); @@ -1103,7 +1116,7 @@ export default class Actor5e extends Actor { // Recover power slots for ( let [k, v] of Object.entries(data.powers) ) { - updateData[`data.powers.${k}.value`] = !Number.isNaN(v.override) ? v.override : (v.max ?? 0); + updateData[`data.powers.${k}.value`] = Number.isNumeric(v.override) ? v.override : (v.max ?? 0); } // Recover pact slots. @@ -1210,10 +1223,10 @@ export default class Actor5e extends Actor { } // Get the original Actor data and the new source data - const o = this.toJSON(); + const o = duplicate(this.toJSON()); o.flags.sw5e = o.flags.sw5e || {}; o.flags.sw5e.transformOptions = {mergeSkills, mergeSaves}; - const source = target.toJSON(); + const source = duplicate(target.toJSON()); // Prepare new data to merge from the source const d = { @@ -1244,7 +1257,7 @@ export default class Actor5e extends Actor { // Handle wildcard if ( source.token.randomImg ) { const images = await target.getTokenImages(); - d.token.img = images[0]; + d.token.img = images[Math.floor(Math.random() * images.length)]; } // Keep Token configurations @@ -1328,7 +1341,7 @@ export default class Actor5e extends Actor { newTokenData.actorId = newActor.id; return newTokenData; }); - return canvas.scene.updateEmbeddedEntity("Token", updates); + return canvas.scene?.updateEmbeddedEntity("Token", updates); } /* -------------------------------------------- */ diff --git a/module/actor/sheets/newSheet/base.js b/module/actor/sheets/newSheet/base.js index 1851c0a0..41163b10 100644 --- a/module/actor/sheets/newSheet/base.js +++ b/module/actor/sheets/newSheet/base.js @@ -33,10 +33,10 @@ export default class ActorSheet5e extends ActorSheet { static get defaultOptions() { return mergeObject(super.defaultOptions, { scrollY: [ - ".inventory .group-list", - ".features .group-list", - ".powerbook .group-list", - ".effects .effects-list" + ".inventory .inventory-list", + ".features .inventory-list", + ".powerbook .inventory-list", + ".effects .inventory-list" ], tabs: [{navSelector: ".tabs", contentSelector: ".sheet-body", initial: "description"}] }); @@ -619,6 +619,11 @@ export default class ActorSheet5e extends ActorSheet { itemData = scroll.data; } + // Ignore certain statuses + if ( itemData.data ) { + ["attunement", "equipped", "proficient", "prepared"].forEach(k => delete itemData.data[k]); + } + // Create the owned item as normal return super._onDropItemCreate(itemData); } diff --git a/module/actor/sheets/oldSheets/base.js b/module/actor/sheets/oldSheets/base.js index 485a78b7..c97dd95a 100644 --- a/module/actor/sheets/oldSheets/base.js +++ b/module/actor/sheets/oldSheets/base.js @@ -619,6 +619,11 @@ export default class ActorSheet5e extends ActorSheet { itemData = scroll.data; } + // Ignore certain statuses + if ( itemData.data ) { + ["attunement", "equipped", "proficient", "prepared"].forEach(k => delete itemData.data[k]); + } + // Create the owned item as normal return super._onDropItemCreate(itemData); } diff --git a/module/apps/ability-use-dialog.js b/module/apps/ability-use-dialog.js index a0f8b716..cc277f9b 100644 --- a/module/apps/ability-use-dialog.js +++ b/module/apps/ability-use-dialog.js @@ -168,6 +168,8 @@ export default class AbilityUseDialog extends Dialog { type: item.data.consumableType, value: uses.value, quantity: item.data.quantity, + max: uses.max, + per: CONFIG.SW5E.limitedUsePeriods[uses.per] }); } diff --git a/module/chat.js b/module/chat.js index f5b72e8d..f8ab035f 100644 --- a/module/chat.js +++ b/module/chat.js @@ -66,7 +66,7 @@ export const displayChatActionButtons = function(message, html, data) { export const addChatMessageContextOptions = function(html, options) { let canApply = li => { const message = game.messages.get(li.data("messageId")); - return message.isRoll && message.isContentVisible && canvas.tokens.controlled.length; + return message?.isRoll && message?.isContentVisible && canvas?.tokens.controlled.length; }; options.push( { @@ -103,15 +103,16 @@ export const addChatMessageContextOptions = function(html, options) { * Apply rolled dice damage to the token or tokens which are currently controlled. * This allows for damage to be scaled by a multiplier to account for healing, critical hits, or resistance * - * @param {HTMLElement} roll The chat entry which contains the roll data + * @param {HTMLElement} li The chat entry which contains the roll data * @param {Number} multiplier A damage multiplier to apply to the rolled damage. * @return {Promise} */ -function applyChatCardDamage(roll, multiplier) { - const amount = roll.find('.dice-total').text(); +function applyChatCardDamage(li, multiplier) { + const message = game.messages.get(li.data("messageId")); + const roll = message.roll; return Promise.all(canvas.tokens.controlled.map(t => { const a = t.actor; - return a.applyDamage(amount, multiplier); + return a.applyDamage(roll.total, multiplier); })); } diff --git a/module/combat.js b/module/combat.js index b407c33a..8132a5ac 100644 --- a/module/combat.js +++ b/module/combat.js @@ -12,7 +12,7 @@ export const _getInitiativeFormula = function(combatant) { let nd = 1; let mods = ""; - + if (actor.getFlag("sw5e", "halflingLucky")) mods += "r1=1"; if (actor.getFlag("sw5e", "initiativeAdv")) { nd = 2; @@ -26,15 +26,3 @@ export const _getInitiativeFormula = function(combatant) { if ( tiebreaker ) parts.push(actor.data.data.abilities.dex.value / 100); return parts.filter(p => p !== null).join(" + "); }; - -/** - * When the Combat encounter updates - re-render open Actor sheets for combatants in the encounter. - */ -Hooks.on("updateCombat", (combat, data, options, userId) => { - const updateTurn = ("turn" in data) || ("round" in data); - if ( !updateTurn ) return; - for ( let t of combat.turns ) { - const a = t.actor; - if ( t.actor ) t.actor.sheet.render(false); - } -}); diff --git a/module/dice.js b/module/dice.js index c05dd3df..cea097fd 100644 --- a/module/dice.js +++ b/module/dice.js @@ -42,7 +42,7 @@ export function simplifyRollFormula(formula, data, {constantFirst = false} = {}) const parts = constantFirst ? // Order the rollable and constant terms, either constant first or second depending on the optional argumen [constantPart, rollableFormula] : [rollableFormula, constantPart]; - + // Join the parts with a + sign, pass them to `Roll` once again to clean up the formula return new Roll(parts.filterJoin(" + ")).formula; } @@ -52,7 +52,7 @@ export function simplifyRollFormula(formula, data, {constantFirst = false} = {}) /** * Only some terms are supported by simplifyRollFormula, this method returns true when the term is not supported. * @param {*} term - A single Dice term to check support on - * @return {Boolean} True when unsupported, false if supported + * @return {Boolean} True when unsupported, false if supported */ function _isUnsupportedTerm(term) { const diceTerm = term instanceof DiceTerm; @@ -110,8 +110,8 @@ export async function d20Roll({parts=[], data={}, event={}, rollMode=null, templ let adv = 0; fastForward = fastForward ?? (event && (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey)); if (fastForward) { - if ( advantage || event.altKey ) adv = 1; - else if ( disadvantage || event.ctrlKey || event.metaKey ) adv = -1; + if ( advantage ?? event.altKey ) adv = 1; + else if ( disadvantage ?? (event.ctrlKey || event.metaKey) ) adv = -1; } // Define the inner roll function diff --git a/module/item/entity.js b/module/item/entity.js index a1b64f0c..8b35bcc5 100644 --- a/module/item/entity.js +++ b/module/item/entity.js @@ -251,12 +251,14 @@ export default class Item5e extends Item { // Item Actions if ( data.hasOwnProperty("actionType") ) { + // if this item is owned, we populate the label and saving throw during actor init + if (!this.isOwned) { + // Saving throws + this.getSaveDC(); - // Saving throws - this.getSaveDC(); - - // To Hit - this.getAttackToHit(); + // To Hit + this.getAttackToHit(); + } // Damage let dam = data.damage || {}; @@ -312,7 +314,7 @@ export default class Item5e extends Item { * - item's actor's proficiency bonus if applicable * - item's actor's global bonuses to the given item type * - item's ammunition if applicable - * + * * @returns {Object} returns `rollData` and `parts` to be used in the item's Attack roll */ getAttackToHit() { @@ -915,7 +917,8 @@ export default class Item5e extends Item { if ( powerLevel ) rollData.item.level = powerLevel; // Configure the damage roll - const title = `${this.name} - ${game.i18n.localize("SW5E.DamageRoll")}`; + const actionFlavor = game.i18n.localize(itemData.actionType === "heal" ? "SW5E.Healing" : "SW5E.DamageRoll"); + const title = `${this.name} - ${actionFlavor}`; const rollConfig = { actor: this.actor, critical: critical ?? event?.altKey ?? false, diff --git a/module/templates.js b/module/templates.js index f3de3dc4..f2104023 100644 --- a/module/templates.js +++ b/module/templates.js @@ -21,6 +21,7 @@ export const preloadHandlebarsTemplates = async function() { "systems/sw5e/templates/actors/newActor/parts/swalt-active-effects.html", "systems/sw5e/templates/actors/newActor/parts/swalt-features.html", "systems/sw5e/templates/actors/newActor/parts/swalt-inventory.html", + "systems/sw5e/templates/actors/newActor/parts/swalt-notes.html", "systems/sw5e/templates/actors/newActor/parts/swalt-powerbook.html", "systems/sw5e/templates/actors/newActor/parts/swalt-resources.html", "systems/sw5e/templates/actors/newActor/parts/swalt-traits.html", diff --git a/packs/Icons/Archetypes/Construction Engineering.webp b/packs/Icons/Archetypes/Construction Engineering.webp deleted file mode 100644 index 429645273019ddcbfa162ef3e3adcc2eb2b04138..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11844 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 diff --git a/packs/Icons/Archetypes/Kro Var Order.webp b/packs/Icons/Archetypes/Kro Var Order.webp deleted file mode 100644 index be083660f8561e6a11133461d8adbf40ea90b755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10792 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 diff --git a/packs/Icons/Archetypes/Slayer Technique.webp b/packs/Icons/Archetypes/Slayer Technique.webp index 886b26825cd03ba34425e827615497e15e7dae31..aa23205823d02098110cfa53d973d394ceb22f2e 100644 GIT binary patch literal 10214 zcmV-UZY*=^1b|LoZ4lE?yaI5U-h>WHw@je9bNC2=*(w23b^&M}WnV#us@0sbD zogKGteC2n=-Sq^7kZ}Rd`t|nvbiec60*&?ejVTWBWVmG-eO13*V#7vrvKQAq#2kRk zZNmvU!7m3upJY;`agV=ni@cHSmjmF|8TMRY@~_Cq=_1m(02cKDm=xKN6EyA)`=8*! zodamsA903G7M~dR2j>PIQq@H?2f$r^%gNkdBzBt{AiqmW5pGP?6ybLOs?mtesjli@ z?ts0);!K3aHWzr%sPQ4S#^J?vaG)gsY}(NAV`d!V5%#sO-Tx2_Z4)PPYzu8k6a)ZF z+eY5;|KD-HV7@B^j4@lb#Y~nMw2kD5KhP&IbLG1sxNRdzqO+KLCVO;sb@jf$ZUq2{ zV>zOgW=7J?Xe7;OMw*dk1S1?Vv$R?*e(hh9_QQT!`pn07W@ct)wj*Y?Q+5ZA-2mIa zjO*fZH^FT8aZOwyj;IwkL52AJCdQPz2lwDAekE|ZDR<0vc#%uuDx4h@;23MbVi+rN z4NR$1W_BSifKxZ%0uCZK<6@W(GRJO!%5dZ|sFQn-I&f3NTE?ry_fx_k51I!(~l8q#PuR4e^g+qMm3 zJ7w%o%uB^FFBKVp%u7XeaqX^Yo~=s1emMV@zS?w-9BaeAcN}Z2a%)wuwZE&$t%fq{ zXsc}q|E+_69cFK3q&+cUxruqHz&k||^(u210``4iTx;f~6f~_BLvEOtiYy0-_4Xvo zmZfC5l_(_g#xmLhhpwq?NEsTKOz@+RsEe`MGAYlkkQ9_<*|b!opkJ0`B9kDL2!WJl zNb@=CQYklO1M$U6>(pxNM!$7J67*u z>T{(z7o}V8D1VSpV!J)qt`9KN)prf%9f4YgWU32&?gRpmgh*n?K1Bsa^ZTiwAEpc1 z;T(A#$^$4DkQ~Gq#@UEraeDkbk_=%O!q#)vGOZ&>%hZfzl1TVrMottTqw(<`%sT>D+_N{J zs7y+?mq36>CHufzbWBurv+IS;gw(2Fb!W|;%uQQ4k(kW0si0*Bi#dQX-{^3V3J`X5 zKpDwEYhr3BUb^=rl8DE>UTxh}Gg0Z*l2q`p;dLpqnpMgiV^|#3?Y$tRkoE~TpmZLT z)y+`JF_`h|j^5Gnc-#z!jYC__7=jLgj5YJ5;*Agrwm_P1~$b8S;eLJw~^}4tW%f zM+HP+h6$wMwhlOp=iRz~xViC!6bj8W3xhn1-UCLDO%U=hMiDS$??|FTYh5A4PYEKk z<1<7WPE@#uJhL=qRl}Gg{cX1{5>M-vL?4S2D6}_#ANTw)JCw)-515W#L0ph~r4e+i zuoaQ6bFrz6thqIqpi%2msX2P>=d2eG#}cmA15c{dJ%(94bA#cx=EK6w?5;s66skBz zOHzj1F}T;sSjFCxLL?+fnsYHL2mO92EK$SOIjrrP&2e9aamhwvjCpA^+^K@+Duy=t z!Vd>!SapmLa-&(Ls&htY(0{-2@ljTR(Mt{>&`H@VY<2?SLY{{K7y3wSPv5X`V8XDL2ot=qILor6QCK6O;9wuA*4rQgR zB$CQ$nU&KJ#pZ@&dfIM6vQoiKkA;yih9wBe2YaXhkhxh&GUi%feIy9T>Yn*r9PrN! z6;+^~DYJR5Z5TaZpRd!Qp6NKcMvv~iJKAIG!)D(2L+*ZXr6d2Ja%q5 z=m&3axhc`N-C!_KTqcbw0Xwly%a`bE8(XF9#9i8 z{lbvSACExv5e&^p2O1DsoCg4gmp_o3}$E zrhV{#XaMp{MMN>ba2O)MM#_ZCL5%rfxV}u>F;7bzyI+#2I0gtn>(R|6LY2p0c`BfR zNr^B_h8;|SoRP6H3We`;imdI~{n!DUlLEF(oZnLMtqegSur`BdxlUdasY>3Q# zKRRYa308RkYQs1bh9?EsRAyj5JI017tUpEwK-Zx`iM+2H1`oCoR##>LLc%1Rk!toq zKSFoouGC0jngMR%xqyvf7=^zF^y3Fd{RDVv8OrRdknco54tF+oK$2wt%*^1>dXWG)~#4*`KZv7_$-K`C*b zePsX{nX(CE70$q1F;fMA;9WB^bnKn_X#uJHA_k(ZssKC_W|tGfRciy}0zM`~*gQ1= zEfGVRnsbIgYKJlz2qnB533HgUB4wOD^cL7v`hOfJu)iOGt(jGt60FP9{FFuJM;42@ zbYTzyGrthM8vq3nY?Ki5QUh%|V=`HNrvOqZ%%prkw-0V%!=23C1RxKIG1;<|>dOcq zvLG@QK*eQNdA-}x4@*5*YQYkV7WpL^b5h2I;W&hw;lQ;v63iwk>F7IvLZWuaU5Ft7 z3lm5A4^-EcHWCm1hE2k-Vd}^ou4G%QeCx(>>t;XQ7e3sQs{&hc!tZooC)O&)bJ z5-UJLoF=epZE)G9fe%VyQa=qYO+;8aEdr=u#v3p%rFJ|ak7ApaI0!n}3q(8M)%Z0)}lS9cw)!oiof@nX=GgH zYld-nDLleB0pW3k5%iZ zd%n0CdVc=;)lPk@G0f^O*0Xo#)p5WVMS*Wm0sTtHQX{cE#Mmr^-5qe1lk)b7laT%{ zmvuT!t~)1)tBjd(dV9P^Buu|!`{l_l!anZLviW#Z_Mgj@uPeP{`otU9URB0+ZnR5{ z!eq!aM&~%UY8WFiJ#)ukC{*NzE4#Y~Gl`Px=K7HH(B2_&y%r9UC*|XV*(7Wl8j7V; z-`_KxT%SI02di|T1U z#^i8jRm!+7uHQQ3_qcv~)V!4H>H_hKMKvF-${pwBT2+4Nf=|zmz5jCc;b5S`%_8uY|Q5u!Z+rkLd1{7V8!L8GB*&%O<~!-br8p!;{Yu8 z2=U8fCIpj5$z|r{Fmt8ypUarb%;_$Fxy$#`_N_3Km9ac`^;)YVNFgc(Kl5{$S#Dl3 zrm<)$w9odO=Y8~!&^|Y+jZn4{-f;6{M9#veTbB~uCX|aJ zB5*-JQ0wifqpr9dLz#oe5r)ew%qaazzDhh`q-lFeW=-qwuUv2DgmzF@utU;OJ~^)K zS+o02Vi04Q)KOrqh<;x>9=3nG_u+^8AAI)Sciq}mmz#>~-AB7n0LI2?rV9>$5o{N2 zH;YS4R8g70d*o|RE@GkIS`=C8`>&w=Z@YT4#;3X7Q7@>Fra~fEi$<;4R1!gRPI}U? zIbD12T-SZzybrRE?yRL1zgq^sJ#PB%jpP4Moqgk?5D+|0;a75%GNs!GaAhQ1-#sjZUSlTk2c?UAJ+xoqVrd318B6P zZF=F<1BY$x&^`>Oi~r^AzdACS{IopIdTK>W)jXT^i1XX3K46lwM+4n^#{X|ap=!FXW0o=g)2=t zG7GX{WdMLjgLQ@pnE)_FuTL9?C;6>mxD1OAgO2|$ayO4}k2rn*lov+-%*j3-wnJ4{ z)7VS=-dXwkoYqFhh-0bnXA!2jOrD`%xNPQ%8&H*7#|o>tonxSCSwnV@tR#-;0M{0# zIb=FupWO7@S`6}TAZ@Slr2l;Tztj!M3v`G?f>sOi1?u`XYCr(hZBU= zTp=nP%T8x2o$~_IB#&SQUtrOcMG!@41UUhKezD8&?a42HvF_sEOAp>G*!$SCxoUkK z-}{2;*n|QxaUT`B`;ObGUb!6tU{qBhaWqs%!kcxLgs-NRPq$-Fo8z$QG3;&z6EN;u z5ldjG6Xm36!3GTtKK4uQ`~V>&N)RZOtOfV%J1=+M9v^3NvCF~dW1YTQada`bv8>Z* zok&YPSP|<>oYjIBTxN*FkGiy4F{EA)WKa~Rrxk207;4-;4 z1v|=&OB0tVXj^N1?un!qd$c<^4dYjnzJEUN98XWCKJ_znVb(1$&ftaO?pgq%_@qPV znVw0M0(@cG=5{I+k)c@YmCj{VDQ$4ADQIqd%9H`HUW8@Sw`S;16bXdy$B~l~Y{(7J zUO6AJqB0R$hUWS6(_cUMTimJ$ezUs%f4=PM^)=ETE`ff;d^s$@4M83e27t7njtB#M zlAAz`Dkh@2MO#D~pbMe_q5>f$6>B;^t&>e!8HB}N(m76&5mf(`w#I#8hZ-w79_Q35%GQNrANu*9|y<@DdQdLsvC-$_ag0On7 z_oR4u(LB*q0IgQt)sYs)=Yen=oVd&?%+W^z?6|NO_AmwdZelJ|t5`Ci(J4URF;Bie0!5Y4-uV+0yCI|u;5dk3IkTf#&hDFMb%RAhFNh?#L8e7}c;F#{_ z+1^peaz2#)@(}MHeMRF=DyFQMqGXc_VFYn)HN5VfRQW=AytSe_@p)oFJ3zSU7y%}@ zcOe6ILdZA`pB#QUz~m~uH=RzV_wT;RGi5WU0OY+p>WraU5LorH(V<$#;uJ+0=!p`* z^nfgkytXsit~@x-I^Vkz;R@WSG{DfPz$`hhD>gKQm$((UY#7~G9Vc8vhRW>=t8e(M z3#4VN%v(O53@;>gKdn*K37ZO{?*;|9J{1rrzDWVJV52}{j@p;fo1^VNtN(oX?$mE+ zHr*rkKX~JNkJ#*e@VZ-TC3jmy^by@QY+Mp4&zeCxk+`_An1(eKF_qT zx$j@4rW0m!auD&A=avv|9}1U6B@CYo;Ja{~I&y1e%F=It#KG@cC(;HHN|?CX2Y`8< z@AuxnZH}(pZf?&3i)kLuRb5v?@ys9)STK9pYBgG4JzS)Ge#L|D9_NprPyFqSL_$i8d`oom2aJj+nr;1s#Rsl;Ke|)CMIv-B?1+ z`^>f8-|-8k7JJMD`a01^qQdHw0VYFZuwfs8rnKg1s48GtYjyv>Y5n(a3-0aI+@C@_ z|8urFye-nZ_R(4X*h~Icj<1J1$@y{~rZI+co-T6`d>IS1pEhA4ypl)&Pzw}+MK8}r zUtR8aezEZ9&-K%hd*~2VMk*ot4LJlu8F7K9d#&AYic*^DMv&!90vO>)c7j&S45+6@ z%<_Eb`+nc|JnFl;oOoPu(>*mkG$Vbin#Q`!%Y zEHm%-P4srzb$!=;HCzJtkkSwWRLh}uvDkQ1C_6q0nzjfB;C$cabz^()Fs%whv3F>i zY`bxiD!DGA8lWyRhvu2X)zH~w`L9oe(H2W{HmmiN+ zeW8`N@Hrfz5g~@q2qDXp-t%VLA3y2%=TA*UtQX;pp8RC#$c;~+J%`V;6&0Z2nx%%g zF{mJhEw>U^Iz>HYt8pgaUWSR7$Ii)zCfO_NUh1jRS2fp!Ej zW01A?QdNXlUFHS{QVUOASh!>&pb-F}=7&RNzPoV#=-&kX`1y4&nN^<7C+Xp!8 zg+le(0?+{G;x_MW{rxB9K3O@f{UAt9)Zq&v zM1W001C(heSkBbE+S2X8d=u!+O$F zWTC>z7VeDhYW`q0-rtn7LPIDiWl`xEWFCN2L<5(`tjWwLk=Z=Y!^!Yp z?^++u#<4Xr7!}GxwG&NrtWuQ#fp|tftYeILs1Zh{PPS@i7a`72#2^4hQ~PD)Tl(DNelO!P$5!RN zA3)AiYJS+f=O-_Qe|P-1f1LI5Rqk*D5s*cu*qF0-?@s#ud$TUz&p5i={^I%ctEW4^ zIX&La>mgw^?><#QJnGg1XLoZ?$Njsb^1wqXK^Y239ir0HYLY81tAjovJtx+3=2As02Za}HK+ZwmkB4uQ1DiHL51U1k9Y!w-kHDIv`7!y z`w@HWvH!t)A4X5(@ZI`~>es7Y{b|*k-}Uc}NcaWXA{1Hw?$zv0~65Opg42Q}29w@#J5VKmUFF&7Zpt9xMp78v|^O=JEN=m+$Knr)%5qI9Rq0N8|hV ztInRE$%UbJFY3FaOR_#n5l{K9U?oUTzs5GK(IQ1gb zJ+$P(e=DwM7diOZ+P8lmd;QP9HqYMW1_4Fb_OG5!zCEdp-Belh?N92XV8O}5>?j>{BP1VK4trog?vW2Lfk?E^-X>XPFT-I=UXDAJ~FVsM`y&A1qDdcKhu zc-_oo788|q17WmH1@O_d&l?olj>*tskM@qFlP*2lrg0wHSy$wX$$Fw^ZlD!?jp zfTi=`_gR3#|7&;9p7YD_ZTb+ZHpgYMt&0mj?Xd{i zyYZi=u#YFmqMieD%b?s{-AaGV&02qh4E6Y z`g+NUP?K2=8?IMM#S}nD(*jB~Cb^bNr6L6al9G)Qf#@&bbDtuW5|B3PJB^K#%?p9&V?#^wg0O#SU;vIU?n<=UoEFHBLHz@Br_sY?GMT6niwm)Wbk*2Q zOjS37ekqvomu)Xc2E(tP`TWrJ;k;J3p{%VGMNgh}l-XEaRFb-hXd~4zrD%)>%s@n%2r#18X(J$zDKU|}KtPKC zu0m*?NJ}hozwT`k4&%bMgF@6fVr+uwPjXRCew-v1mPD&zfKERgQzbY zQqW2>3^0iF+Ry>8Lu9Z)wT8~LbU(D_JIX~&wsY6(Kz|kNdyXHME0STbU==Yaqy?X+dZA8>BJQAd?383ko68 ze&L0C@2%^(^Bn6)wJ|xI*g>e5mDY8D=c>S!sZtuLLV!Z{1h+D5R)9%kOk-V@5@Du_%RB#^@Xe%g>S57^DaWGn1qyB%bI*!9{y z&J~17i3sBe5rQH(Nb0%|_PU>awlh$qIdA+}&iZ_peq3k~0YpJW5rp9g_I;B|lOjk% zNZHi2_Ix(qJu$+V*Q#^~nb?WkI>wjT!T;HyJLGcS>cKD*&tqCEnW#YenDF4d5>9m2 zP3+c>*KM|bR~xi|sa7zMA)}3I|H3`uA{Qw@!hDZ%5VN?NHU2&6{Bo^>8dxK_$x+au zt%j+P3X(d4Z4(HNCEv0=*VkPHYm1eQn|Mvsb85_|hWM~|6D)^a{=2q$5oq!FC#z&-A~=2N z`-Clq?Bjl|DvSNX8TULnn$|Pp%K;>tuwAnC_GDg46v|z2sPOZ}970xe7-M45F_9>w z6xQr7+Youi9%(kFTc0dp~3QePi-zp#LdZFLIr$c(G!Tv`_b!JsB?uY2%_3 z4&y1jt90+d=$Fy1>CX?P4>z^{U(WpRY|-__!s+G0&!2~`@3))Yo%rr<&G(0ekAr#i zc6@U`|HthvXtS;N%)Wx8QV4_vAyhZ?PwjvI<=ekSI+|yQwaDeU_2AU*?85T;BH?Db zavI(3F?~RKX-iuJ=g*fwhP$S7`%B&BoiVqxWuYyzcwAE!^@6#aIftd0^MA^RM=H zeMA507U1c%i&s-;R%<_PWZ|l8(kv&rdVkLFaTmGHS7~Fg8)%|vQCTDfd|^`JULa7o zXq&HZY`Ipp_tfWV+|+jsDsdOYB0DepO6q3}r-Y>{{LMDoT=oq=cXy|iEGQ&ZKF^Z5 zhnvd%=$|u{$gwyqYxydK+Gu)fww9J5*2 zZ;cwo%p0f-y?TmsMv5g~<{S7Qx?VO=}>;(y4Fo&4UY{oVL!dGNrws++XkT*#+Oc z?ccSXzCg9&Y)euheoq2W{FF(EV9I@#qga7JLr_~~v#l>GR5+QN9+SJ@^aiqGOC+t+ zXF)2X0?U?VTrZ(9V9>`Ov+b1fC87imGhYMcbt~nab z9}#Yok%B(x%nCFzsNtWeV#H_ z`=suWGAS@#)Uj+6N*@FDhOQDwC?_mb9eN`Uo|orr_0b9b_mQ3iN(!{EJhhjocI81- zD1z2--P`v<)ge_DLN1&^x^zn=Xh<1o3@JfT6jcauUfutjUNGsV(x<%R{>3I}o0vs^ z;PK9~Fuaa;hM{^MZWht{@fog7@@ZT=FMsG-fBIB^HI^V$GDMOF$+@8r_N)r}r0n*k z5G@&QmTWtt!@OR$DKFfnv)ay@FpEJ@8Vbhb7^DDgIDEiQyT}FiE{H4w^n40HnrTt= z(onoGYChex4=&QpI8x5Ia;^9R$o~Ra_S!3Q2#Gdl#x)>(rC2fjnzT3PW$q@l61M0no;K~bxjv|r>MmjElRJLX zQ@YH@xDRAa=kMFvqVBn5{4`U30q~`jst2BGNtU|}Um&@kPFXK4?Zi0vT{;g6uJnt_ zreE$9IVmtmDN4L4%TZYXlrcDCrc|(L-Z|yIGW69Q-@%zuCrd|STqitluJh>|#aB|z*H7l|*3+}uu0u3&_LoS` zM`Y;>Pk-ld$ES3G`21hcg2-7hUGtcZ8d>&L{rbP`pD~$cGHOT&lPD(Ds8Fa%4MonB z86pWM6XA4?PgT5cBBrIOvhyZu+PbfciO3iovA`RH(&n1y-&pkg8%y3q#b4XM;luRU zW!&0+%zPqaoycYl+ocw|FjD5HocWP6F){HdtJG8laGbdQd0y8SKT>|L8NOJgnt{+= gTD!i!ljME{t$8Ocf8~`wKHghcqpFMi%J$}O0xS**k^lez literal 11012 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 z {{/unless}} - -
- {{#unless isVehicle}} - - - {{/unless}} -
@@ -100,40 +30,7 @@
  • {{v}}
  • {{/each}} -
    -
    - - - - -
      - {{#each data.traits.armorProf.selected as |v k|}} -
    • {{v}}
    • - {{/each}} -
    -
    - - - - -
      - {{#each data.traits.toolProf.selected as |v k|}} -
    • {{v}}
    • - {{/each}} -
    -
    -
    - - - - -
      - {{#each data.traits.weaponProf.selected as |v k|}} -
    • {{v}}
    • - {{/each}} -
    -
    @@ -179,7 +76,47 @@ {{/each}}
    {{#if isCharacter}} +
    + + + + +
      + {{#each data.traits.weaponProf.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    +
    + + + + +
      + {{#each data.traits.armorProf.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    +
    + + + + +
      + {{#each data.traits.toolProf.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    {{/if}} + + {{#unless isVehicle}} +
    + + +
    + {{/unless}}
      - + \ No newline at end of file