mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-03-07 14:36:13 +01:00
Compare commits
4 commits
94262ba6ec
...
81e61a7386
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
81e61a7386 | ||
|
|
aef3d3cd04 | ||
|
|
b9e3eec34c | ||
|
|
47b16392eb |
50 changed files with 1563 additions and 68 deletions
|
|
@ -2982,6 +2982,9 @@
|
|||
"cannotAlterArmorEffectChanges": "You cannot alter the changes length of an armor effect",
|
||||
"cannotAlterArmorEffectType": "You cannot alter the type of armor effect changes"
|
||||
},
|
||||
"Progress": {
|
||||
"migrationLabel": "Performing system migration. Please wait and do not close Foundry."
|
||||
},
|
||||
"Sidebar": {
|
||||
"actorDirectory": {
|
||||
"tier": "Tier {tier} {type}",
|
||||
|
|
|
|||
|
|
@ -629,12 +629,12 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
|||
}
|
||||
|
||||
async updateArmorMarks(event) {
|
||||
const armor = this.document.system.armor;
|
||||
if (!armor) return;
|
||||
const inputValue = Number(event.currentTarget.value);
|
||||
const { value, max } = this.document.system.armorScore;
|
||||
const changeValue = Math.min(inputValue - value, max - value);
|
||||
|
||||
const maxMarks = this.document.system.armorScore;
|
||||
const value = Math.min(Math.max(Number(event.currentTarget.value), 0), maxMarks);
|
||||
await armor.update({ 'system.marks.value': value });
|
||||
event.currentTarget.value = inputValue < 0 ? 0 : value + changeValue;
|
||||
this.document.system.updateArmorValue({ value: changeValue });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
|
@ -813,10 +813,13 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
|||
* Toggles ArmorScore resource value.
|
||||
* @type {ApplicationClickAction}
|
||||
*/
|
||||
static async #toggleArmor(_, button, element) {
|
||||
const ArmorValue = Number.parseInt(button.dataset.value);
|
||||
const newValue = this.document.system.armor.system.marks.value >= ArmorValue ? ArmorValue - 1 : ArmorValue;
|
||||
await this.document.system.armor.update({ 'system.marks.value': newValue });
|
||||
static async #toggleArmor(_, button, _element) {
|
||||
const { value, max } = this.document.system.armorScore;
|
||||
const inputValue = Number.parseInt(button.dataset.value);
|
||||
const newValue = value >= inputValue ? inputValue - 1 : inputValue;
|
||||
const changeValue = Math.min(newValue - value, max - value);
|
||||
|
||||
this.document.system.updateArmorValue({ value: changeValue });
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ export default class DHBaseActorSheet extends DHApplicationMixin(ActorSheetV2) {
|
|||
inactives: []
|
||||
};
|
||||
|
||||
for (const effect of this.actor.allApplicableEffects({ noArmor: true })) {
|
||||
for (const effect of this.actor.allApplicableEffects({ noTransferArmor: true })) {
|
||||
const list = effect.active ? context.effects.actives : context.effects.inactives;
|
||||
list.push(effect);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,3 +7,4 @@ export { default as DhFearTracker } from './fearTracker.mjs';
|
|||
export { default as DhHotbar } from './hotbar.mjs';
|
||||
export { default as DhSceneNavigation } from './sceneNavigation.mjs';
|
||||
export { ItemBrowser } from './itemBrowser.mjs';
|
||||
export { default as DhProgress } from './progress.mjs';
|
||||
|
|
|
|||
27
module/applications/ui/progress.mjs
Normal file
27
module/applications/ui/progress.mjs
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
export default class DhProgress {
|
||||
#notification;
|
||||
|
||||
constructor({ max, label = '' }) {
|
||||
this.max = max;
|
||||
this.label = label;
|
||||
this.#notification = ui.notifications.info(this.label, { progress: true });
|
||||
}
|
||||
|
||||
updateMax(newMax) {
|
||||
this.max = newMax;
|
||||
}
|
||||
|
||||
advance({ by = 1, label = this.label } = {}) {
|
||||
if (this.value === this.max) return;
|
||||
this.value += Math.abs(by);
|
||||
this.#notification.update({ message: label, pct: this.value / this.max });
|
||||
}
|
||||
|
||||
close({ label = '' } = {}) {
|
||||
this.#notification.update({ message: label, pct: 1 });
|
||||
}
|
||||
|
||||
static createMigrationProgress(max = 0) {
|
||||
return new DhProgress({ max, label: game.i18n.localize('DAGGERHEART.UI.Progress.migrationLabel') });
|
||||
}
|
||||
}
|
||||
|
|
@ -295,17 +295,19 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
|
|||
static async getEffects(actor, effectParent) {
|
||||
if (!actor) return [];
|
||||
|
||||
return Array.from(await actor.allApplicableEffects()).filter(effect => {
|
||||
/* Effects on weapons only ever apply for the weapon itself */
|
||||
if (effect.parent.type === 'weapon') {
|
||||
/* Unless they're secondary - then they apply only to other primary weapons */
|
||||
if (effect.parent.system.secondary) {
|
||||
if (effectParent?.type !== 'weapon' || effectParent?.system.secondary) return false;
|
||||
} else if (effectParent?.id !== effect.parent.id) return false;
|
||||
}
|
||||
return Array.from(await actor.allApplicableEffects({ noTransferArmor: true, noSelfArmor: true })).filter(
|
||||
effect => {
|
||||
/* Effects on weapons only ever apply for the weapon itself */
|
||||
if (effect.parent.type === 'weapon') {
|
||||
/* Unless they're secondary - then they apply only to other primary weapons */
|
||||
if (effect.parent.system.secondary) {
|
||||
if (effectParent?.type !== 'weapon' || effectParent?.system.secondary) return false;
|
||||
} else if (effectParent?.id !== effect.parent.id) return false;
|
||||
}
|
||||
|
||||
return !effect.isSuppressed;
|
||||
});
|
||||
return !effect.isSuppressed;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import { getScrollTextData } from '../../helpers/utils.mjs';
|
||||
|
||||
/**
|
||||
* ArmorEffects are ActiveEffects that have a static changes field of length 1. It includes current and maximum armor.
|
||||
* When applied to a character, it adds to their currently marked and maximum armor.
|
||||
|
|
@ -105,9 +107,10 @@ export default class ArmorEffect extends foundry.data.ActiveEffectTypeDataModel
|
|||
}
|
||||
|
||||
async updateArmorMax(newMax) {
|
||||
const { effect, ...baseChange } = this.armorChange;
|
||||
const newChanges = [
|
||||
{
|
||||
...this.armorChange,
|
||||
...baseChange,
|
||||
max: newMax,
|
||||
value: Math.min(this.armorChange.value, newMax)
|
||||
}
|
||||
|
|
@ -150,7 +153,7 @@ export default class ArmorEffect extends foundry.data.ActiveEffectTypeDataModel
|
|||
armorChange.key = 'system.armorScore';
|
||||
}
|
||||
|
||||
static getDefaultEffectData() {
|
||||
static getDefaultObject() {
|
||||
return {
|
||||
type: 'armor',
|
||||
name: game.i18n.localize('DAGGERHEART.EFFECTS.Armor.newArmorEffect'),
|
||||
|
|
@ -158,13 +161,6 @@ export default class ArmorEffect extends foundry.data.ActiveEffectTypeDataModel
|
|||
};
|
||||
}
|
||||
|
||||
async _preCreate(data, options, user) {
|
||||
const allowed = await super._preCreate(data, options, user);
|
||||
if (allowed === false) return;
|
||||
|
||||
await this.updateSource({ ...ArmorEffect.getDefaultEffectData(), data });
|
||||
}
|
||||
|
||||
async _preUpdate(changes, options, user) {
|
||||
const allowed = await super._preUpdate(changes, options, user);
|
||||
if (allowed === false) return false;
|
||||
|
|
@ -185,6 +181,19 @@ export default class ArmorEffect extends foundry.data.ActiveEffectTypeDataModel
|
|||
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.cannotAlterArmorEffectType'));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (changes.system.changes[0].value !== this.armorChange.value && this.parent.actor?.type === 'character') {
|
||||
const increased = changes.system.changes[0].value > this.armorChange.value;
|
||||
const value = -1 * (this.armorChange.value - changes.system.changes[0].value);
|
||||
options.scrollingTextData = [getScrollTextData(increased, value, 'armor')];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_onUpdate(changes, options, userId) {
|
||||
super._onUpdate(changes, options, userId);
|
||||
|
||||
if (options.scrollingTextData && this.parent.actor?.type === 'character')
|
||||
this.parent.actor.queueScrollText(options.scrollingTextData);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import DHBaseActorSettings from '../../applications/sheets/api/actor-setting.mjs';
|
||||
import DHItem from '../../documents/item.mjs';
|
||||
import { getScrollTextData } from '../../helpers/utils.mjs';
|
||||
import { getResourceScrollTextData } from '../../helpers/utils.mjs';
|
||||
|
||||
const fields = foundry.data.fields;
|
||||
|
||||
|
|
@ -211,7 +211,7 @@ export default class BaseDataActor extends foundry.abstract.TypeDataModel {
|
|||
const textData = Object.keys(changes.system.resources).reduce((acc, key) => {
|
||||
const resource = changes.system.resources[key];
|
||||
if (resource.value !== undefined && resource.value !== this.resources[key].value) {
|
||||
acc.push(getScrollTextData(this.resources, resource, key));
|
||||
acc.push(getResourceScrollTextData(this.resources, resource, key));
|
||||
}
|
||||
|
||||
return acc;
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ export default class DHArmor extends AttachableItem {
|
|||
|
||||
if (!this.parent.effects.some(x => x.type === 'armor')) {
|
||||
this.parent.createEmbeddedDocuments('ActiveEffect', [
|
||||
game.system.api.data.activeEffects.ArmorEffect.getDefaultEffectData()
|
||||
game.system.api.data.activeEffects.ArmorEffect.getDefaultObject()
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -175,13 +175,22 @@ export default class DHArmor extends AttachableItem {
|
|||
}
|
||||
}
|
||||
|
||||
/** @inheritDoc */
|
||||
static migrateDocumentData(source) {
|
||||
if (source.system.baseScore !== undefined && !source.effects.some(x => x.type === 'armor')) {
|
||||
if (!source.flags) source.flags = {};
|
||||
if (!source.flags.daggerheart) source.flags.daggerheart = {};
|
||||
source.flags.daggerheart.baseScoreMigrationValue = source.system.baseScore;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a list of localized tags based on this item's type-specific properties.
|
||||
* @returns {string[]} An array of localized tag strings.
|
||||
*/
|
||||
_getTags() {
|
||||
const tags = [
|
||||
`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.armorData.value}`,
|
||||
`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.armorData.max}`,
|
||||
`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseThresholds.base')}: ${this.baseThresholds.major} / ${this.baseThresholds.severe}`
|
||||
];
|
||||
|
||||
|
|
@ -193,7 +202,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.value}`];
|
||||
const labels = [`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.armorData.max}`];
|
||||
return labels;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
* @property {boolean} isInventoryItem- Indicates whether items of this type is a Inventory Item
|
||||
*/
|
||||
|
||||
import { addLinkedItemsDiff, getScrollTextData, updateLinkedItemApps } from '../../helpers/utils.mjs';
|
||||
import { addLinkedItemsDiff, getResourceScrollTextData, updateLinkedItemApps } from '../../helpers/utils.mjs';
|
||||
import { ActionsField } from '../fields/actionField.mjs';
|
||||
import FormulaField from '../fields/formulaField.mjs';
|
||||
|
||||
|
|
@ -224,7 +224,11 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel {
|
|||
const armorChanged =
|
||||
changed.system?.marks?.value !== undefined && changed.system.marks.value !== this.marks.value;
|
||||
if (armorChanged && autoSettings.resourceScrollTexts && this.parent.parent?.type === 'character') {
|
||||
const armorData = getScrollTextData(this.parent.parent.system.resources, changed.system.marks, 'armor');
|
||||
const armorData = getResourceScrollTextData(
|
||||
this.parent.parent.system.resources,
|
||||
changed.system.marks,
|
||||
'armor'
|
||||
);
|
||||
options.scrollingTextData = [armorData];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -573,8 +573,7 @@ export default class DhpActor extends Actor {
|
|||
const availableStress = this.system.resources.stress.max - this.system.resources.stress.value;
|
||||
|
||||
const canUseArmor =
|
||||
this.system.armor &&
|
||||
this.system.armor.system.marks.value < this.system.armorScore &&
|
||||
this.system.armorScore.value < this.system.armorScore.max &&
|
||||
type.every(t => this.system.armorApplicableDamageTypes[t] === true);
|
||||
const canUseStress = Object.keys(stressDamageReduction).reduce((acc, x) => {
|
||||
const rule = stressDamageReduction[x];
|
||||
|
|
@ -614,12 +613,7 @@ export default class DhpActor extends Actor {
|
|||
const hpDamage = updates.find(u => u.key === CONFIG.DH.GENERAL.healingTypes.hitPoints.id);
|
||||
if (hpDamage?.value) {
|
||||
hpDamage.value = this.convertDamageToThreshold(hpDamage.value);
|
||||
if (
|
||||
this.type === 'character' &&
|
||||
!isDirect &&
|
||||
this.system.armor &&
|
||||
this.#canReduceDamage(hpDamage.value, hpDamage.damageTypes)
|
||||
) {
|
||||
if (this.type === 'character' && !isDirect && this.#canReduceDamage(hpDamage.value, hpDamage.damageTypes)) {
|
||||
const armorSlotResult = await this.owner.query(
|
||||
'armorSlot',
|
||||
{
|
||||
|
|
@ -989,13 +983,13 @@ export default class DhpActor extends Actor {
|
|||
}
|
||||
|
||||
/**@inheritdoc */
|
||||
*allApplicableEffects({ noArmor } = {}) {
|
||||
*allApplicableEffects({ noSelfArmor, noTransferArmor } = {}) {
|
||||
for (const effect of this.effects) {
|
||||
yield effect;
|
||||
if (!noSelfArmor || effect.type !== 'armor') yield effect;
|
||||
}
|
||||
for (const item of this.items) {
|
||||
for (const effect of item.effects) {
|
||||
if (effect.transfer && (!noArmor || effect.type !== 'armor')) yield effect;
|
||||
if (effect.transfer && (!noTransferArmor || effect.type !== 'armor')) yield effect;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -230,4 +230,14 @@ export default class DHItem extends foundry.documents.Item {
|
|||
async _preDelete() {
|
||||
this.deleteTriggers();
|
||||
}
|
||||
|
||||
/** @inheritDoc */
|
||||
static migrateData(source) {
|
||||
const documentClass = game.system.api.data.items[`DH${source.type.capitalize()}`];
|
||||
if (documentClass?.migrateDocumentData) {
|
||||
documentClass.migrateDocumentData(source);
|
||||
}
|
||||
|
||||
return super.migrateData(source);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -378,14 +378,18 @@ export const arraysEqual = (a, b) =>
|
|||
|
||||
export const setsEqual = (a, b) => a.size === b.size && [...a].every(value => b.has(value));
|
||||
|
||||
export function getScrollTextData(resources, resource, key) {
|
||||
const { reversed, label } = CONFIG.DH.ACTOR.scrollingTextResource[key];
|
||||
const { BOTTOM, TOP } = CONST.TEXT_ANCHOR_POINTS;
|
||||
export function getResourceScrollTextData(resources, resource, key) {
|
||||
const increased = resources[key].value < resource.value;
|
||||
const value = -1 * (resources[key].value - resource.value);
|
||||
|
||||
const text = `${game.i18n.localize(label)} ${value.signedString()}`;
|
||||
return getScrollTextData(increased, value, key);
|
||||
}
|
||||
|
||||
export function getScrollTextData(increased, value, key) {
|
||||
const { reversed, label } = CONFIG.DH.ACTOR.scrollingTextResource[key];
|
||||
const { BOTTOM, TOP } = CONST.TEXT_ANCHOR_POINTS;
|
||||
|
||||
const text = `${game.i18n.localize(label)} ${value.signedString()}`;
|
||||
const stroke = increased ? (reversed ? 0xffffff : 0x000000) : reversed ? 0x000000 : 0xffffff;
|
||||
const fill = increased ? (reversed ? 0x0032b1 : 0xffe760) : reversed ? 0xffe760 : 0x0032b1;
|
||||
const direction = increased ? (reversed ? BOTTOM : TOP) : reversed ? TOP : BOTTOM;
|
||||
|
|
|
|||
|
|
@ -246,6 +246,92 @@ export async function runMigrations() {
|
|||
|
||||
lastMigrationVersion = '1.6.0';
|
||||
}
|
||||
|
||||
if (foundry.utils.isNewerVersion('2.0.0', lastMigrationVersion)) {
|
||||
/* Migrate existing armors to the new Armor Effects */
|
||||
const progress = game.system.api.applications.ui.DhProgress.createMigrationProgress(0);
|
||||
|
||||
const lockedPacks = [];
|
||||
const itemPacks = game.packs.filter(x => x.metadata.type === 'Item');
|
||||
const actorPacks = game.packs.filter(x => x.metadata.type === 'Actor');
|
||||
|
||||
const getIndexes = async (packs, type) => {
|
||||
const indexes = [];
|
||||
for (const pack of packs) {
|
||||
const indexValues = pack.index.values().reduce((acc, index) => {
|
||||
if (index.type === type) acc.push(index.uuid);
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
if (indexValues.length && pack.locked) {
|
||||
lockedPacks.push(pack.collection);
|
||||
await pack.configure({ locked: false });
|
||||
}
|
||||
|
||||
indexes.push(...indexValues);
|
||||
}
|
||||
|
||||
return indexes;
|
||||
};
|
||||
|
||||
const armorEntries = await getIndexes(itemPacks, 'armor');
|
||||
const actorEntries = await getIndexes(actorPacks, 'actor');
|
||||
|
||||
const worldArmors = game.items.filter(x => x instanceof game.system.api.documents.DHItem && x.type === 'armor');
|
||||
|
||||
for (const character of game.actors.filter(x => x.type === 'character')) {
|
||||
worldArmors.push(...character.items.filter(x => x.type === 'armor'));
|
||||
}
|
||||
|
||||
/* The async fetches are the mainstay of time. Leaving 1 progress for the sync logic */
|
||||
const newMax = armorEntries.length + actorEntries.length + 1;
|
||||
progress.updateMax(newMax);
|
||||
|
||||
const compendiumArmors = [];
|
||||
for (const entry of armorEntries) {
|
||||
const armor = await foundry.utils.fromUuid(entry);
|
||||
compendiumArmors.push(armor);
|
||||
progress.advance();
|
||||
}
|
||||
|
||||
for (const entry of actorEntries) {
|
||||
const actor = await foundry.utils.fromUuid(entry);
|
||||
compendiumArmors.push(...actor.items.filter(x => x.type === 'armor'));
|
||||
progress.advance();
|
||||
}
|
||||
|
||||
for (const armor of [...compendiumArmors, ...worldArmors]) {
|
||||
const hasArmorEffect = armor.effects.some(x => x.type === 'armor');
|
||||
const migrationArmorScore = armor.flags.daggerheart?.baseScoreMigrationValue;
|
||||
if (migrationArmorScore !== undefined && !hasArmorEffect) {
|
||||
await armor.createEmbeddedDocuments('ActiveEffect', [
|
||||
{
|
||||
...game.system.api.data.activeEffects.ArmorEffect.getDefaultObject(),
|
||||
changes: [
|
||||
{
|
||||
type: CONFIG.DH.GENERAL.activeEffectModes.armor.id,
|
||||
phase: 'initial',
|
||||
priority: 20,
|
||||
value: 0,
|
||||
max: migrationArmorScore
|
||||
}
|
||||
]
|
||||
}
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
progress.advance();
|
||||
|
||||
for (let packId of lockedPacks) {
|
||||
const pack = game.packs.get(packId);
|
||||
await pack.configure({ locked: true });
|
||||
}
|
||||
|
||||
progress.close();
|
||||
|
||||
// lastMigrationVersion = '2.0.0';
|
||||
}
|
||||
//#endregion
|
||||
|
||||
await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion, lastMigrationVersion);
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!LzLOJ9EVaHWAjoq9.qlzHOAnpBYzosQxK"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "I0649iXfgoME38fU",
|
||||
"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.I0649iXfgoME38fU"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -68,6 +68,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!crIbCb9NZ4K0VpoU.awdHgEaM54G3emOU"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "kRaWET7LV25rD4jy",
|
||||
"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.kRaWET7LV25rD4jy"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!epkAmlZVk7HOfUUT.Fq9Q93IHCchhfSss"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "lJBLFQHDjmgLsLL8",
|
||||
"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.lJBLFQHDjmgLsLL8"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -25,7 +25,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "1vzHmkVScl1KyHxy",
|
||||
"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.1vzHmkVScl1KyHxy"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!ITAjcigTcUw5pMCN.8ze88zUwdkQSKKJq"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "B5hlwTWBUSJYZurq",
|
||||
"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!ITAjcigTcUw5pMCN.B5hlwTWBUSJYZurq"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!WuoVwZA53XRAIt6d.Hy0sNtFS1JAXxgwC"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "lDRMjmZXRJDbhK03",
|
||||
"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.lDRMjmZXRJDbhK03"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!mNN6pvcsS10ChrWF.s8KtTIngTjnOlaTP"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "qYkj3jKDdFzflfh4",
|
||||
"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.qYkj3jKDdFzflfh4"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!haULhuEg37zUUvhb.ZfO5NjpqEIzZVlPq"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "d6ICO5qZArh0xF1y",
|
||||
"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.d6ICO5qZArh0xF1y"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!vMJxEWz1srfwMsoj.8bwf1Ri3jYkjphEv"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "2q3uXc7EbTNSIjs8",
|
||||
"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.2q3uXc7EbTNSIjs8"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -62,7 +62,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "a8frrkkR4i2TBFdF",
|
||||
"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.a8frrkkR4i2TBFdF"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -88,7 +88,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 7
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "a1x2R28RtXE2jqu5",
|
||||
"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.a1x2R28RtXE2jqu5"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -64,6 +64,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!Q6LxmtFetDDkoZVZ.xGxqTCO8MjNq5Cw6"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "4yImObrCOaWLGxgH",
|
||||
"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.4yImObrCOaWLGxgH"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -86,7 +86,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "8VtWedDMEX0tbqTn",
|
||||
"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.8VtWedDMEX0tbqTn"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!7emTSt6nhZuTlvt5.QIefVb73cm9gYju8"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "TRI0rfHs8RTSCmuY",
|
||||
"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.TRI0rfHs8RTSCmuY"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -68,6 +68,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!UdUJNa31WxFW2noa.mfKMW9SX3Mnos1nY"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "VpaGM3KSKQFG5wC8",
|
||||
"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.VpaGM3KSKQFG5wC8"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!yJFp1bfpecDcStVK.v1FNEsypRF5W6vVc"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "qNXDdLhZkPe6Wnxa",
|
||||
"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.qNXDdLhZkPe6Wnxa"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -79,7 +79,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "E3Zwl9T3EuK7hOOB",
|
||||
"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.E3Zwl9T3EuK7hOOB"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!K5WkjS0NGqHYmhU3.JHupzYULxdQzFzuj"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "QXvJ3gL1kNcOLaqC",
|
||||
"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.QXvJ3gL1kNcOLaqC"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -68,6 +68,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!9f7RozpPTqrzJS1m.wstJ1aKKtmXgCwxB"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "7ahyQs2byVwsUVAF",
|
||||
"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.7ahyQs2byVwsUVAF"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!jphnMZjnS2FkOH3s.BFwU3ErPaajUSMUz"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "uF8AksqGBBfKrrVM",
|
||||
"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.uF8AksqGBBfKrrVM"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -25,7 +25,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "OqL5x4lkQvjbzSGx",
|
||||
"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.OqL5x4lkQvjbzSGx"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -75,6 +75,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!tzZntboNtHL5C6VM.P3aCN8PQgPXP4C9M"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "wKp8iBd3KfaMlzJh",
|
||||
"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.wKp8iBd3KfaMlzJh"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -25,7 +25,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "TbWKQ0R6AfNNeqNd",
|
||||
"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.TbWKQ0R6AfNNeqNd"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!EsIN5OLKe9ZYFNXZ.8Oa6Y375X8UpcPph"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 7
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "QAkiVlwfclxQ6JSD",
|
||||
"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.QAkiVlwfclxQ6JSD"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -68,6 +68,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!SXWjUR2aUR6bYvdl.zvzkRX2Uevemmbz4"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 7
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "mMYVCcmoBJxjU0er",
|
||||
"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.mMYVCcmoBJxjU0er"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!c6tMXz4rPf9ioQrf.3AUNxBoj7mp1ziJQ"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "vgnBNFSXks1BcFQ5",
|
||||
"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.vgnBNFSXks1BcFQ5"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -25,7 +25,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "m6HRZpgaMnuw1dE7",
|
||||
"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.m6HRZpgaMnuw1dE7"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!AQzU2RsqS5V5bd1v.3n4O7PyAWMEFdr5p"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "aRwIF0ss6R7AYNZf",
|
||||
"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.aRwIF0ss6R7AYNZf"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -55,7 +55,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "YvXWUYVaXDHugsEr",
|
||||
"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.YvXWUYVaXDHugsEr"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -62,7 +62,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "vkJeIaXB25W3MAt1",
|
||||
"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.vkJeIaXB25W3MAt1"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -62,7 +62,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "2dj1LoZcV6tCKpKj",
|
||||
"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.2dj1LoZcV6tCKpKj"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -93,6 +93,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!8X16lJQ3xltTwynm.rkrqlwqtR9REgRx7"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 8
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "3Kn7ZRjhrw1WfALW",
|
||||
"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.3Kn7ZRjhrw1WfALW"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -68,6 +68,44 @@
|
|||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!items.effects!QjwsIhXKqnlvRBMv.V8CcTcVAIxHq8KNd"
|
||||
},
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "6YpS3uYWIbeSgreg",
|
||||
"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.6YpS3uYWIbeSgreg"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -55,7 +55,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "tiE0sRrTm2Ex9TAO",
|
||||
"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.tiE0sRrTm2Ex9TAO"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -55,7 +55,46 @@
|
|||
"artist": ""
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"effects": [
|
||||
{
|
||||
"type": "armor",
|
||||
"name": "Armor Effect",
|
||||
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
|
||||
"system": {
|
||||
"changes": [
|
||||
{
|
||||
"type": "armor",
|
||||
"phase": "initial",
|
||||
"priority": 20,
|
||||
"value": 0,
|
||||
"max": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"_id": "fpPIhNaFxaz40Iaj",
|
||||
"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.fpPIhNaFxaz40Iaj"
|
||||
}
|
||||
],
|
||||
"sort": 0,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@
|
|||
{{#if useResourcePips}}
|
||||
<div class='slot-value'>
|
||||
<div class="slot-bar">
|
||||
{{#times document.system.armorScore}}
|
||||
<a class='armor-slot' data-action='toggleArmor' data-value="{{add this 1}}">
|
||||
{{#if (gte ../document.system.armor.system.marks.value (add this 1))}}
|
||||
{{#times document.system.armorScore.max}}
|
||||
<a class='armor-slot' data-action='toggleArmor' data-value="{{add this 1}}">
|
||||
{{#if (gte ../document.system.armorScore.value (add this 1))}}
|
||||
<i class="fa-solid fa-shield"></i>
|
||||
{{else}}
|
||||
<i class="fa-solid fa-shield-halved"></i>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
</div>
|
||||
<div class="slot-label">
|
||||
<span class="label">{{localize "DAGGERHEART.GENERAL.armorSlots"}}</span>
|
||||
<span class="value">{{document.system.armor.system.marks.value}} / {{document.system.armorScore}}</span>
|
||||
<span class="value">{{document.system.armorScore.value}} / {{document.system.armorScore.max}}</span>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue