mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-04-21 23:13:39 +02:00
[V14] Armor System ArmorScore (#1744)
* Readded so that armor items have their system defined armor instead of using an ActiveEffect * Consolidate armor source retrieval * Fix regression with updating armor when sources are disabled * Simplify armor pip update * Use helper in damage reduction dialog * . * Corrected SRD Armor Items --------- Co-authored-by: Carlos Fernandez <cfern1990@gmail.com>
This commit is contained in:
parent
50dcbf4396
commit
33fb7bcc69
45 changed files with 365 additions and 1535 deletions
|
|
@ -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;
|
const { ApplicationV2, HandlebarsApplicationMixin } = foundry.applications.api;
|
||||||
|
|
||||||
|
|
@ -21,15 +21,11 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap
|
||||||
this.rulesDefault
|
this.rulesDefault
|
||||||
);
|
);
|
||||||
|
|
||||||
const allArmorEffects = Array.from(actor.allApplicableEffects()).filter(x => x.system.armorData);
|
const orderedArmorSources = getArmorSources(actor).filter(s => !s.disabled);
|
||||||
const orderedArmorEffects = game.system.api.data.activeEffects.changeTypes.armor.orderEffectsForAutoChange(
|
const armor = orderedArmorSources.reduce((acc, { document }) => {
|
||||||
allArmorEffects,
|
const { current, max } = document.type === 'armor' ? document.system.armor : document.system.armorData;
|
||||||
true
|
|
||||||
);
|
|
||||||
const armor = orderedArmorEffects.reduce((acc, effect) => {
|
|
||||||
const { current, max } = effect.system.armorData;
|
|
||||||
acc.push({
|
acc.push({
|
||||||
effect: effect,
|
effect: document,
|
||||||
marks: [...Array(max).keys()].reduce((acc, _, index) => {
|
marks: [...Array(max).keys()].reduce((acc, _, index) => {
|
||||||
const spent = index < current;
|
const spent = index < current;
|
||||||
acc[foundry.utils.randomID()] = { selected: false, disabled: spent, spent };
|
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
|
const parent = source.effect.origin
|
||||||
? await foundry.utils.fromUuid(source.effect.origin)
|
? await foundry.utils.fromUuid(source.effect.origin)
|
||||||
: source.effect.parent;
|
: source.effect.parent;
|
||||||
|
|
||||||
|
const useEffectName = parent.type === 'armor' || parent instanceof Actor;
|
||||||
|
const label = useEffectName ? source.effect.name : parent.name;
|
||||||
armorSources.push({
|
armorSources.push({
|
||||||
label: parent.name,
|
label: label,
|
||||||
uuid: source.effect.uuid,
|
uuid: source.effect.uuid,
|
||||||
marks: source.marks
|
marks: source.marks
|
||||||
});
|
});
|
||||||
|
|
@ -219,13 +218,10 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap
|
||||||
|
|
||||||
const maxArmor = this.actor.system.rules.damageReduction.maxArmorMarked.value;
|
const maxArmor = this.actor.system.rules.damageReduction.maxArmorMarked.value;
|
||||||
this.marks = {
|
this.marks = {
|
||||||
armor: Object.keys(this.marks.armor).reduce((acc, key, index) => {
|
armor: this.marks.armor.map((mark, index) => {
|
||||||
const mark = this.marks.armor[key];
|
|
||||||
const keepSelectValue = !this.rulesOn || index + 1 <= maxArmor;
|
const keepSelectValue = !this.rulesOn || index + 1 <= maxArmor;
|
||||||
acc[key] = { ...mark, selected: keepSelectValue ? mark.selected : false };
|
return { ...mark, selected: keepSelectValue ? mark.selected : false };
|
||||||
|
}),
|
||||||
return acc;
|
|
||||||
}, {}),
|
|
||||||
stress: this.marks.stress
|
stress: this.marks.stress
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import DhDeathMove from '../../dialogs/deathMove.mjs';
|
||||||
import { CharacterLevelup, LevelupViewMode } from '../../levelup/_module.mjs';
|
import { CharacterLevelup, LevelupViewMode } from '../../levelup/_module.mjs';
|
||||||
import DhCharacterCreation from '../../characterCreation/characterCreation.mjs';
|
import DhCharacterCreation from '../../characterCreation/characterCreation.mjs';
|
||||||
import FilterMenu from '../../ux/filter-menu.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 */
|
/**@typedef {import('@client/applications/_types.mjs').ApplicationClickAction} ApplicationClickAction */
|
||||||
|
|
||||||
|
|
@ -943,20 +943,14 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const armorSources = [];
|
const armorSources = getArmorSources(this.document)
|
||||||
for (var effect of Array.from(this.document.allApplicableEffects())) {
|
.filter(s => !s.disabled)
|
||||||
const origin = effect.origin ? await foundry.utils.fromUuid(effect.origin) : effect.parent;
|
.toReversed()
|
||||||
if (!effect.system.armorData || effect.disabled || effect.isSuppressed) continue;
|
.map(({ name, document, data }) => ({
|
||||||
|
...data,
|
||||||
const originIsActor = origin instanceof Actor;
|
uuid: document.uuid,
|
||||||
const name = originIsActor ? effect.name : origin.name;
|
name
|
||||||
armorSources.push({
|
}));
|
||||||
uuid: effect.uuid,
|
|
||||||
name,
|
|
||||||
...effect.system.armorData
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!armorSources.length) return;
|
if (!armorSources.length) return;
|
||||||
|
|
||||||
const useResourcePips = game.settings.get(
|
const useResourcePips = game.settings.get(
|
||||||
|
|
@ -980,11 +974,6 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
direction: 'DOWN'
|
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 => {
|
html.querySelectorAll('.armor-slot').forEach(element => {
|
||||||
element.addEventListener('click', CharacterSheet.armorSourcePipUpdate);
|
element.addEventListener('click', CharacterSheet.armorSourcePipUpdate);
|
||||||
});
|
});
|
||||||
|
|
@ -999,49 +988,45 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Update specific armor source */
|
/** 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) {
|
static async armorSourcePipUpdate(event) {
|
||||||
const target = event.target.closest('.armor-slot');
|
const target = event.target.closest('.armor-slot');
|
||||||
const effect = await foundry.utils.fromUuid(target.dataset.uuid);
|
const { uuid, value } = target.dataset;
|
||||||
const armorChange = effect.system.armorChange;
|
const document = await foundry.utils.fromUuid(uuid);
|
||||||
if (!armorChange) return;
|
|
||||||
|
|
||||||
const { current } = effect.system.armorData;
|
let inputValue = Number.parseInt(value);
|
||||||
|
let decreasing = false;
|
||||||
|
let newCurrent = 0;
|
||||||
|
|
||||||
const inputValue = Number.parseInt(target.dataset.value);
|
if (document.type === 'armor') {
|
||||||
const decreasing = current >= inputValue;
|
decreasing = document.system.armor.current >= inputValue;
|
||||||
const newCurrent = decreasing ? inputValue - 1 : 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 => ({
|
const newChanges = document.system.changes.map(change => ({
|
||||||
...change,
|
...change,
|
||||||
value: change.type === 'armor' ? { ...change.value, current: newCurrent } : change.value
|
value: change.type === 'armor' ? { ...change.value, current: newCurrent } : change.value
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
await document.update({ 'system.changes': newChanges });
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const container = target.closest('.slot-bar');
|
const container = target.closest('.slot-bar');
|
||||||
for (const armorSlot of container.querySelectorAll('.armor-slot i')) {
|
for (const armorSlot of container.querySelectorAll('.armor-slot i')) {
|
||||||
const marked = !decreasing && Number.parseInt(armorSlot.dataset.index) < newCurrent;
|
const index = Number.parseInt(armorSlot.dataset.index);
|
||||||
armorSlot.classList.toggle('fa-shield', marked);
|
if (decreasing && index >= newCurrent) {
|
||||||
armorSlot.classList.toggle('fa-shield-halved', !marked);
|
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) {
|
static async #toggleResourceManagement(event, button) {
|
||||||
|
|
|
||||||
|
|
@ -34,13 +34,6 @@ export default class ArmorSheet extends ItemAttachmentSheet(DHBaseItemSheet) {
|
||||||
...super.PARTS
|
...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 */
|
/**@inheritdoc */
|
||||||
async _preparePartContext(partId, context) {
|
async _preparePartContext(partId, context) {
|
||||||
await super._preparePartContext(partId, context);
|
await super._preparePartContext(partId, context);
|
||||||
|
|
@ -48,11 +41,6 @@ export default class ArmorSheet extends ItemAttachmentSheet(DHBaseItemSheet) {
|
||||||
switch (partId) {
|
switch (partId) {
|
||||||
case 'settings':
|
case 'settings':
|
||||||
context.features = this.document.system.armorFeatures.map(x => x.value);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -151,7 +151,7 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel {
|
||||||
const newArmorTotal = (changed.system?.changes ?? []).reduce((acc, change) => {
|
const newArmorTotal = (changed.system?.changes ?? []).reduce((acc, change) => {
|
||||||
if (change.type === 'armor') acc += change.value.current;
|
if (change.type === 'armor') acc += change.value.current;
|
||||||
return acc;
|
return acc;
|
||||||
}, 0);
|
}, this.parent.actor.system.armor?.system?.armor?.current ?? 0);
|
||||||
|
|
||||||
const armorData = getScrollTextData(this.parent.actor, { value: newArmorTotal }, 'armor');
|
const armorData = getScrollTextData(this.parent.actor, { value: newArmorTotal }, 'armor');
|
||||||
options.scrollingTextData = [armorData];
|
options.scrollingTextData = [armorData];
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import DhCreature from './creature.mjs';
|
||||||
import { attributeField, stressDamageReductionRule, bonusField } from '../fields/actorField.mjs';
|
import { attributeField, stressDamageReductionRule, bonusField } from '../fields/actorField.mjs';
|
||||||
import { ActionField } from '../fields/actionField.mjs';
|
import { ActionField } from '../fields/actionField.mjs';
|
||||||
import DHCharacterSettings from '../../applications/sheets-configs/character-settings.mjs';
|
import DHCharacterSettings from '../../applications/sheets-configs/character-settings.mjs';
|
||||||
|
import { getArmorSources } from '../../helpers/utils.mjs';
|
||||||
|
|
||||||
export default class DhCharacter extends DhCreature {
|
export default class DhCharacter extends DhCreature {
|
||||||
/**@override */
|
/**@override */
|
||||||
|
|
@ -469,43 +470,57 @@ export default class DhCharacter extends DhCreature {
|
||||||
|
|
||||||
const increasing = armorChange >= 0;
|
const increasing = armorChange >= 0;
|
||||||
let remainingChange = Math.abs(armorChange);
|
let remainingChange = Math.abs(armorChange);
|
||||||
const armorEffects = Array.from(this.parent.allApplicableEffects()).filter(x => x.system.armorData);
|
const orderedSources = getArmorSources(this.parent).filter(s => !s.disabled);
|
||||||
const orderedEffects = game.system.api.data.activeEffects.changeTypes.armor.orderEffectsForAutoChange(
|
|
||||||
armorEffects,
|
|
||||||
increasing
|
|
||||||
);
|
|
||||||
|
|
||||||
const embeddedUpdates = [];
|
const handleArmorData = (embeddedUpdates, doc, armorData) => {
|
||||||
for (const armorEffect of orderedEffects) {
|
|
||||||
let usedArmorChange = 0;
|
let usedArmorChange = 0;
|
||||||
if (clear) {
|
if (clear) {
|
||||||
usedArmorChange -= armorEffect.system.armorChange.value.current;
|
usedArmorChange -= armorData.current;
|
||||||
} else {
|
} else {
|
||||||
if (increasing) {
|
if (increasing) {
|
||||||
const remainingArmor = armorEffect.system.armorData.max - armorEffect.system.armorData.current;
|
const remainingArmor = armorData.max - armorData.current;
|
||||||
usedArmorChange = Math.min(remainingChange, remainingArmor);
|
usedArmorChange = Math.min(remainingChange, remainingArmor);
|
||||||
remainingChange -= usedArmorChange;
|
remainingChange -= usedArmorChange;
|
||||||
} else {
|
} else {
|
||||||
const changeChange = Math.min(armorEffect.system.armorData.current, remainingChange);
|
const changeChange = Math.min(armorData.current, remainingChange);
|
||||||
usedArmorChange -= changeChange;
|
usedArmorChange -= changeChange;
|
||||||
remainingChange -= changeChange;
|
remainingChange -= changeChange;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!usedArmorChange) continue;
|
if (!usedArmorChange) return usedArmorChange;
|
||||||
else {
|
else {
|
||||||
if (!embeddedUpdates[armorEffect.parent.id])
|
if (!embeddedUpdates[doc.id]) embeddedUpdates[doc.id] = { doc: doc, updates: [] };
|
||||||
embeddedUpdates[armorEffect.parent.id] = { doc: armorEffect.parent, updates: [] };
|
|
||||||
|
|
||||||
embeddedUpdates[armorEffect.parent.id].updates.push({
|
return usedArmorChange;
|
||||||
'_id': armorEffect.id,
|
}
|
||||||
'system.changes': armorEffect.system.changes.map(change => ({
|
};
|
||||||
|
|
||||||
|
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,
|
...change,
|
||||||
value:
|
value:
|
||||||
change.type === 'armor'
|
change.type === 'armor'
|
||||||
? {
|
? {
|
||||||
...change.value,
|
...change.value,
|
||||||
current: armorEffect.system.armorChange.value.current + usedArmorChange
|
current: armorSource.system.armorChange.value.current + usedArmorChange
|
||||||
}
|
}
|
||||||
: change.value
|
: change.value
|
||||||
}))
|
}))
|
||||||
|
|
@ -515,22 +530,34 @@ export default class DhCharacter extends DhCreature {
|
||||||
if (remainingChange === 0 && !clear) break;
|
if (remainingChange === 0 && !clear) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateValues = Object.values(embeddedUpdates);
|
const armorUpdateValues = Object.values(armorUpdates);
|
||||||
for (const [index, { doc, updates }] of updateValues.entries())
|
for (const [index, { doc, updates }] of armorUpdateValues.entries())
|
||||||
await doc.updateEmbeddedDocuments('ActiveEffect', updates, { render: index === updateValues.length - 1 });
|
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 }) {
|
async updateArmorEffectValue({ uuid, value }) {
|
||||||
const effect = await foundry.utils.fromUuid(uuid);
|
const source = await foundry.utils.fromUuid(uuid);
|
||||||
const effectValue = effect.system.armorChange.value;
|
if (source.type === 'armor') {
|
||||||
await effect.update({
|
await source.update({
|
||||||
'system.changes': [
|
'system.armor.current': source.system.armor.current + value
|
||||||
{
|
});
|
||||||
...effect.system.armorChange,
|
} else {
|
||||||
value: { ...effectValue, current: effectValue.current + value }
|
const effectValue = source.system.armorChange.value;
|
||||||
}
|
await source.update({
|
||||||
]
|
'system.changes': [
|
||||||
});
|
{
|
||||||
|
...source.system.armorChange,
|
||||||
|
value: { ...effectValue, current: effectValue.current + value }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get sheetLists() {
|
get sheetLists() {
|
||||||
|
|
@ -657,8 +684,8 @@ export default class DhCharacter extends DhCreature {
|
||||||
prepareBaseData() {
|
prepareBaseData() {
|
||||||
super.prepareBaseData();
|
super.prepareBaseData();
|
||||||
this.armorScore = {
|
this.armorScore = {
|
||||||
max: 0,
|
max: this.armor?.system.armor.max ?? 0,
|
||||||
value: 0
|
value: this.armor?.system.armor.current ?? 0
|
||||||
};
|
};
|
||||||
this.evasion += this.class.value?.system?.evasion ?? 0;
|
this.evasion += this.class.value?.system?.evasion ?? 0;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,14 @@ export default class DHArmor extends AttachableItem {
|
||||||
...super.defineSchema(),
|
...super.defineSchema(),
|
||||||
tier: new fields.NumberField({ required: true, integer: true, initial: 1, min: 1 }),
|
tier: new fields.NumberField({ required: true, integer: true, initial: 1, min: 1 }),
|
||||||
equipped: new fields.BooleanField({ initial: false }),
|
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(
|
armorFeatures: new fields.ArrayField(
|
||||||
new fields.SchemaField({
|
new fields.SchemaField({
|
||||||
value: new fields.StringField({
|
value: new fields.StringField({
|
||||||
|
|
@ -27,11 +35,7 @@ export default class DHArmor extends AttachableItem {
|
||||||
effectIds: new fields.ArrayField(new fields.StringField({ required: true })),
|
effectIds: new fields.ArrayField(new fields.StringField({ required: true })),
|
||||||
actionIds: 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 */
|
/**@inheritdoc */
|
||||||
async getDescriptionData() {
|
async getDescriptionData() {
|
||||||
const baseDescription = this.description;
|
const baseDescription = this.description;
|
||||||
|
|
@ -73,17 +66,6 @@ export default class DHArmor extends AttachableItem {
|
||||||
return { prefix, value: baseDescription, suffix: null };
|
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 */
|
/**@inheritdoc */
|
||||||
async _preUpdate(changes, options, user) {
|
async _preUpdate(changes, options, user) {
|
||||||
const allowed = await super._preUpdate(changes, options, user);
|
const allowed = await super._preUpdate(changes, options, user);
|
||||||
|
|
@ -184,7 +166,7 @@ export default class DHArmor extends AttachableItem {
|
||||||
*/
|
*/
|
||||||
_getTags() {
|
_getTags() {
|
||||||
const tags = [
|
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}`
|
`${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.
|
* @returns {(string | { value: string, icons: string[] })[]} An array of localized strings and damage label objects.
|
||||||
*/
|
*/
|
||||||
_getLabels() {
|
_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;
|
return labels;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -220,6 +220,19 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel {
|
||||||
|
|
||||||
addLinkedItemsDiff(changed.system?.features, this.features, options);
|
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) {
|
if (changed.system?.actions) {
|
||||||
const triggersToRemove = Object.keys(changed.system.actions).reduce((acc, key) => {
|
const triggersToRemove = Object.keys(changed.system.actions).reduce((acc, key) => {
|
||||||
const action = changed.system.actions[key];
|
const action = changed.system.actions[key];
|
||||||
|
|
|
||||||
|
|
@ -743,3 +743,67 @@ export function getUnusedDamageTypes(parts) {
|
||||||
return acc;
|
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);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "LzLOJ9EVaHWAjoq9",
|
"_id": "LzLOJ9EVaHWAjoq9",
|
||||||
"img": "icons/equipment/chest/breastplate-banded-steel-gold.webp",
|
"img": "icons/equipment/chest/breastplate-banded-steel-gold.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!LzLOJ9EVaHWAjoq9.qlzHOAnpBYzosQxK"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "crIbCb9NZ4K0VpoU",
|
"_id": "crIbCb9NZ4K0VpoU",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-steel-grey.webp",
|
"img": "icons/equipment/chest/breastplate-layered-steel-grey.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -68,45 +72,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!crIbCb9NZ4K0VpoU.awdHgEaM54G3emOU"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "epkAmlZVk7HOfUUT",
|
"_id": "epkAmlZVk7HOfUUT",
|
||||||
"img": "icons/equipment/chest/breastplate-purple.webp",
|
"img": "icons/equipment/chest/breastplate-purple.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!epkAmlZVk7HOfUUT.Fq9Q93IHCchhfSss"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "itSOp2GCyem0f7oM",
|
"_id": "itSOp2GCyem0f7oM",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-leather-blue.webp",
|
"img": "icons/equipment/chest/breastplate-layered-leather-blue.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -25,47 +29,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "WuoVwZA53XRAIt6d",
|
"_id": "WuoVwZA53XRAIt6d",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-gold.webp",
|
"img": "icons/equipment/chest/breastplate-layered-gold.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!WuoVwZA53XRAIt6d.Hy0sNtFS1JAXxgwC"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "mNN6pvcsS10ChrWF",
|
"_id": "mNN6pvcsS10ChrWF",
|
||||||
"img": "icons/equipment/chest/breastplate-collared-steel-grey.webp",
|
"img": "icons/equipment/chest/breastplate-collared-steel-grey.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!mNN6pvcsS10ChrWF.s8KtTIngTjnOlaTP"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "haULhuEg37zUUvhb",
|
"_id": "haULhuEg37zUUvhb",
|
||||||
"img": "icons/equipment/chest/breastplate-scale-grey.webp",
|
"img": "icons/equipment/chest/breastplate-scale-grey.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!haULhuEg37zUUvhb.ZfO5NjpqEIzZVlPq"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "vMJxEWz1srfwMsoj",
|
"_id": "vMJxEWz1srfwMsoj",
|
||||||
"img": "icons/equipment/chest/robe-collared-blue.webp",
|
"img": "icons/equipment/chest/robe-collared-blue.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!vMJxEWz1srfwMsoj.8bwf1Ri3jYkjphEv"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "mdQ69eFHyAQUDmE7",
|
"_id": "mdQ69eFHyAQUDmE7",
|
||||||
"img": "icons/equipment/chest/breastplate-rivited-red.webp",
|
"img": "icons/equipment/chest/breastplate-rivited-red.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {
|
"actions": {
|
||||||
"J1MCpcfXByKaSSgx": {
|
"J1MCpcfXByKaSSgx": {
|
||||||
|
|
@ -62,47 +66,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "hAY6UgdGT7dj22Pr",
|
"_id": "hAY6UgdGT7dj22Pr",
|
||||||
"img": "icons/equipment/chest/robe-layered-red.webp",
|
"img": "icons/equipment/chest/robe-layered-red.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 7
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {
|
"actions": {
|
||||||
"8PD5JQuS05IA6HJT": {
|
"8PD5JQuS05IA6HJT": {
|
||||||
|
|
@ -88,47 +92,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "Q6LxmtFetDDkoZVZ",
|
"_id": "Q6LxmtFetDDkoZVZ",
|
||||||
"img": "icons/equipment/chest/breastplate-sculpted-green.webp",
|
"img": "icons/equipment/chest/breastplate-sculpted-green.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -64,45 +68,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!Q6LxmtFetDDkoZVZ.xGxqTCO8MjNq5Cw6"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "bcQUh4QG3qFX0Vx6",
|
"_id": "bcQUh4QG3qFX0Vx6",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-gilded-orange.webp",
|
"img": "icons/equipment/chest/breastplate-layered-gilded-orange.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {
|
"actions": {
|
||||||
"L8mHf4A8SylyxsMH": {
|
"L8mHf4A8SylyxsMH": {
|
||||||
|
|
@ -86,47 +90,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "7emTSt6nhZuTlvt5",
|
"_id": "7emTSt6nhZuTlvt5",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-steel.webp",
|
"img": "icons/equipment/chest/breastplate-layered-steel.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!7emTSt6nhZuTlvt5.QIefVb73cm9gYju8"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "UdUJNa31WxFW2noa",
|
"_id": "UdUJNa31WxFW2noa",
|
||||||
"img": "icons/equipment/chest/breastplate-collared-steel.webp",
|
"img": "icons/equipment/chest/breastplate-collared-steel.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -68,45 +72,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!UdUJNa31WxFW2noa.mfKMW9SX3Mnos1nY"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "yJFp1bfpecDcStVK",
|
"_id": "yJFp1bfpecDcStVK",
|
||||||
"img": "icons/equipment/chest/vest-leather-tattered-white.webp",
|
"img": "icons/equipment/chest/vest-leather-tattered-white.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!yJFp1bfpecDcStVK.v1FNEsypRF5W6vVc"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "dvyQeUVRLc9y6rnt",
|
"_id": "dvyQeUVRLc9y6rnt",
|
||||||
"img": "icons/equipment/chest/breastplate-gorget-steel.webp",
|
"img": "icons/equipment/chest/breastplate-gorget-steel.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {
|
"actions": {
|
||||||
"IzM88FIxQ35P5VB2": {
|
"IzM88FIxQ35P5VB2": {
|
||||||
|
|
@ -79,47 +83,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "K5WkjS0NGqHYmhU3",
|
"_id": "K5WkjS0NGqHYmhU3",
|
||||||
"img": "icons/equipment/chest/breastplate-metal-scaled-grey.webp",
|
"img": "icons/equipment/chest/breastplate-metal-scaled-grey.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!K5WkjS0NGqHYmhU3.JHupzYULxdQzFzuj"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "9f7RozpPTqrzJS1m",
|
"_id": "9f7RozpPTqrzJS1m",
|
||||||
"img": "icons/equipment/chest/breastplate-cuirass-steel-grey.webp",
|
"img": "icons/equipment/chest/breastplate-cuirass-steel-grey.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -68,45 +72,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!9f7RozpPTqrzJS1m.wstJ1aKKtmXgCwxB"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "jphnMZjnS2FkOH3s",
|
"_id": "jphnMZjnS2FkOH3s",
|
||||||
"img": "icons/equipment/chest/breastplate-quilted-brown.webp",
|
"img": "icons/equipment/chest/breastplate-quilted-brown.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!jphnMZjnS2FkOH3s.BFwU3ErPaajUSMUz"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "t91M61pSCMKStTNt",
|
"_id": "t91M61pSCMKStTNt",
|
||||||
"img": "icons/equipment/chest/breastplate-banded-simple-leather-brown.webp",
|
"img": "icons/equipment/chest/breastplate-banded-simple-leather-brown.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -25,47 +29,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "tzZntboNtHL5C6VM",
|
"_id": "tzZntboNtHL5C6VM",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-leather-brown-silver.webp",
|
"img": "icons/equipment/chest/breastplate-layered-leather-brown-silver.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -75,45 +79,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!tzZntboNtHL5C6VM.P3aCN8PQgPXP4C9M"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "nibfdNtp2PtxvbVz",
|
"_id": "nibfdNtp2PtxvbVz",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-leather-brown.webp",
|
"img": "icons/equipment/chest/breastplate-layered-leather-brown.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -25,47 +29,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "EsIN5OLKe9ZYFNXZ",
|
"_id": "EsIN5OLKe9ZYFNXZ",
|
||||||
"img": "icons/equipment/chest/breastplate-banded-blue.webp",
|
"img": "icons/equipment/chest/breastplate-banded-blue.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 7
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!EsIN5OLKe9ZYFNXZ.8Oa6Y375X8UpcPph"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "SXWjUR2aUR6bYvdl",
|
"_id": "SXWjUR2aUR6bYvdl",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-steel-blue-gold.webp",
|
"img": "icons/equipment/chest/breastplate-layered-steel-blue-gold.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 7
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -68,45 +72,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!SXWjUR2aUR6bYvdl.zvzkRX2Uevemmbz4"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "c6tMXz4rPf9ioQrf",
|
"_id": "c6tMXz4rPf9ioQrf",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-leather-blue-gold.webp",
|
"img": "icons/equipment/chest/breastplate-layered-leather-blue-gold.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!c6tMXz4rPf9ioQrf.3AUNxBoj7mp1ziJQ"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "Tptgl5WOj76TyFn7",
|
"_id": "Tptgl5WOj76TyFn7",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-gilded-black.webp",
|
"img": "icons/equipment/chest/breastplate-layered-gilded-black.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -25,47 +29,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "AQzU2RsqS5V5bd1v",
|
"_id": "AQzU2RsqS5V5bd1v",
|
||||||
"img": "icons/equipment/chest/coat-collared-red.webp",
|
"img": "icons/equipment/chest/coat-collared-red.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -63,45 +67,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!AQzU2RsqS5V5bd1v.3n4O7PyAWMEFdr5p"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "tN8kAeBvNKM3EBFo",
|
"_id": "tN8kAeBvNKM3EBFo",
|
||||||
"img": "icons/equipment/chest/breastplate-banded-leather-purple.webp",
|
"img": "icons/equipment/chest/breastplate-banded-leather-purple.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {
|
"actions": {
|
||||||
"QRTnCYxJfuJHdnyV": {
|
"QRTnCYxJfuJHdnyV": {
|
||||||
|
|
@ -55,47 +59,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "P4qAEDJUoNLgVRsA",
|
"_id": "P4qAEDJUoNLgVRsA",
|
||||||
"img": "icons/magic/symbols/rune-sigil-red-orange.webp",
|
"img": "icons/magic/symbols/rune-sigil-red-orange.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {
|
"actions": {
|
||||||
"37KLF2bim9nRdPTU": {
|
"37KLF2bim9nRdPTU": {
|
||||||
|
|
@ -62,47 +66,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "tHlBUDQC24YMZqd6",
|
"_id": "tHlBUDQC24YMZqd6",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-leather-black.webp",
|
"img": "icons/equipment/chest/breastplate-layered-leather-black.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {
|
"actions": {
|
||||||
"Nn33zCIcWe6LQMDH": {
|
"Nn33zCIcWe6LQMDH": {
|
||||||
|
|
@ -62,47 +66,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "8X16lJQ3xltTwynm",
|
"_id": "8X16lJQ3xltTwynm",
|
||||||
"img": "icons/equipment/chest/breastplate-layered-leather-green.webp",
|
"img": "icons/equipment/chest/breastplate-layered-leather-green.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 8
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -93,45 +97,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!8X16lJQ3xltTwynm.rkrqlwqtR9REgRx7"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "QjwsIhXKqnlvRBMv",
|
"_id": "QjwsIhXKqnlvRBMv",
|
||||||
"img": "icons/equipment/chest/breastplate-banded-steel-studded.webp",
|
"img": "icons/equipment/chest/breastplate-banded-steel-studded.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {},
|
"actions": {},
|
||||||
"attached": [],
|
"attached": [],
|
||||||
|
|
@ -68,45 +72,6 @@
|
||||||
"compendiumSource": null
|
"compendiumSource": null
|
||||||
},
|
},
|
||||||
"_key": "!items.effects!QjwsIhXKqnlvRBMv.V8CcTcVAIxHq8KNd"
|
"_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,
|
"sort": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "PSW3BxCGmtLeWOxM",
|
"_id": "PSW3BxCGmtLeWOxM",
|
||||||
"img": "icons/equipment/chest/robe-layered-purple.webp",
|
"img": "icons/equipment/chest/robe-layered-purple.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {
|
"actions": {
|
||||||
"Ch6IhuPewBeseGez": {
|
"Ch6IhuPewBeseGez": {
|
||||||
|
|
@ -55,47 +59,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
"_id": "OvzgUTYy2RCN85vV",
|
"_id": "OvzgUTYy2RCN85vV",
|
||||||
"img": "icons/equipment/chest/breastplate-collared-steel-green.webp",
|
"img": "icons/equipment/chest/breastplate-collared-steel-green.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"armor": {
|
||||||
|
"current": 0,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"actions": {
|
"actions": {
|
||||||
"sY3W5JYspN5Du5ag": {
|
"sY3W5JYspN5Du5ag": {
|
||||||
|
|
@ -55,47 +59,7 @@
|
||||||
"artist": ""
|
"artist": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"effects": [
|
"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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sort": 0,
|
"sort": 0,
|
||||||
"ownership": {
|
"ownership": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
</h3>
|
</h3>
|
||||||
<h3>
|
<h3>
|
||||||
{{localize "DAGGERHEART.ITEMS.Armor.baseScore"}}:
|
{{localize "DAGGERHEART.ITEMS.Armor.baseScore"}}:
|
||||||
{{source.system.armorData.max}}
|
{{source.system.armor.max}}
|
||||||
<span>-</span>
|
<span>-</span>
|
||||||
{{localize "DAGGERHEART.ITEMS.Armor.baseThresholds.base"}}:
|
{{localize "DAGGERHEART.ITEMS.Armor.baseThresholds.base"}}:
|
||||||
{{source.system.baseThresholds.major}}
|
{{source.system.baseThresholds.major}}
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,9 @@
|
||||||
<fieldset class="two-columns">
|
<fieldset class="two-columns">
|
||||||
<legend>{{localize tabs.settings.label}}</legend>
|
<legend>{{localize tabs.settings.label}}</legend>
|
||||||
<span>{{localize "DAGGERHEART.GENERAL.Tiers.singular"}}</span>
|
<span>{{localize "DAGGERHEART.GENERAL.Tiers.singular"}}</span>
|
||||||
{{formField systemFields.tier value=source.system.tier}}
|
{{ formField systemFields.tier value=source.system.tier }}
|
||||||
{{#if this.armorScore includeZero=true}}
|
<span>{{localize "DAGGERHEART.ITEMS.Armor.baseScore"}}</span>
|
||||||
<span>{{localize "DAGGERHEART.ITEMS.Armor.baseScore"}}</span>
|
{{ formField systemFields.armor.fields.max value=source.system.armor.max }}
|
||||||
<div class="form-fields">
|
|
||||||
<input type="text" data-dtype="Number" class="base-score-input" value="{{this.armorScore}}" />
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
<span>{{localize "TYPES.Item.feature"}}</span>
|
<span>{{localize "TYPES.Item.feature"}}</span>
|
||||||
<input type="text" class="features-input" value="{{features}}" />
|
<input type="text" class="features-input" value="{{features}}" />
|
||||||
|
|
|
||||||
|
|
@ -1,37 +1,19 @@
|
||||||
<div class="daggerheart armor-management-container">
|
<div class="daggerheart armor-management-container">
|
||||||
<h3>{{localize "DAGGERHEART.GENERAL.armorSlots"}}</h3>
|
<h3>{{localize "DAGGERHEART.GENERAL.armorSlots"}}</h3>
|
||||||
{{#each sources as |source|}}
|
{{#each sources as |source|}}
|
||||||
{{#if ../useResourcePips}}
|
<div class="armor-source-container">
|
||||||
<div class="armor-source-container">
|
<p class="armor-source-label">{{source.name}}</p>
|
||||||
<p class="armor-source-label">{{source.name}}</p>
|
<div class="slot-bar">
|
||||||
<div class="slot-bar">
|
{{#times source.max}}
|
||||||
{{#times source.max}}
|
<a class='armor-slot' data-value="{{add this 1}}" data-uuid="{{source.uuid}}">
|
||||||
<a class='armor-slot' data-value="{{add this 1}}" data-uuid="{{source.uuid}}">
|
{{#if (gte ../current (add this 1))}}
|
||||||
{{#if (gte ../current (add this 1))}}
|
<i class="fa-solid fa-shield" data-index="{{this}}"></i>
|
||||||
<i class="fa-solid fa-shield" data-index="{{this}}"></i>
|
{{else}}
|
||||||
{{else}}
|
<i class="fa-solid fa-shield-halved" data-index="{{this}}"></i>
|
||||||
<i class="fa-solid fa-shield-halved" data-index="{{this}}"></i>
|
{{/if}}
|
||||||
{{/if}}
|
</a>
|
||||||
</a>
|
{{/times}}
|
||||||
{{/times}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
</div>
|
||||||
<div class="armor-source-container">
|
|
||||||
<p class="armor-source-label">{{source.name}}</p>
|
|
||||||
<div class="status-bar armor-slots">
|
|
||||||
<div class='status-value'>
|
|
||||||
<input class="bar-input armor-marks-input" value="{{source.current}}" data-uuid="{{source.uuid}}" type="number">
|
|
||||||
<span>/</span>
|
|
||||||
<span class="bar-label">{{source.max}}</span>
|
|
||||||
</div>
|
|
||||||
<progress
|
|
||||||
class='progress-bar stress-color'
|
|
||||||
value='{{source.current}}'
|
|
||||||
max='{{source.max}}'
|
|
||||||
></progress>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue