diff --git a/module/applications/dialogs/damageReductionDialog.mjs b/module/applications/dialogs/damageReductionDialog.mjs index 50225528..930ca1a1 100644 --- a/module/applications/dialogs/damageReductionDialog.mjs +++ b/module/applications/dialogs/damageReductionDialog.mjs @@ -1,4 +1,4 @@ -import { damageKeyToNumber, getDamageLabel } from '../../helpers/utils.mjs'; +import { damageKeyToNumber, getArmorSources, getDamageLabel } from '../../helpers/utils.mjs'; const { ApplicationV2, HandlebarsApplicationMixin } = foundry.applications.api; @@ -21,15 +21,11 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap this.rulesDefault ); - const allArmorEffects = Array.from(actor.allApplicableEffects()).filter(x => x.system.armorData); - const orderedArmorEffects = game.system.api.data.activeEffects.changeTypes.armor.orderEffectsForAutoChange( - allArmorEffects, - true - ); - const armor = orderedArmorEffects.reduce((acc, effect) => { - const { current, max } = effect.system.armorData; + const orderedArmorSources = getArmorSources(actor).filter(s => !s.disabled); + const armor = orderedArmorSources.reduce((acc, { document }) => { + const { current, max } = document.type === 'armor' ? document.system.armor : document.system.armorData; acc.push({ - effect: effect, + effect: document, marks: [...Array(max).keys()].reduce((acc, _, index) => { const spent = index < current; acc[foundry.utils.randomID()] = { selected: false, disabled: spent, spent }; @@ -159,8 +155,11 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap const parent = source.effect.origin ? await foundry.utils.fromUuid(source.effect.origin) : source.effect.parent; + + const useEffectName = parent.type === 'armor' || parent instanceof Actor; + const label = useEffectName ? source.effect.name : parent.name; armorSources.push({ - label: parent.name, + label: label, uuid: source.effect.uuid, marks: source.marks }); @@ -219,13 +218,10 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap const maxArmor = this.actor.system.rules.damageReduction.maxArmorMarked.value; this.marks = { - armor: Object.keys(this.marks.armor).reduce((acc, key, index) => { - const mark = this.marks.armor[key]; + armor: this.marks.armor.map((mark, index) => { const keepSelectValue = !this.rulesOn || index + 1 <= maxArmor; - acc[key] = { ...mark, selected: keepSelectValue ? mark.selected : false }; - - return acc; - }, {}), + return { ...mark, selected: keepSelectValue ? mark.selected : false }; + }), stress: this.marks.stress }; diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index bfcc13a2..f2686fdd 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -3,7 +3,7 @@ import DhDeathMove from '../../dialogs/deathMove.mjs'; import { CharacterLevelup, LevelupViewMode } from '../../levelup/_module.mjs'; import DhCharacterCreation from '../../characterCreation/characterCreation.mjs'; import FilterMenu from '../../ux/filter-menu.mjs'; -import { getDocFromElement, getDocFromElementSync } from '../../../helpers/utils.mjs'; +import { getArmorSources, getDocFromElement, getDocFromElementSync } from '../../../helpers/utils.mjs'; /**@typedef {import('@client/applications/_types.mjs').ApplicationClickAction} ApplicationClickAction */ @@ -943,20 +943,14 @@ export default class CharacterSheet extends DHBaseActorSheet { return; } - const armorSources = []; - for (var effect of Array.from(this.document.allApplicableEffects())) { - const origin = effect.origin ? await foundry.utils.fromUuid(effect.origin) : effect.parent; - if (!effect.system.armorData || effect.disabled || effect.isSuppressed) continue; - - const originIsActor = origin instanceof Actor; - const name = originIsActor ? effect.name : origin.name; - armorSources.push({ - uuid: effect.uuid, - name, - ...effect.system.armorData - }); - } - + const armorSources = getArmorSources(this.document) + .filter(s => !s.disabled) + .toReversed() + .map(({ name, document, data }) => ({ + ...data, + uuid: document.uuid, + name + })); if (!armorSources.length) return; const useResourcePips = game.settings.get( @@ -980,11 +974,6 @@ export default class CharacterSheet extends DHBaseActorSheet { direction: 'DOWN' }); - html.querySelectorAll('.armor-marks-input').forEach(element => { - element.addEventListener('blur', CharacterSheet.armorSourceUpdate); - element.addEventListener('input', CharacterSheet.armorSourceInput); - }); - html.querySelectorAll('.armor-slot').forEach(element => { element.addEventListener('click', CharacterSheet.armorSourcePipUpdate); }); @@ -999,49 +988,45 @@ export default class CharacterSheet extends DHBaseActorSheet { } /** Update specific armor source */ - static async armorSourceUpdate(event) { - const effect = await foundry.utils.fromUuid(event.target.dataset.uuid); - const armorChange = effect.system.armorChange; - if (!armorChange) return; - const current = Math.max(Math.min(Number.parseInt(event.target.value), effect.system.armorData.max), 0); - - const newChanges = effect.system.changes.map(change => ({ - ...change, - value: change.type === 'armor' ? { ...change.value, current } : change.value - })); - - event.target.value = current; - const progressBar = event.target.closest('.status-bar.armor-slots').querySelector('progress'); - progressBar.value = current; - - await effect.update({ 'system.changes': newChanges }); - } - static async armorSourcePipUpdate(event) { const target = event.target.closest('.armor-slot'); - const effect = await foundry.utils.fromUuid(target.dataset.uuid); - const armorChange = effect.system.armorChange; - if (!armorChange) return; + const { uuid, value } = target.dataset; + const document = await foundry.utils.fromUuid(uuid); - const { current } = effect.system.armorData; + let inputValue = Number.parseInt(value); + let decreasing = false; + let newCurrent = 0; - const inputValue = Number.parseInt(target.dataset.value); - const decreasing = current >= inputValue; - const newCurrent = decreasing ? inputValue - 1 : inputValue; + if (document.type === 'armor') { + decreasing = document.system.armor.current >= inputValue; + newCurrent = decreasing ? inputValue - 1 : inputValue; + await document.update({ 'system.armor.current': newCurrent }); + } else if (document.system.armorData) { + const { current } = document.system.armorData; + decreasing = current >= inputValue; + newCurrent = decreasing ? inputValue - 1 : inputValue; - const newChanges = effect.system.changes.map(change => ({ - ...change, - value: change.type === 'armor' ? { ...change.value, current: newCurrent } : change.value - })); + const newChanges = document.system.changes.map(change => ({ + ...change, + value: change.type === 'armor' ? { ...change.value, current: newCurrent } : change.value + })); + + await document.update({ 'system.changes': newChanges }); + } else { + return; + } const container = target.closest('.slot-bar'); for (const armorSlot of container.querySelectorAll('.armor-slot i')) { - const marked = !decreasing && Number.parseInt(armorSlot.dataset.index) < newCurrent; - armorSlot.classList.toggle('fa-shield', marked); - armorSlot.classList.toggle('fa-shield-halved', !marked); + const index = Number.parseInt(armorSlot.dataset.index); + if (decreasing && index >= newCurrent) { + armorSlot.classList.remove('fa-shield'); + armorSlot.classList.add('fa-shield-halved'); + } else if (!decreasing && index < newCurrent) { + armorSlot.classList.add('fa-shield'); + armorSlot.classList.remove('fa-shield-halved'); + } } - - await effect.update({ 'system.changes': newChanges }); } static async #toggleResourceManagement(event, button) { diff --git a/module/applications/sheets/items/armor.mjs b/module/applications/sheets/items/armor.mjs index 46d03ede..54685fee 100644 --- a/module/applications/sheets/items/armor.mjs +++ b/module/applications/sheets/items/armor.mjs @@ -34,13 +34,6 @@ export default class ArmorSheet extends ItemAttachmentSheet(DHBaseItemSheet) { ...super.PARTS }; - _attachPartListeners(partId, htmlElement, options) { - super._attachPartListeners(partId, htmlElement, options); - - for (const element of htmlElement.querySelectorAll('.base-score-input')) - element.addEventListener('change', this.updateArmorEffect.bind(this)); - } - /**@inheritdoc */ async _preparePartContext(partId, context) { await super._preparePartContext(partId, context); @@ -48,11 +41,6 @@ export default class ArmorSheet extends ItemAttachmentSheet(DHBaseItemSheet) { switch (partId) { case 'settings': context.features = this.document.system.armorFeatures.map(x => x.value); - context.armorScore = this.document.system.armorData.max; - break; - case 'effects': - context.effects.actives = context.effects.actives.filter(x => !x.system.armorData); - context.effects.inactives = context.effects.inactives.filter(x => !x.system.armorData); break; } diff --git a/module/data/activeEffect/baseEffect.mjs b/module/data/activeEffect/baseEffect.mjs index 81ddb4ad..c00b8cf7 100644 --- a/module/data/activeEffect/baseEffect.mjs +++ b/module/data/activeEffect/baseEffect.mjs @@ -151,7 +151,7 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel { const newArmorTotal = (changed.system?.changes ?? []).reduce((acc, change) => { if (change.type === 'armor') acc += change.value.current; return acc; - }, 0); + }, this.parent.actor.system.armor?.system?.armor?.current ?? 0); const armorData = getScrollTextData(this.parent.actor, { value: newArmorTotal }, 'armor'); options.scrollingTextData = [armorData]; diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index b8846a75..55c1c7d8 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -6,6 +6,7 @@ import DhCreature from './creature.mjs'; import { attributeField, stressDamageReductionRule, bonusField } from '../fields/actorField.mjs'; import { ActionField } from '../fields/actionField.mjs'; import DHCharacterSettings from '../../applications/sheets-configs/character-settings.mjs'; +import { getArmorSources } from '../../helpers/utils.mjs'; export default class DhCharacter extends DhCreature { /**@override */ @@ -469,43 +470,57 @@ export default class DhCharacter extends DhCreature { const increasing = armorChange >= 0; let remainingChange = Math.abs(armorChange); - const armorEffects = Array.from(this.parent.allApplicableEffects()).filter(x => x.system.armorData); - const orderedEffects = game.system.api.data.activeEffects.changeTypes.armor.orderEffectsForAutoChange( - armorEffects, - increasing - ); + const orderedSources = getArmorSources(this.parent).filter(s => !s.disabled); - const embeddedUpdates = []; - for (const armorEffect of orderedEffects) { + const handleArmorData = (embeddedUpdates, doc, armorData) => { let usedArmorChange = 0; if (clear) { - usedArmorChange -= armorEffect.system.armorChange.value.current; + usedArmorChange -= armorData.current; } else { if (increasing) { - const remainingArmor = armorEffect.system.armorData.max - armorEffect.system.armorData.current; + const remainingArmor = armorData.max - armorData.current; usedArmorChange = Math.min(remainingChange, remainingArmor); remainingChange -= usedArmorChange; } else { - const changeChange = Math.min(armorEffect.system.armorData.current, remainingChange); + const changeChange = Math.min(armorData.current, remainingChange); usedArmorChange -= changeChange; remainingChange -= changeChange; } } - if (!usedArmorChange) continue; + if (!usedArmorChange) return usedArmorChange; else { - if (!embeddedUpdates[armorEffect.parent.id]) - embeddedUpdates[armorEffect.parent.id] = { doc: armorEffect.parent, updates: [] }; + if (!embeddedUpdates[doc.id]) embeddedUpdates[doc.id] = { doc: doc, updates: [] }; - embeddedUpdates[armorEffect.parent.id].updates.push({ - '_id': armorEffect.id, - 'system.changes': armorEffect.system.changes.map(change => ({ + return usedArmorChange; + } + }; + + const armorUpdates = []; + const effectUpdates = []; + for (const { document: armorSource } of orderedSources) { + const usedArmorChange = handleArmorData( + armorSource.type === 'armor' ? armorUpdates : effectUpdates, + armorSource.parent, + armorSource.type === 'armor' ? armorSource.system.armor : armorSource.system.armorData + ); + if (!usedArmorChange) continue; + + if (armorSource.type === 'armor') { + armorUpdates[armorSource.parent.id].updates.push({ + '_id': armorSource.id, + 'system.armor.current': armorSource.system.armor.current + usedArmorChange + }); + } else { + effectUpdates[armorSource.parent.id].updates.push({ + '_id': armorSource.id, + 'system.changes': armorSource.system.changes.map(change => ({ ...change, value: change.type === 'armor' ? { ...change.value, - current: armorEffect.system.armorChange.value.current + usedArmorChange + current: armorSource.system.armorChange.value.current + usedArmorChange } : change.value })) @@ -515,22 +530,34 @@ export default class DhCharacter extends DhCreature { if (remainingChange === 0 && !clear) break; } - const updateValues = Object.values(embeddedUpdates); - for (const [index, { doc, updates }] of updateValues.entries()) - await doc.updateEmbeddedDocuments('ActiveEffect', updates, { render: index === updateValues.length - 1 }); + const armorUpdateValues = Object.values(armorUpdates); + for (const [index, { doc, updates }] of armorUpdateValues.entries()) + await doc.updateEmbeddedDocuments('Item', updates, { render: index === armorUpdateValues.length - 1 }); + + const effectUpdateValues = Object.values(effectUpdates); + for (const [index, { doc, updates }] of effectUpdateValues.entries()) + await doc.updateEmbeddedDocuments('ActiveEffect', updates, { + render: index === effectUpdateValues.length - 1 + }); } async updateArmorEffectValue({ uuid, value }) { - const effect = await foundry.utils.fromUuid(uuid); - const effectValue = effect.system.armorChange.value; - await effect.update({ - 'system.changes': [ - { - ...effect.system.armorChange, - value: { ...effectValue, current: effectValue.current + value } - } - ] - }); + const source = await foundry.utils.fromUuid(uuid); + if (source.type === 'armor') { + await source.update({ + 'system.armor.current': source.system.armor.current + value + }); + } else { + const effectValue = source.system.armorChange.value; + await source.update({ + 'system.changes': [ + { + ...source.system.armorChange, + value: { ...effectValue, current: effectValue.current + value } + } + ] + }); + } } get sheetLists() { @@ -657,8 +684,8 @@ export default class DhCharacter extends DhCreature { prepareBaseData() { super.prepareBaseData(); this.armorScore = { - max: 0, - value: 0 + max: this.armor?.system.armor.max ?? 0, + value: this.armor?.system.armor.current ?? 0 }; this.evasion += this.class.value?.system?.evasion ?? 0; diff --git a/module/data/item/armor.mjs b/module/data/item/armor.mjs index 18d20e2e..760f9c22 100644 --- a/module/data/item/armor.mjs +++ b/module/data/item/armor.mjs @@ -19,6 +19,14 @@ export default class DHArmor extends AttachableItem { ...super.defineSchema(), tier: new fields.NumberField({ required: true, integer: true, initial: 1, min: 1 }), equipped: new fields.BooleanField({ initial: false }), + armor: new fields.SchemaField({ + current: new fields.NumberField({ integer: true, min: 0, initial: 0 }), + max: new fields.NumberField({ required: true, integer: true, initial: 0 }) + }), + baseThresholds: new fields.SchemaField({ + major: new fields.NumberField({ integer: true, initial: 0 }), + severe: new fields.NumberField({ integer: true, initial: 0 }) + }), armorFeatures: new fields.ArrayField( new fields.SchemaField({ value: new fields.StringField({ @@ -27,11 +35,7 @@ export default class DHArmor extends AttachableItem { effectIds: new fields.ArrayField(new fields.StringField({ required: true })), actionIds: new fields.ArrayField(new fields.StringField({ required: true })) }) - ), - baseThresholds: new fields.SchemaField({ - major: new fields.NumberField({ integer: true, initial: 0 }), - severe: new fields.NumberField({ integer: true, initial: 0 }) - }) + ) }; } @@ -48,17 +52,6 @@ export default class DHArmor extends AttachableItem { ); } - get armorEffect() { - return this.parent.effects.find(x => x.system.armorData); - } - - get armorData() { - const armorEffect = this.armorEffect; - if (!armorEffect) return { value: 0, max: 0 }; - - return armorEffect.system.armorData; - } - /**@inheritdoc */ async getDescriptionData() { const baseDescription = this.description; @@ -73,17 +66,6 @@ export default class DHArmor extends AttachableItem { return { prefix, value: baseDescription, suffix: null }; } - /**@inheritdoc */ - async _onCreate(_data, _options, userId) { - if (userId !== game.user.id) return; - - if (!this.parent.effects.some(x => x.system.armorData)) { - this.parent.createEmbeddedDocuments('ActiveEffect', [ - game.system.api.data.activeEffects.changeTypes.armor.getDefaultArmorEffect() - ]); - } - } - /**@inheritdoc */ async _preUpdate(changes, options, user) { const allowed = await super._preUpdate(changes, options, user); @@ -184,7 +166,7 @@ export default class DHArmor extends AttachableItem { */ _getTags() { const tags = [ - `${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.armorData.max}`, + `${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.armor.max}`, `${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseThresholds.base')}: ${this.baseThresholds.major} / ${this.baseThresholds.severe}` ]; @@ -196,7 +178,7 @@ export default class DHArmor extends AttachableItem { * @returns {(string | { value: string, icons: string[] })[]} An array of localized strings and damage label objects. */ _getLabels() { - const labels = [`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.armorData.max}`]; + const labels = [`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.armor.max}`]; return labels; } diff --git a/module/data/item/base.mjs b/module/data/item/base.mjs index 25986afe..21a11149 100644 --- a/module/data/item/base.mjs +++ b/module/data/item/base.mjs @@ -220,6 +220,19 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel { addLinkedItemsDiff(changed.system?.features, this.features, options); + const autoSettings = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Automation); + const armorChanged = + changed.system?.armor?.current !== undefined && changed.system.armor.current !== this.armor.current; + if (armorChanged && autoSettings.resourceScrollTexts && this.parent.parent?.type === 'character') { + const armorChangeValue = changed.system.armor.current - this.armor.current; + const armorData = getScrollTextData( + this.parent.parent, + { value: armorChangeValue + this.parent.parent.system.armorScore.value }, + 'armor' + ); + options.scrollingTextData = [armorData]; + } + if (changed.system?.actions) { const triggersToRemove = Object.keys(changed.system.actions).reduce((acc, key) => { const action = changed.system.actions[key]; diff --git a/module/helpers/utils.mjs b/module/helpers/utils.mjs index 59ebbbb3..9038bb08 100644 --- a/module/helpers/utils.mjs +++ b/module/helpers/utils.mjs @@ -743,3 +743,67 @@ export function getUnusedDamageTypes(parts) { return acc; }, []); } + +/** Returns resolved armor sources ordered by application order */ +export function getArmorSources(actor) { + const rawArmorSources = Array.from(actor.allApplicableEffects()).filter(x => x.system.armorData); + if (actor.system.armor) rawArmorSources.push(actor.system.armor); + + const data = rawArmorSources.map(doc => { + // Get the origin item. Since the actor is already loaded, it should already be cached + // Consider the relative function versions if this causes an issue + const isItem = doc instanceof Item; + const origin = isItem ? doc : doc.origin ? foundry.utils.fromUuidSync(doc.origin) : doc.parent; + return { + origin, + name: origin.name, + document: doc, + data: doc.system.armor ?? doc.system.armorData, + disabled: !!doc.disabled || !!doc.isSuppressed + }; + }); + + return sortBy(data, ({ origin }) => { + switch (origin?.type) { + case 'class': + case 'subclass': + case 'ancestry': + case 'community': + case 'feature': + case 'domainCard': + return 2; + case 'loot': + case 'consumable': + return 3; + case 'character': + return 4; + case 'weapon': + return 5; + case 'armor': + return 6; + default: + return 1; + } + }); +} + +/** + * Returns an array sorted by a function that returns a thing to compare, or an array to compare in order + * Similar to lodash's sortBy function. + */ +export function sortBy(arr, fn) { + const directCompare = (a, b) => (a < b ? -1 : a > b ? 1 : 0); + const cmp = (a, b) => { + const resultA = fn(a); + const resultB = fn(b); + if (Array.isArray(resultA) && Array.isArray(resultB)) { + for (let idx = 0; idx < Math.min(resultA.length, resultB.length); idx++) { + const result = directCompare(resultA[idx], resultB[idx]); + if (result !== 0) return result; + } + return 0; + } + return directCompare(resultA, resultB); + }; + return arr.sort(cmp); +} diff --git a/src/packs/items/armors/armor_Advanced_Chainmail_Armor_LzLOJ9EVaHWAjoq9.json b/src/packs/items/armors/armor_Advanced_Chainmail_Armor_LzLOJ9EVaHWAjoq9.json index 1a06285b..4566396a 100644 --- a/src/packs/items/armors/armor_Advanced_Chainmail_Armor_LzLOJ9EVaHWAjoq9.json +++ b/src/packs/items/armors/armor_Advanced_Chainmail_Armor_LzLOJ9EVaHWAjoq9.json @@ -5,6 +5,10 @@ "_id": "LzLOJ9EVaHWAjoq9", "img": "icons/equipment/chest/breastplate-banded-steel-gold.webp", "system": { + "armor": { + "current": 0, + "max": 6 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!LzLOJ9EVaHWAjoq9.qlzHOAnpBYzosQxK" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "6" - } - } - ] - }, - "_id": "YehcKtTeJ18q0THd", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!LzLOJ9EVaHWAjoq9.YehcKtTeJ18q0THd" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Advanced_Full_Plate_Armor_crIbCb9NZ4K0VpoU.json b/src/packs/items/armors/armor_Advanced_Full_Plate_Armor_crIbCb9NZ4K0VpoU.json index 93b9d5b2..52adc7aa 100644 --- a/src/packs/items/armors/armor_Advanced_Full_Plate_Armor_crIbCb9NZ4K0VpoU.json +++ b/src/packs/items/armors/armor_Advanced_Full_Plate_Armor_crIbCb9NZ4K0VpoU.json @@ -5,6 +5,10 @@ "_id": "crIbCb9NZ4K0VpoU", "img": "icons/equipment/chest/breastplate-layered-steel-grey.webp", "system": { + "armor": { + "current": 0, + "max": 6 + }, "description": "", "actions": {}, "attached": [], @@ -68,45 +72,6 @@ "compendiumSource": null }, "_key": "!items.effects!crIbCb9NZ4K0VpoU.awdHgEaM54G3emOU" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "6" - } - } - ] - }, - "_id": "Xp0MlTLdCe2oP36X", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!crIbCb9NZ4K0VpoU.Xp0MlTLdCe2oP36X" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Advanced_Gambeson_Armor_epkAmlZVk7HOfUUT.json b/src/packs/items/armors/armor_Advanced_Gambeson_Armor_epkAmlZVk7HOfUUT.json index be6c5070..36edec39 100644 --- a/src/packs/items/armors/armor_Advanced_Gambeson_Armor_epkAmlZVk7HOfUUT.json +++ b/src/packs/items/armors/armor_Advanced_Gambeson_Armor_epkAmlZVk7HOfUUT.json @@ -5,6 +5,10 @@ "_id": "epkAmlZVk7HOfUUT", "img": "icons/equipment/chest/breastplate-purple.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!epkAmlZVk7HOfUUT.Fq9Q93IHCchhfSss" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "GyPhsm7zLznZDfN2", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!epkAmlZVk7HOfUUT.GyPhsm7zLznZDfN2" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Advanced_Leather_Armor_itSOp2GCyem0f7oM.json b/src/packs/items/armors/armor_Advanced_Leather_Armor_itSOp2GCyem0f7oM.json index ca5fd9f1..3e5dbd3b 100644 --- a/src/packs/items/armors/armor_Advanced_Leather_Armor_itSOp2GCyem0f7oM.json +++ b/src/packs/items/armors/armor_Advanced_Leather_Armor_itSOp2GCyem0f7oM.json @@ -5,6 +5,10 @@ "_id": "itSOp2GCyem0f7oM", "img": "icons/equipment/chest/breastplate-layered-leather-blue.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": {}, "attached": [], @@ -25,47 +29,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "XJueICAnl5vu2q2U", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!itSOp2GCyem0f7oM.XJueICAnl5vu2q2U" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Bellamoi_Fine_Armor_WuoVwZA53XRAIt6d.json b/src/packs/items/armors/armor_Bellamoi_Fine_Armor_WuoVwZA53XRAIt6d.json index 2844e96c..c470de87 100644 --- a/src/packs/items/armors/armor_Bellamoi_Fine_Armor_WuoVwZA53XRAIt6d.json +++ b/src/packs/items/armors/armor_Bellamoi_Fine_Armor_WuoVwZA53XRAIt6d.json @@ -5,6 +5,10 @@ "_id": "WuoVwZA53XRAIt6d", "img": "icons/equipment/chest/breastplate-layered-gold.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!WuoVwZA53XRAIt6d.Hy0sNtFS1JAXxgwC" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "2OMciFns3bSETeH9", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!WuoVwZA53XRAIt6d.2OMciFns3bSETeH9" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Bladefare_Armor_mNN6pvcsS10ChrWF.json b/src/packs/items/armors/armor_Bladefare_Armor_mNN6pvcsS10ChrWF.json index d51ec961..4ee73939 100644 --- a/src/packs/items/armors/armor_Bladefare_Armor_mNN6pvcsS10ChrWF.json +++ b/src/packs/items/armors/armor_Bladefare_Armor_mNN6pvcsS10ChrWF.json @@ -5,6 +5,10 @@ "_id": "mNN6pvcsS10ChrWF", "img": "icons/equipment/chest/breastplate-collared-steel-grey.webp", "system": { + "armor": { + "current": 0, + "max": 6 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!mNN6pvcsS10ChrWF.s8KtTIngTjnOlaTP" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "6" - } - } - ] - }, - "_id": "dIb9PWvzyS3jYDUj", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!mNN6pvcsS10ChrWF.dIb9PWvzyS3jYDUj" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Chainmail_Armor_haULhuEg37zUUvhb.json b/src/packs/items/armors/armor_Chainmail_Armor_haULhuEg37zUUvhb.json index 07b9150a..4f0719a7 100644 --- a/src/packs/items/armors/armor_Chainmail_Armor_haULhuEg37zUUvhb.json +++ b/src/packs/items/armors/armor_Chainmail_Armor_haULhuEg37zUUvhb.json @@ -5,6 +5,10 @@ "_id": "haULhuEg37zUUvhb", "img": "icons/equipment/chest/breastplate-scale-grey.webp", "system": { + "armor": { + "current": 0, + "max": 4 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!haULhuEg37zUUvhb.ZfO5NjpqEIzZVlPq" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "4" - } - } - ] - }, - "_id": "hA0EcaykFiIpg4ZH", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!haULhuEg37zUUvhb.hA0EcaykFiIpg4ZH" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Channeling_Armor_vMJxEWz1srfwMsoj.json b/src/packs/items/armors/armor_Channeling_Armor_vMJxEWz1srfwMsoj.json index c4b2da7b..e805d5d1 100644 --- a/src/packs/items/armors/armor_Channeling_Armor_vMJxEWz1srfwMsoj.json +++ b/src/packs/items/armors/armor_Channeling_Armor_vMJxEWz1srfwMsoj.json @@ -5,6 +5,10 @@ "_id": "vMJxEWz1srfwMsoj", "img": "icons/equipment/chest/robe-collared-blue.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!vMJxEWz1srfwMsoj.8bwf1Ri3jYkjphEv" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "Wejd1c4e8VtnFoc4", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!vMJxEWz1srfwMsoj.Wejd1c4e8VtnFoc4" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Dragonscale_Armor_mdQ69eFHyAQUDmE7.json b/src/packs/items/armors/armor_Dragonscale_Armor_mdQ69eFHyAQUDmE7.json index 8d660958..4b270234 100644 --- a/src/packs/items/armors/armor_Dragonscale_Armor_mdQ69eFHyAQUDmE7.json +++ b/src/packs/items/armors/armor_Dragonscale_Armor_mdQ69eFHyAQUDmE7.json @@ -5,6 +5,10 @@ "_id": "mdQ69eFHyAQUDmE7", "img": "icons/equipment/chest/breastplate-rivited-red.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": { "J1MCpcfXByKaSSgx": { @@ -62,47 +66,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "FgjNYkbghYSz8gwW", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!mdQ69eFHyAQUDmE7.FgjNYkbghYSz8gwW" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Dunamis_Silkchain_hAY6UgdGT7dj22Pr.json b/src/packs/items/armors/armor_Dunamis_Silkchain_hAY6UgdGT7dj22Pr.json index 5f7137c5..6d223ada 100644 --- a/src/packs/items/armors/armor_Dunamis_Silkchain_hAY6UgdGT7dj22Pr.json +++ b/src/packs/items/armors/armor_Dunamis_Silkchain_hAY6UgdGT7dj22Pr.json @@ -5,6 +5,10 @@ "_id": "hAY6UgdGT7dj22Pr", "img": "icons/equipment/chest/robe-layered-red.webp", "system": { + "armor": { + "current": 0, + "max": 7 + }, "description": "", "actions": { "8PD5JQuS05IA6HJT": { @@ -88,47 +92,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "7" - } - } - ] - }, - "_id": "n4wyEBHbHIuYNBzt", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!hAY6UgdGT7dj22Pr.n4wyEBHbHIuYNBzt" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Elundrian_Chain_Armor_Q6LxmtFetDDkoZVZ.json b/src/packs/items/armors/armor_Elundrian_Chain_Armor_Q6LxmtFetDDkoZVZ.json index da664058..1cf74e2e 100644 --- a/src/packs/items/armors/armor_Elundrian_Chain_Armor_Q6LxmtFetDDkoZVZ.json +++ b/src/packs/items/armors/armor_Elundrian_Chain_Armor_Q6LxmtFetDDkoZVZ.json @@ -5,6 +5,10 @@ "_id": "Q6LxmtFetDDkoZVZ", "img": "icons/equipment/chest/breastplate-sculpted-green.webp", "system": { + "armor": { + "current": 0, + "max": 4 + }, "description": "", "actions": {}, "attached": [], @@ -64,45 +68,6 @@ "compendiumSource": null }, "_key": "!items.effects!Q6LxmtFetDDkoZVZ.xGxqTCO8MjNq5Cw6" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "4" - } - } - ] - }, - "_id": "gZfuMqjYTYLspQop", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!Q6LxmtFetDDkoZVZ.gZfuMqjYTYLspQop" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Emberwoven_Armor_bcQUh4QG3qFX0Vx6.json b/src/packs/items/armors/armor_Emberwoven_Armor_bcQUh4QG3qFX0Vx6.json index ea9c1d02..616bbadf 100644 --- a/src/packs/items/armors/armor_Emberwoven_Armor_bcQUh4QG3qFX0Vx6.json +++ b/src/packs/items/armors/armor_Emberwoven_Armor_bcQUh4QG3qFX0Vx6.json @@ -5,6 +5,10 @@ "_id": "bcQUh4QG3qFX0Vx6", "img": "icons/equipment/chest/breastplate-layered-gilded-orange.webp", "system": { + "armor": { + "current": 0, + "max": 6 + }, "description": "", "actions": { "L8mHf4A8SylyxsMH": { @@ -86,47 +90,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "6" - } - } - ] - }, - "_id": "5t3jCX3AGiWBB4DN", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!bcQUh4QG3qFX0Vx6.5t3jCX3AGiWBB4DN" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Full_Fortified_Armor_7emTSt6nhZuTlvt5.json b/src/packs/items/armors/armor_Full_Fortified_Armor_7emTSt6nhZuTlvt5.json index 7d96f091..9f2d7ece 100644 --- a/src/packs/items/armors/armor_Full_Fortified_Armor_7emTSt6nhZuTlvt5.json +++ b/src/packs/items/armors/armor_Full_Fortified_Armor_7emTSt6nhZuTlvt5.json @@ -5,6 +5,10 @@ "_id": "7emTSt6nhZuTlvt5", "img": "icons/equipment/chest/breastplate-layered-steel.webp", "system": { + "armor": { + "current": 0, + "max": 4 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!7emTSt6nhZuTlvt5.QIefVb73cm9gYju8" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "4" - } - } - ] - }, - "_id": "9jCrg3Acd75jVclW", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!7emTSt6nhZuTlvt5.9jCrg3Acd75jVclW" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Full_Plate_Armor_UdUJNa31WxFW2noa.json b/src/packs/items/armors/armor_Full_Plate_Armor_UdUJNa31WxFW2noa.json index 95b015cf..7701d063 100644 --- a/src/packs/items/armors/armor_Full_Plate_Armor_UdUJNa31WxFW2noa.json +++ b/src/packs/items/armors/armor_Full_Plate_Armor_UdUJNa31WxFW2noa.json @@ -5,6 +5,10 @@ "_id": "UdUJNa31WxFW2noa", "img": "icons/equipment/chest/breastplate-collared-steel.webp", "system": { + "armor": { + "current": 0, + "max": 4 + }, "description": "", "actions": {}, "attached": [], @@ -68,45 +72,6 @@ "compendiumSource": null }, "_key": "!items.effects!UdUJNa31WxFW2noa.mfKMW9SX3Mnos1nY" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "4" - } - } - ] - }, - "_id": "OmGtjOMcTHNN6OsH", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!UdUJNa31WxFW2noa.OmGtjOMcTHNN6OsH" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Gambeson_Armor_yJFp1bfpecDcStVK.json b/src/packs/items/armors/armor_Gambeson_Armor_yJFp1bfpecDcStVK.json index 03ed23d8..0ede5b60 100644 --- a/src/packs/items/armors/armor_Gambeson_Armor_yJFp1bfpecDcStVK.json +++ b/src/packs/items/armors/armor_Gambeson_Armor_yJFp1bfpecDcStVK.json @@ -5,6 +5,10 @@ "_id": "yJFp1bfpecDcStVK", "img": "icons/equipment/chest/vest-leather-tattered-white.webp", "system": { + "armor": { + "current": 0, + "max": 3 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!yJFp1bfpecDcStVK.v1FNEsypRF5W6vVc" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "3" - } - } - ] - }, - "_id": "ySw8mkws8rxzxsg4", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!yJFp1bfpecDcStVK.ySw8mkws8rxzxsg4" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Harrowbone_Armor_dvyQeUVRLc9y6rnt.json b/src/packs/items/armors/armor_Harrowbone_Armor_dvyQeUVRLc9y6rnt.json index 7f024816..85ad1d6a 100644 --- a/src/packs/items/armors/armor_Harrowbone_Armor_dvyQeUVRLc9y6rnt.json +++ b/src/packs/items/armors/armor_Harrowbone_Armor_dvyQeUVRLc9y6rnt.json @@ -5,6 +5,10 @@ "_id": "dvyQeUVRLc9y6rnt", "img": "icons/equipment/chest/breastplate-gorget-steel.webp", "system": { + "armor": { + "current": 0, + "max": 4 + }, "description": "", "actions": { "IzM88FIxQ35P5VB2": { @@ -79,47 +83,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "4" - } - } - ] - }, - "_id": "nyoNusMuukJt1MJw", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!dvyQeUVRLc9y6rnt.nyoNusMuukJt1MJw" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Improved_Chainmail_Armor_K5WkjS0NGqHYmhU3.json b/src/packs/items/armors/armor_Improved_Chainmail_Armor_K5WkjS0NGqHYmhU3.json index 26422d2c..ef93ecdd 100644 --- a/src/packs/items/armors/armor_Improved_Chainmail_Armor_K5WkjS0NGqHYmhU3.json +++ b/src/packs/items/armors/armor_Improved_Chainmail_Armor_K5WkjS0NGqHYmhU3.json @@ -5,6 +5,10 @@ "_id": "K5WkjS0NGqHYmhU3", "img": "icons/equipment/chest/breastplate-metal-scaled-grey.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!K5WkjS0NGqHYmhU3.JHupzYULxdQzFzuj" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "7FdWcilv74zKcXWk", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!K5WkjS0NGqHYmhU3.7FdWcilv74zKcXWk" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Improved_Full_Plate_Armor_9f7RozpPTqrzJS1m.json b/src/packs/items/armors/armor_Improved_Full_Plate_Armor_9f7RozpPTqrzJS1m.json index 6627bc15..1723c53a 100644 --- a/src/packs/items/armors/armor_Improved_Full_Plate_Armor_9f7RozpPTqrzJS1m.json +++ b/src/packs/items/armors/armor_Improved_Full_Plate_Armor_9f7RozpPTqrzJS1m.json @@ -5,6 +5,10 @@ "_id": "9f7RozpPTqrzJS1m", "img": "icons/equipment/chest/breastplate-cuirass-steel-grey.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": {}, "attached": [], @@ -68,45 +72,6 @@ "compendiumSource": null }, "_key": "!items.effects!9f7RozpPTqrzJS1m.wstJ1aKKtmXgCwxB" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "qgA4nbITVOp2WTpl", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!9f7RozpPTqrzJS1m.qgA4nbITVOp2WTpl" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Improved_Gambeson_Armor_jphnMZjnS2FkOH3s.json b/src/packs/items/armors/armor_Improved_Gambeson_Armor_jphnMZjnS2FkOH3s.json index b1ea88ff..a2ff6554 100644 --- a/src/packs/items/armors/armor_Improved_Gambeson_Armor_jphnMZjnS2FkOH3s.json +++ b/src/packs/items/armors/armor_Improved_Gambeson_Armor_jphnMZjnS2FkOH3s.json @@ -5,6 +5,10 @@ "_id": "jphnMZjnS2FkOH3s", "img": "icons/equipment/chest/breastplate-quilted-brown.webp", "system": { + "armor": { + "current": 0, + "max": 4 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!jphnMZjnS2FkOH3s.BFwU3ErPaajUSMUz" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "4" - } - } - ] - }, - "_id": "dtkOq7rUKj5nLGJP", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!jphnMZjnS2FkOH3s.dtkOq7rUKj5nLGJP" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Improved_Leather_Armor_t91M61pSCMKStTNt.json b/src/packs/items/armors/armor_Improved_Leather_Armor_t91M61pSCMKStTNt.json index 5d7f9b93..efa3643d 100644 --- a/src/packs/items/armors/armor_Improved_Leather_Armor_t91M61pSCMKStTNt.json +++ b/src/packs/items/armors/armor_Improved_Leather_Armor_t91M61pSCMKStTNt.json @@ -5,6 +5,10 @@ "_id": "t91M61pSCMKStTNt", "img": "icons/equipment/chest/breastplate-banded-simple-leather-brown.webp", "system": { + "armor": { + "current": 0, + "max": 4 + }, "description": "", "actions": {}, "attached": [], @@ -25,47 +29,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "4" - } - } - ] - }, - "_id": "JqnUKeUDbH4YJbVb", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!t91M61pSCMKStTNt.JqnUKeUDbH4YJbVb" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Irontree_Breastplate_Armor_tzZntboNtHL5C6VM.json b/src/packs/items/armors/armor_Irontree_Breastplate_Armor_tzZntboNtHL5C6VM.json index 5c87565f..a664ad9c 100644 --- a/src/packs/items/armors/armor_Irontree_Breastplate_Armor_tzZntboNtHL5C6VM.json +++ b/src/packs/items/armors/armor_Irontree_Breastplate_Armor_tzZntboNtHL5C6VM.json @@ -5,6 +5,10 @@ "_id": "tzZntboNtHL5C6VM", "img": "icons/equipment/chest/breastplate-layered-leather-brown-silver.webp", "system": { + "armor": { + "current": 0, + "max": 4 + }, "description": "", "actions": {}, "attached": [], @@ -75,45 +79,6 @@ "compendiumSource": null }, "_key": "!items.effects!tzZntboNtHL5C6VM.P3aCN8PQgPXP4C9M" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "4" - } - } - ] - }, - "_id": "6Mh24zh1c3aK60wZ", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!tzZntboNtHL5C6VM.6Mh24zh1c3aK60wZ" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Leather_Armor_nibfdNtp2PtxvbVz.json b/src/packs/items/armors/armor_Leather_Armor_nibfdNtp2PtxvbVz.json index b6c9cb8b..93d8f0cc 100644 --- a/src/packs/items/armors/armor_Leather_Armor_nibfdNtp2PtxvbVz.json +++ b/src/packs/items/armors/armor_Leather_Armor_nibfdNtp2PtxvbVz.json @@ -5,6 +5,10 @@ "_id": "nibfdNtp2PtxvbVz", "img": "icons/equipment/chest/breastplate-layered-leather-brown.webp", "system": { + "armor": { + "current": 0, + "max": 3 + }, "description": "", "actions": {}, "attached": [], @@ -25,47 +29,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "3" - } - } - ] - }, - "_id": "2enPnnikOoG0oIZP", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!nibfdNtp2PtxvbVz.2enPnnikOoG0oIZP" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Legendary_Chainmail_Armor_EsIN5OLKe9ZYFNXZ.json b/src/packs/items/armors/armor_Legendary_Chainmail_Armor_EsIN5OLKe9ZYFNXZ.json index 0e97ae17..6c93cbe4 100644 --- a/src/packs/items/armors/armor_Legendary_Chainmail_Armor_EsIN5OLKe9ZYFNXZ.json +++ b/src/packs/items/armors/armor_Legendary_Chainmail_Armor_EsIN5OLKe9ZYFNXZ.json @@ -5,6 +5,10 @@ "_id": "EsIN5OLKe9ZYFNXZ", "img": "icons/equipment/chest/breastplate-banded-blue.webp", "system": { + "armor": { + "current": 0, + "max": 7 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!EsIN5OLKe9ZYFNXZ.8Oa6Y375X8UpcPph" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "7" - } - } - ] - }, - "_id": "kqNdkD1d4FOQloMV", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!EsIN5OLKe9ZYFNXZ.kqNdkD1d4FOQloMV" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Legendary_Full_Plate_Armor_SXWjUR2aUR6bYvdl.json b/src/packs/items/armors/armor_Legendary_Full_Plate_Armor_SXWjUR2aUR6bYvdl.json index e9da0a8d..f66e4c38 100644 --- a/src/packs/items/armors/armor_Legendary_Full_Plate_Armor_SXWjUR2aUR6bYvdl.json +++ b/src/packs/items/armors/armor_Legendary_Full_Plate_Armor_SXWjUR2aUR6bYvdl.json @@ -5,6 +5,10 @@ "_id": "SXWjUR2aUR6bYvdl", "img": "icons/equipment/chest/breastplate-layered-steel-blue-gold.webp", "system": { + "armor": { + "current": 0, + "max": 7 + }, "description": "", "actions": {}, "attached": [], @@ -68,45 +72,6 @@ "compendiumSource": null }, "_key": "!items.effects!SXWjUR2aUR6bYvdl.zvzkRX2Uevemmbz4" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "7" - } - } - ] - }, - "_id": "kFxM3Et2bPzghJWm", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!SXWjUR2aUR6bYvdl.kFxM3Et2bPzghJWm" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Legendary_Gambeson_Armor_c6tMXz4rPf9ioQrf.json b/src/packs/items/armors/armor_Legendary_Gambeson_Armor_c6tMXz4rPf9ioQrf.json index 5d82c736..4cf1c856 100644 --- a/src/packs/items/armors/armor_Legendary_Gambeson_Armor_c6tMXz4rPf9ioQrf.json +++ b/src/packs/items/armors/armor_Legendary_Gambeson_Armor_c6tMXz4rPf9ioQrf.json @@ -5,6 +5,10 @@ "_id": "c6tMXz4rPf9ioQrf", "img": "icons/equipment/chest/breastplate-layered-leather-blue-gold.webp", "system": { + "armor": { + "current": 0, + "max": 6 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!c6tMXz4rPf9ioQrf.3AUNxBoj7mp1ziJQ" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "6" - } - } - ] - }, - "_id": "jdD0dJoh8gdGdh6W", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!c6tMXz4rPf9ioQrf.jdD0dJoh8gdGdh6W" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Legendary_Leather_Armor_Tptgl5WOj76TyFn7.json b/src/packs/items/armors/armor_Legendary_Leather_Armor_Tptgl5WOj76TyFn7.json index c0890465..3ddc5ed7 100644 --- a/src/packs/items/armors/armor_Legendary_Leather_Armor_Tptgl5WOj76TyFn7.json +++ b/src/packs/items/armors/armor_Legendary_Leather_Armor_Tptgl5WOj76TyFn7.json @@ -5,6 +5,10 @@ "_id": "Tptgl5WOj76TyFn7", "img": "icons/equipment/chest/breastplate-layered-gilded-black.webp", "system": { + "armor": { + "current": 0, + "max": 6 + }, "description": "", "actions": {}, "attached": [], @@ -25,47 +29,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "6" - } - } - ] - }, - "_id": "gP4PsefQLSTcBAQm", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!Tptgl5WOj76TyFn7.gP4PsefQLSTcBAQm" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Monett_s_Cloak_AQzU2RsqS5V5bd1v.json b/src/packs/items/armors/armor_Monett_s_Cloak_AQzU2RsqS5V5bd1v.json index 7ad68c23..6bb479a4 100644 --- a/src/packs/items/armors/armor_Monett_s_Cloak_AQzU2RsqS5V5bd1v.json +++ b/src/packs/items/armors/armor_Monett_s_Cloak_AQzU2RsqS5V5bd1v.json @@ -5,6 +5,10 @@ "_id": "AQzU2RsqS5V5bd1v", "img": "icons/equipment/chest/coat-collared-red.webp", "system": { + "armor": { + "current": 0, + "max": 6 + }, "description": "", "actions": {}, "attached": [], @@ -63,45 +67,6 @@ "compendiumSource": null }, "_key": "!items.effects!AQzU2RsqS5V5bd1v.3n4O7PyAWMEFdr5p" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "6" - } - } - ] - }, - "_id": "xMJr6Zj9zZd7v5uD", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!AQzU2RsqS5V5bd1v.xMJr6Zj9zZd7v5uD" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Rosewild_Armor_tN8kAeBvNKM3EBFo.json b/src/packs/items/armors/armor_Rosewild_Armor_tN8kAeBvNKM3EBFo.json index 5c853e44..e3cde9fb 100644 --- a/src/packs/items/armors/armor_Rosewild_Armor_tN8kAeBvNKM3EBFo.json +++ b/src/packs/items/armors/armor_Rosewild_Armor_tN8kAeBvNKM3EBFo.json @@ -5,6 +5,10 @@ "_id": "tN8kAeBvNKM3EBFo", "img": "icons/equipment/chest/breastplate-banded-leather-purple.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": { "QRTnCYxJfuJHdnyV": { @@ -55,47 +59,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "ebhSsuWrFYUVkGXC", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!tN8kAeBvNKM3EBFo.ebhSsuWrFYUVkGXC" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Runes_of_Fortification_P4qAEDJUoNLgVRsA.json b/src/packs/items/armors/armor_Runes_of_Fortification_P4qAEDJUoNLgVRsA.json index e3b813fb..2ccc80da 100644 --- a/src/packs/items/armors/armor_Runes_of_Fortification_P4qAEDJUoNLgVRsA.json +++ b/src/packs/items/armors/armor_Runes_of_Fortification_P4qAEDJUoNLgVRsA.json @@ -5,6 +5,10 @@ "_id": "P4qAEDJUoNLgVRsA", "img": "icons/magic/symbols/rune-sigil-red-orange.webp", "system": { + "armor": { + "current": 0, + "max": 6 + }, "description": "", "actions": { "37KLF2bim9nRdPTU": { @@ -62,47 +66,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "6" - } - } - ] - }, - "_id": "pw8CD3IFNqb7530v", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!P4qAEDJUoNLgVRsA.pw8CD3IFNqb7530v" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Runetan_Floating_Armor_tHlBUDQC24YMZqd6.json b/src/packs/items/armors/armor_Runetan_Floating_Armor_tHlBUDQC24YMZqd6.json index c6a1c055..593bc8e0 100644 --- a/src/packs/items/armors/armor_Runetan_Floating_Armor_tHlBUDQC24YMZqd6.json +++ b/src/packs/items/armors/armor_Runetan_Floating_Armor_tHlBUDQC24YMZqd6.json @@ -5,6 +5,10 @@ "_id": "tHlBUDQC24YMZqd6", "img": "icons/equipment/chest/breastplate-layered-leather-black.webp", "system": { + "armor": { + "current": 0, + "max": 4 + }, "description": "", "actions": { "Nn33zCIcWe6LQMDH": { @@ -62,47 +66,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "4" - } - } - ] - }, - "_id": "Y4ZSoO0iGxLiNr80", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!tHlBUDQC24YMZqd6.Y4ZSoO0iGxLiNr80" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Savior_Chainmail_8X16lJQ3xltTwynm.json b/src/packs/items/armors/armor_Savior_Chainmail_8X16lJQ3xltTwynm.json index 3505176b..6826254a 100644 --- a/src/packs/items/armors/armor_Savior_Chainmail_8X16lJQ3xltTwynm.json +++ b/src/packs/items/armors/armor_Savior_Chainmail_8X16lJQ3xltTwynm.json @@ -5,6 +5,10 @@ "_id": "8X16lJQ3xltTwynm", "img": "icons/equipment/chest/breastplate-layered-leather-green.webp", "system": { + "armor": { + "current": 0, + "max": 8 + }, "description": "", "actions": {}, "attached": [], @@ -93,45 +97,6 @@ "compendiumSource": null }, "_key": "!items.effects!8X16lJQ3xltTwynm.rkrqlwqtR9REgRx7" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "8" - } - } - ] - }, - "_id": "vNGSiFtcEBCz6jFQ", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!8X16lJQ3xltTwynm.vNGSiFtcEBCz6jFQ" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Spiked_Plate_Armor_QjwsIhXKqnlvRBMv.json b/src/packs/items/armors/armor_Spiked_Plate_Armor_QjwsIhXKqnlvRBMv.json index 68b26346..ac9115a2 100644 --- a/src/packs/items/armors/armor_Spiked_Plate_Armor_QjwsIhXKqnlvRBMv.json +++ b/src/packs/items/armors/armor_Spiked_Plate_Armor_QjwsIhXKqnlvRBMv.json @@ -5,6 +5,10 @@ "_id": "QjwsIhXKqnlvRBMv", "img": "icons/equipment/chest/breastplate-banded-steel-studded.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": {}, "attached": [], @@ -68,45 +72,6 @@ "compendiumSource": null }, "_key": "!items.effects!QjwsIhXKqnlvRBMv.V8CcTcVAIxHq8KNd" - }, - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "jfcv9NL2RtlfpECz", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!QjwsIhXKqnlvRBMv.jfcv9NL2RtlfpECz" } ], "sort": 0, diff --git a/src/packs/items/armors/armor_Tyris_Soft_Armor_PSW3BxCGmtLeWOxM.json b/src/packs/items/armors/armor_Tyris_Soft_Armor_PSW3BxCGmtLeWOxM.json index 5114b1e2..c6766018 100644 --- a/src/packs/items/armors/armor_Tyris_Soft_Armor_PSW3BxCGmtLeWOxM.json +++ b/src/packs/items/armors/armor_Tyris_Soft_Armor_PSW3BxCGmtLeWOxM.json @@ -5,6 +5,10 @@ "_id": "PSW3BxCGmtLeWOxM", "img": "icons/equipment/chest/robe-layered-purple.webp", "system": { + "armor": { + "current": 0, + "max": 5 + }, "description": "", "actions": { "Ch6IhuPewBeseGez": { @@ -55,47 +59,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "5" - } - } - ] - }, - "_id": "E8iCCJSpPbCMostx", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!PSW3BxCGmtLeWOxM.E8iCCJSpPbCMostx" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/src/packs/items/armors/armor_Veritas_Opal_Armor_OvzgUTYy2RCN85vV.json b/src/packs/items/armors/armor_Veritas_Opal_Armor_OvzgUTYy2RCN85vV.json index 2388e647..403b79e8 100644 --- a/src/packs/items/armors/armor_Veritas_Opal_Armor_OvzgUTYy2RCN85vV.json +++ b/src/packs/items/armors/armor_Veritas_Opal_Armor_OvzgUTYy2RCN85vV.json @@ -5,6 +5,10 @@ "_id": "OvzgUTYy2RCN85vV", "img": "icons/equipment/chest/breastplate-collared-steel-green.webp", "system": { + "armor": { + "current": 0, + "max": 6 + }, "description": "", "actions": { "sY3W5JYspN5Du5ag": { @@ -55,47 +59,7 @@ "artist": "" } }, - "effects": [ - { - "type": "base", - "name": "Armor Effect", - "img": "icons/equipment/chest/breastplate-helmet-metal.webp", - "system": { - "changes": [ - { - "type": "armor", - "phase": "initial", - "priority": 20, - "value": { - "max": "6" - } - } - ] - }, - "_id": "avGWSRMFFLbdJaYC", - "disabled": false, - "start": null, - "duration": { - "value": null, - "units": "seconds", - "expiry": null, - "expired": false - }, - "description": "", - "origin": null, - "tint": "#ffffff", - "transfer": true, - "statuses": [], - "showIcon": 1, - "folder": null, - "sort": 0, - "flags": {}, - "_stats": { - "compendiumSource": null - }, - "_key": "!items.effects!OvzgUTYy2RCN85vV.avGWSRMFFLbdJaYC" - } - ], + "effects": [], "sort": 0, "ownership": { "default": 0, diff --git a/templates/sheets/items/armor/header.hbs b/templates/sheets/items/armor/header.hbs index 6d3bc0fb..d8044332 100644 --- a/templates/sheets/items/armor/header.hbs +++ b/templates/sheets/items/armor/header.hbs @@ -9,7 +9,7 @@