Compare commits

..

No commits in common. "26ae17c3cf66d5c0eedd4d3190d8e332d0482299" and "81e61a7386134d24721c5098520151bfb9913ca3" have entirely different histories.

50 changed files with 357 additions and 400 deletions

View file

@ -2980,8 +2980,7 @@
"domainTouchRequirement": "This domain card requires {nr} {domain} cards in the loadout to be used", "domainTouchRequirement": "This domain card requires {nr} {domain} cards in the loadout to be used",
"knowTheTide": "Know The Tide gained a token", "knowTheTide": "Know The Tide gained a token",
"cannotAlterArmorEffectChanges": "You cannot alter the changes length of an armor effect", "cannotAlterArmorEffectChanges": "You cannot alter the changes length of an armor effect",
"cannotAlterArmorEffectType": "You cannot alter the type of armor effect changes", "cannotAlterArmorEffectType": "You cannot alter the type of armor effect changes"
"cannotAlterArmorEffectKey": "You cannot alter they key of armor effect changes"
}, },
"Progress": { "Progress": {
"migrationLabel": "Performing system migration. Please wait and do not close Foundry." "migrationLabel": "Performing system migration. Please wait and do not close Foundry."

View file

@ -173,7 +173,7 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap
? Object.values(this.availableStressReductions).filter(red => red.selected) ? Object.values(this.availableStressReductions).filter(red => red.selected)
: []; : [];
const currentMarks = const currentMarks =
this.actor.system.armorScore.value + selectedArmorMarks.length + selectedStressMarks.length; this.actor.system.armor.system.marks.value + selectedArmorMarks.length + selectedStressMarks.length;
const armorMarkReduction = const armorMarkReduction =
selectedArmorMarks.length * this.actor.system.rules.damageReduction.increasePerArmorMark; selectedArmorMarks.length * this.actor.system.rules.damageReduction.increasePerArmorMark;

View file

@ -24,12 +24,9 @@ export default class DHActionConfig extends DHActionBaseConfig {
const effectData = this._addEffectData.bind(this)(); const effectData = this._addEffectData.bind(this)();
const data = this.action.toObject(); const data = this.action.toObject();
const created = await game.system.api.documents.DhActiveEffect.createDialog(effectData, { const [created] = await this.action.item.createEmbeddedDocuments('ActiveEffect', [effectData], {
parent: this.action.item,
render: false render: false
}); });
if (!created) return;
data.effects.push({ _id: created._id }); data.effects.push({ _id: created._id });
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
this.action.item.effects.get(created._id).sheet.render(true); this.action.item.effects.get(created._id).sheet.render(true);

View file

@ -511,7 +511,7 @@ export default function DHApplicationMixin(Base) {
icon: 'fa-solid fa-trash', icon: 'fa-solid fa-trash',
condition: target => { condition: target => {
const doc = getDocFromElementSync(target); const doc = getDocFromElementSync(target);
return !doc || doc.type !== 'beastform'; return doc && doc.type !== 'beastform';
}, },
callback: async (target, event) => { callback: async (target, event) => {
const doc = await getDocFromElement(target); const doc = await getDocFromElement(target);

View file

@ -491,24 +491,17 @@ export const weaponFeatures = {
description: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.description', description: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.description',
img: 'icons/skills/melee/shield-block-bash-blue.webp', img: 'icons/skills/melee/shield-block-bash-blue.webp',
changes: [ changes: [
{
key: 'system.armorScore',
mode: 2,
value: 'ITEM.@system.tier + 1'
},
{ {
key: 'system.evasion', key: 'system.evasion',
mode: 2, mode: 2,
value: '-1' value: '-1'
} }
] ]
},
{
type: 'armor',
name: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.description',
img: 'icons/skills/melee/shield-block-bash-blue.webp',
changes: [
{
type: 'armor',
max: 'ITEM.@system.tier + 1'
}
]
} }
] ]
}, },
@ -798,6 +791,11 @@ export const weaponFeatures = {
description: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.description', description: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.description',
img: 'icons/skills/melee/sword-shield-stylized-white.webp', img: 'icons/skills/melee/sword-shield-stylized-white.webp',
changes: [ changes: [
{
key: 'system.armorScore',
mode: 2,
value: '1'
},
{ {
key: 'system.bonuses.damage.primaryWeapon.bonus', key: 'system.bonuses.damage.primaryWeapon.bonus',
mode: 2, mode: 2,
@ -812,26 +810,6 @@ export const weaponFeatures = {
type: 'withinRange' type: 'withinRange'
} }
} }
},
{
type: 'armor',
name: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.description',
img: 'icons/skills/melee/sword-shield-stylized-white.webp',
changes: [
{
type: 'armor',
max: 1
}
],
system: {
rangeDependence: {
enabled: true,
range: 'melee',
target: 'hostile',
type: 'withinRange'
}
}
} }
] ]
}, },
@ -1210,14 +1188,14 @@ export const weaponFeatures = {
description: 'DAGGERHEART.CONFIG.WeaponFeature.protective.description', description: 'DAGGERHEART.CONFIG.WeaponFeature.protective.description',
effects: [ effects: [
{ {
type: 'armor',
name: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.name', name: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.description', description: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.description',
img: 'icons/skills/melee/shield-block-gray-orange.webp', img: 'icons/skills/melee/shield-block-gray-orange.webp',
changes: [ changes: [
{ {
type: 'armor', key: 'system.armorScore',
max: 'ITEM.@system.tier' mode: 2,
value: 'ITEM.@system.tier'
} }
] ]
} }

View file

@ -1,4 +1,4 @@
import { getScrollTextData, itemAbleRollParse } from '../../helpers/utils.mjs'; import { getScrollTextData } from '../../helpers/utils.mjs';
/** /**
* ArmorEffects are ActiveEffects that have a static changes field of length 1. It includes current and maximum armor. * ArmorEffects are ActiveEffects that have a static changes field of length 1. It includes current and maximum armor.
@ -12,11 +12,6 @@ export default class ArmorEffect extends foundry.data.ActiveEffectTypeDataModel
...super.defineSchema(), ...super.defineSchema(),
changes: new fields.ArrayField( changes: new fields.ArrayField(
new fields.SchemaField({ new fields.SchemaField({
key: new fields.StringField({
required: true,
nullable: false,
initial: 'system.armorScore'
}),
type: new fields.StringField({ type: new fields.StringField({
required: true, required: true,
blank: false, blank: false,
@ -32,22 +27,22 @@ export default class ArmorEffect extends foundry.data.ActiveEffectTypeDataModel
min: 0, min: 0,
label: 'DAGGERHEART.GENERAL.value' label: 'DAGGERHEART.GENERAL.value'
}), }),
max: new fields.StringField({ max: new fields.NumberField({
required: true, required: true,
nullable: false, integer: true,
initial: '1', initial: 1,
min: 1,
label: 'DAGGERHEART.GENERAL.max' label: 'DAGGERHEART.GENERAL.max'
}) })
}), }),
{ {
initial: [ initial: [
{ {
key: 'system.armorScore',
type: CONFIG.DH.GENERAL.activeEffectModes.armor.id, type: CONFIG.DH.GENERAL.activeEffectModes.armor.id,
phase: 'initial', phase: 'initial',
priority: 20, priority: 20,
value: 0, value: 0,
max: '1' max: 1
} }
] ]
} }
@ -104,17 +99,7 @@ export default class ArmorEffect extends foundry.data.ActiveEffectTypeDataModel
get armorChange() { get armorChange() {
if (this.changes.length !== 1) if (this.changes.length !== 1)
throw new Error('Unexpected error. An armor effect should have a changes field of length 1.'); throw new Error('Unexpected error. An armor effect should have a changes field of length 1.');
return this.changes[0];
const actor = this.parent.actor?.type === 'character' ? this.parent.actor : null;
const changeData = this.changes[0];
const maxParse = actor ? itemAbleRollParse(changeData.max, actor, this.parent.parent) : null;
const maxRoll = maxParse ? new Roll(maxParse).evaluateSync() : null;
const maxEvaluated = maxRoll ? (maxRoll.isDeterministic ? maxRoll.total : null) : null;
return {
...changeData,
max: maxEvaluated ?? changeData.max
};
} }
get armorData() { get armorData() {
@ -136,39 +121,40 @@ export default class ArmorEffect extends foundry.data.ActiveEffectTypeDataModel
static orderEffectsForAutoChange(armorEffects, increasing) { static orderEffectsForAutoChange(armorEffects, increasing) {
const getEffectWeight = effect => { const getEffectWeight = effect => {
switch (effect.parent.type) { switch (effect.parent.type) {
case 'loot':
case 'consumable':
return 2;
case 'class': case 'class':
case 'subclass': case 'subclass':
case 'ancestry': case 'ancestry':
case 'community': case 'community':
case 'feature': case 'feature':
case 'domainCard': case 'domainCard':
return 2;
case 'armor':
return 3; return 3;
case 'loot':
case 'consumable':
return 4;
case 'weapon': case 'weapon':
return 5; case 'armor':
return 4;
case 'character': case 'character':
return 6; return 5;
default: default:
return 1; return 1;
} }
}; };
return armorEffects return armorEffects.sort((a, b) =>
.filter(x => !x.disabled && !x.isSuppressed)
.sort((a, b) =>
increasing ? getEffectWeight(b) - getEffectWeight(a) : getEffectWeight(a) - getEffectWeight(b) increasing ? getEffectWeight(b) - getEffectWeight(a) : getEffectWeight(a) - getEffectWeight(b)
); );
} }
/* Overrides */ /* Overrides */
prepareBaseData() {
const armorChange = this.armorChange;
armorChange.key = 'system.armorScore';
}
static getDefaultObject() { static getDefaultObject() {
return { return {
key: 'system.armorScore',
type: 'armor', type: 'armor',
name: game.i18n.localize('DAGGERHEART.EFFECTS.Armor.newArmorEffect'), name: game.i18n.localize('DAGGERHEART.EFFECTS.Armor.newArmorEffect'),
img: 'icons/equipment/chest/breastplate-helmet-metal.webp' img: 'icons/equipment/chest/breastplate-helmet-metal.webp'
@ -188,32 +174,21 @@ export default class ArmorEffect extends foundry.data.ActiveEffectTypeDataModel
return false; return false;
} }
if (changes.system.changes.length === 1) {
if (changes.system.changes[0].type !== CONFIG.DH.GENERAL.activeEffectModes.armor.id) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.UI.Notifications.cannotAlterArmorEffectType')
);
return false;
}
if (changes.system.changes[0].key !== 'system.armorScore') {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.UI.Notifications.cannotAlterArmorEffectKey')
);
return false;
}
if ( if (
changes.system.changes[0].value !== this.armorChange.value && changes.system.changes.length === 1 &&
this.parent.actor?.type === 'character' changes.system.changes[0].type !== CONFIG.DH.GENERAL.activeEffectModes.armor.id
) { ) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.cannotAlterArmorEffectType'));
return false;
}
if (changes.system.changes[0].value !== this.armorChange.value && this.parent.actor?.type === 'character') {
const increased = changes.system.changes[0].value > this.armorChange.value; const increased = changes.system.changes[0].value > this.armorChange.value;
const value = -1 * (this.armorChange.value - changes.system.changes[0].value); const value = -1 * (this.armorChange.value - changes.system.changes[0].value);
options.scrollingTextData = [getScrollTextData(increased, value, 'armor')]; options.scrollingTextData = [getScrollTextData(increased, value, 'armor')];
} }
} }
} }
}
_onUpdate(changes, options, userId) { _onUpdate(changes, options, userId) {
super._onUpdate(changes, options, userId); super._onUpdate(changes, options, userId);

View file

@ -993,8 +993,4 @@ export default class DhpActor extends Actor {
} }
} }
} }
applyActiveEffects(phase) {
super.applyActiveEffects(phase);
}
} }

View file

@ -233,7 +233,7 @@ export default class DHItem extends foundry.documents.Item {
/** @inheritDoc */ /** @inheritDoc */
static migrateData(source) { static migrateData(source) {
const documentClass = game.system.api.data.items[`DH${source.type?.capitalize()}`]; const documentClass = game.system.api.data.items[`DH${source.type.capitalize()}`];
if (documentClass?.migrateDocumentData) { if (documentClass?.migrateDocumentData) {
documentClass.migrateDocumentData(source); documentClass.migrateDocumentData(source);
} }

View file

@ -313,7 +313,7 @@ export async function runMigrations() {
phase: 'initial', phase: 'initial',
priority: 20, priority: 20,
value: 0, value: 0,
max: migrationArmorScore.toString() max: migrationArmorScore
} }
] ]
} }

View file

@ -90,42 +90,46 @@
"effects": [ "effects": [
{ {
"name": "Armorer", "name": "Armorer",
"type": "armor", "type": "base",
"system": { "system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"_id": "cED730OjuMW5haJR",
"img": "icons/tools/hand/hammer-and-nail.webp",
"changes": [ "changes": [
{ {
"key": "system.armorScore", "key": "system.armorScore",
"type": "armor", "mode": 2,
"phase": "initial", "value": "1",
"priority": 20, "priority": null
"value": 0,
"max": "1"
} }
] ],
},
"_id": "PczrmraHWZ54NJsW",
"img": "icons/tools/hand/hammer-and-nail.webp",
"disabled": false, "disabled": false,
"start": null,
"duration": { "duration": {
"value": null, "startTime": null,
"units": "seconds", "combat": null,
"expiry": null, "seconds": null,
"expired": false "rounds": null,
"turns": null,
"startRound": null,
"startTurn": null
}, },
"description": "<p><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline !important\">While youre wearing armor, gain a +1 bonus to your </span><span style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\" class=\"tooltip-convert\">Armor Score</span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline !important\">.</span></p>", "description": "<p><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">While youre wearing armor, gain a +1 bonus to your </span><span class=\"tooltip-convert\" style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\">Armor Score</span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">.</p>",
"origin": null, "origin": null,
"tint": "#ffffff", "tint": "#ffffff",
"transfer": true, "transfer": true,
"statuses": [], "statuses": [],
"showIcon": 1,
"folder": null,
"sort": 0, "sort": 0,
"flags": {}, "flags": {},
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!cy8GjBPGc9w9RaGO.PczrmraHWZ54NJsW" "_key": "!items.effects!cy8GjBPGc9w9RaGO.cED730OjuMW5haJR"
} }
], ],
"ownership": { "ownership": {

View file

@ -4,7 +4,7 @@
"type": "domainCard", "type": "domainCard",
"folder": "QpOL7jPbMBzH96qR", "folder": "QpOL7jPbMBzH96qR",
"system": { "system": {
"description": "<p class=\"Body-Foundation\">When you choose not to equip armor, you have a base Armor Score of 3 + your Strength and use the following as your base damage thresholds:</p><ul><li class=\"vertical-card-list-found\"><p><em><strong>Tier 1:</strong></em> 9/19</p></li><li class=\"vertical-card-list-found\"><p><em><strong>Tier 2:</strong></em> 11/24</p></li><li class=\"vertical-card-list-found\"><p><em><strong>Tier 3:</strong></em> 13/31</p></li><li class=\"vertical-card-list-found\"><p><em><strong>Tier 4:</strong></em> 15/38</p></li></ul><p>Equip the below armor to use Bare Bones.</p>", "description": "<p class=\"Body-Foundation\">When you choose not to equip armor, you have a base Armor Score of 3 + your Strength and use the following as your base damage thresholds:</p><ul><li class=\"vertical-card-list-found\"><em><strong>Tier 1:</strong></em> 9/19</li><li class=\"vertical-card-list-found\"><em><strong>Tier 2:</strong></em> 11/24</li><li class=\"vertical-card-list-found\"><em><strong>Tier 3:</strong></em> 13/31</li><li class=\"vertical-card-list-found\"><em><strong>Tier 4:</strong></em> 15/38</li></ul><p>Equip the below armor to use Bare Bones.</p><p>@UUID[Compendium.daggerheart.armors.Item.ITAjcigTcUw5pMCN]{Bare Bones}</p>",
"domain": "valor", "domain": "valor",
"recallCost": 0, "recallCost": 0,
"level": 1, "level": 1,
@ -19,98 +19,7 @@
} }
}, },
"flags": {}, "flags": {},
"effects": [ "effects": [],
{
"name": "Bare Bones Armor",
"type": "armor",
"system": {
"changes": [
{
"value": 0,
"max": "3 + @system.traits.strength.value",
"key": "system.armorScore",
"type": "armor",
"phase": "initial",
"priority": 20
}
]
},
"_id": "Zn1nNUwjlkbRfbMc",
"img": "icons/magic/control/buff-strength-muscle-damage-orange.webp",
"disabled": false,
"start": null,
"duration": {
"value": null,
"units": "seconds",
"expiry": null,
"expired": false
},
"description": "<p><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.565);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">You have a base Armor Score of 3 + your Strength</span></p>",
"origin": null,
"tint": "#ffffff",
"transfer": true,
"statuses": [],
"showIcon": 1,
"folder": null,
"sort": 0,
"flags": {},
"_stats": {
"compendiumSource": null
},
"_key": "!items.effects!l5D9kq901JDESaXw.Zn1nNUwjlkbRfbMc"
},
{
"name": "Bare Bones",
"type": "base",
"system": {
"changes": [
{
"key": "system.damageThresholds.major",
"type": "add",
"value": "9 + (@tier - 1) * 5 + max(0, (@tier -2) * 2 )",
"priority": null,
"phase": "initial"
},
{
"key": "system.damageThresholds.severe",
"type": "add",
"value": "19 + (@tier - 1) * 5 + max(0, (@tier -2) * 2 )",
"priority": null,
"phase": "initial"
}
],
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"_id": "FazU8RFjMmTpXs7Z",
"img": "icons/magic/control/buff-strength-muscle-damage-orange.webp",
"disabled": false,
"start": null,
"duration": {
"value": null,
"units": "seconds",
"expiry": null,
"expired": false
},
"description": "<p>You use the following as your base damage thresholds:</p><ul><li class=\"vertical-card-list-found\"><p><em><strong>Tier 1:</strong></em> 9/19</p></li><li class=\"vertical-card-list-found\"><p><em><strong>Tier 2:</strong></em> 11/24</p></li><li class=\"vertical-card-list-found\"><p><em><strong>Tier 3:</strong></em> 13/31</p></li><li class=\"vertical-card-list-found\"><p><em><strong>Tier 4:</strong></em> 15/38</p></li></ul>",
"origin": null,
"tint": "#ffffff",
"transfer": true,
"statuses": [],
"showIcon": 1,
"folder": null,
"sort": 0,
"flags": {},
"_stats": {
"compendiumSource": null
},
"_key": "!items.effects!l5D9kq901JDESaXw.FazU8RFjMmTpXs7Z"
}
],
"ownership": { "ownership": {
"default": 0, "default": 0,
"MQSznptE5yLT7kj8": 3 "MQSznptE5yLT7kj8": 3

View file

@ -105,7 +105,7 @@
}, },
"effects": [ "effects": [
{ {
"_id": "OKf8Kjr6Px8A3ubJ", "_id": "LdcT1nrkd5ORCU4n",
"onSave": false "onSave": false
} }
], ],
@ -252,39 +252,43 @@
"img": "icons/magic/defensive/shield-barrier-glowing-triangle-blue.webp", "img": "icons/magic/defensive/shield-barrier-glowing-triangle-blue.webp",
"origin": "Compendium.daggerheart.domains.Item.YtZzYBtR0yLPPA93", "origin": "Compendium.daggerheart.domains.Item.YtZzYBtR0yLPPA93",
"transfer": false, "transfer": false,
"type": "armor", "_id": "LdcT1nrkd5ORCU4n",
"_id": "OKf8Kjr6Px8A3ubJ", "type": "base",
"system": { "system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"changes": [ "changes": [
{ {
"key": "system.armorScore", "key": "system.armorScore",
"type": "armor", "mode": 2,
"phase": "initial", "value": "1",
"priority": 20, "priority": null
"value": 0,
"max": "1"
} }
] ],
},
"disabled": false, "disabled": false,
"start": null,
"duration": { "duration": {
"value": null, "startTime": null,
"units": "seconds", "combat": null,
"expiry": null, "seconds": null,
"expired": false "rounds": null,
"turns": null,
"startRound": null,
"startTurn": null
}, },
"description": "<p><strong>Spend a Hope</strong> to give a target you can touch a +1 bonus to their Armor Score until their next rest or you cast Tavas Armor again.</p>", "description": "<p>+1 bonus to your Armor Score until your next rest, or the caster cast's Tavas Armor again.</p>",
"tint": "#ffffff", "tint": "#ffffff",
"statuses": [], "statuses": [],
"showIcon": 1,
"folder": null,
"sort": 0, "sort": 0,
"flags": {}, "flags": {},
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!YtZzYBtR0yLPPA93.OKf8Kjr6Px8A3ubJ" "_key": "!items.effects!YtZzYBtR0yLPPA93.LdcT1nrkd5ORCU4n"
} }
], ],
"ownership": { "ownership": {

View file

@ -91,42 +91,46 @@
"effects": [ "effects": [
{ {
"name": "Valor-Touched", "name": "Valor-Touched",
"type": "armor", "type": "base",
"system": { "system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"_id": "H9lgIqqp1imSNOv9",
"img": "icons/magic/control/control-influence-rally-purple.webp",
"changes": [ "changes": [
{ {
"key": "system.armorScore", "key": "system.armorScore",
"type": "armor", "mode": 2,
"phase": "initial", "value": "1",
"priority": 20, "priority": null
"value": 0,
"max": "1"
} }
] ],
},
"_id": "JLw50ONfq1KJh1iM",
"img": "icons/magic/control/control-influence-rally-purple.webp",
"disabled": false, "disabled": false,
"start": null,
"duration": { "duration": {
"value": null, "startTime": null,
"units": "seconds", "combat": null,
"expiry": null, "seconds": null,
"expired": false "rounds": null,
"turns": null,
"startRound": null,
"startTurn": null
}, },
"description": "<p>+1 bonus to your Armor Score</p>", "description": "<ul><li class=\"vertical-card-list-found\"><p>+1 bonus to your Armor Score</p></li><li class=\"vertical-card-list-found\"><p>When you mark 1 or more Hit Points without marking an Armor Slot, clear an Armor Slot.</p></li></ul>",
"origin": null, "origin": null,
"tint": "#ffffff", "tint": "#ffffff",
"transfer": true, "transfer": true,
"statuses": [], "statuses": [],
"showIcon": 1,
"folder": null,
"sort": 0, "sort": 0,
"flags": {}, "flags": {},
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!k1AtYd3lSchIymBr.JLw50ONfq1KJh1iM" "_key": "!items.effects!k1AtYd3lSchIymBr.H9lgIqqp1imSNOv9"
} }
], ],
"ownership": { "ownership": {

View file

@ -6,7 +6,7 @@
"sorting": "m", "sorting": "m",
"_id": "TL1TutmbeCVJ06nR", "_id": "TL1TutmbeCVJ06nR",
"description": "", "description": "",
"sort": 750000, "sort": 900000,
"flags": {}, "flags": {},
"_key": "!folders!TL1TutmbeCVJ06nR" "_key": "!folders!TL1TutmbeCVJ06nR"
} }

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "6", "max": 6
"key": "system.armorScore"
} }
] ]
}, },
"_id": "xU3zAv0sBiOGAE4i", "_id": "I0649iXfgoME38fU",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!LzLOJ9EVaHWAjoq9.xU3zAv0sBiOGAE4i" "_key": "!items.effects!LzLOJ9EVaHWAjoq9.I0649iXfgoME38fU"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -80,12 +80,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "6", "max": 6
"key": "system.armorScore"
} }
] ]
}, },
"_id": "TMxnzDzCmVibJWQ0", "_id": "kRaWET7LV25rD4jy",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -106,7 +105,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!crIbCb9NZ4K0VpoU.TMxnzDzCmVibJWQ0" "_key": "!items.effects!crIbCb9NZ4K0VpoU.kRaWET7LV25rD4jy"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "HxZEKljAth8b5Wcv", "_id": "lJBLFQHDjmgLsLL8",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!epkAmlZVk7HOfUUT.HxZEKljAth8b5Wcv" "_key": "!items.effects!epkAmlZVk7HOfUUT.lJBLFQHDjmgLsLL8"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -37,12 +37,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "jSGmBv0I5FhxmTen", "_id": "1vzHmkVScl1KyHxy",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -63,7 +62,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!itSOp2GCyem0f7oM.jSGmBv0I5FhxmTen" "_key": "!items.effects!itSOp2GCyem0f7oM.1vzHmkVScl1KyHxy"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -0,0 +1,113 @@
{
"folder": "tI3bfr6Sgi16Z7zm",
"name": "Bare Bones",
"type": "armor",
"_id": "ITAjcigTcUw5pMCN",
"img": "icons/magic/control/buff-strength-muscle-damage.webp",
"system": {
"description": "<p></p><p class=\"Body-Foundation\">When you choose not to equip armor, you have a base Armor Score of 3 + your Strength and use the following as your base damage thresholds:</p><ul><li class=\"vertical-card-list-found\"><em><strong>Tier 1:</strong></em> 9/19</li><li class=\"vertical-card-list-found\"><em><strong>Tier 2:</strong></em> 11/24</li><li class=\"vertical-card-list-found\"><em><strong>Tier 3:</strong></em> 13/31</li><li class=\"vertical-card-list-found\"><em><strong>Tier 4:</strong></em> 15/38</li></ul>",
"actions": {},
"attached": [],
"tier": 1,
"equipped": false,
"baseScore": 3,
"armorFeatures": [],
"marks": {
"value": 0
},
"baseThresholds": {
"major": 9,
"severe": 19
}
},
"effects": [
{
"name": "Bare Bones",
"type": "base",
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"_id": "8ze88zUwdkQSKKJq",
"img": "icons/magic/control/buff-strength-muscle-damage.webp",
"changes": [
{
"key": "system.armorScore",
"mode": 2,
"value": "@system.traits.strength.value",
"priority": 21
}
],
"disabled": false,
"duration": {
"startTime": null,
"combat": null,
"seconds": null,
"rounds": null,
"turns": null,
"startRound": null,
"startTurn": null
},
"description": "<p></p><p class=\"Body-Foundation\">When you choose not to equip armor, you have a base Armor Score of 3 + your Strength and use the following as your base damage thresholds:</p><ul><li class=\"vertical-card-list-found\"><em><strong>Tier 1:</strong></em> 9/19</li><li class=\"vertical-card-list-found\"><em><strong>Tier 2:</strong></em> 11/24</li><li class=\"vertical-card-list-found\"><em><strong>Tier 3:</strong></em> 13/31</li><li class=\"vertical-card-list-found\"><em><strong>Tier 4:</strong></em> 15/38</li></ul>",
"origin": null,
"tint": "#ffffff",
"transfer": true,
"statuses": [],
"sort": 0,
"flags": {},
"_stats": {
"compendiumSource": null
},
"_key": "!items.effects!ITAjcigTcUw5pMCN.8ze88zUwdkQSKKJq"
},
{
"type": "armor",
"name": "Armor Effect",
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
"system": {
"changes": [
{
"type": "armor",
"phase": "initial",
"priority": 20,
"value": 0,
"max": 3
}
]
},
"_id": "B5hlwTWBUSJYZurq",
"disabled": false,
"start": null,
"duration": {
"value": null,
"units": "seconds",
"expiry": null,
"expired": false
},
"description": "",
"origin": null,
"tint": "#ffffff",
"transfer": true,
"statuses": [],
"showIcon": 1,
"folder": null,
"sort": 0,
"flags": {},
"_stats": {
"compendiumSource": null
},
"_key": "!items.effects!ITAjcigTcUw5pMCN.B5hlwTWBUSJYZurq"
}
],
"sort": 0,
"ownership": {
"default": 0,
"MQSznptE5yLT7kj8": 3
},
"flags": {},
"_key": "!items!ITAjcigTcUw5pMCN"
}

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "34OQBJZZV3d5AN7U", "_id": "lDRMjmZXRJDbhK03",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!WuoVwZA53XRAIt6d.34OQBJZZV3d5AN7U" "_key": "!items.effects!WuoVwZA53XRAIt6d.lDRMjmZXRJDbhK03"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "6", "max": 6
"key": "system.armorScore"
} }
] ]
}, },
"_id": "6AGrG6Y1wUSY3mg5", "_id": "qYkj3jKDdFzflfh4",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!mNN6pvcsS10ChrWF.6AGrG6Y1wUSY3mg5" "_key": "!items.effects!mNN6pvcsS10ChrWF.qYkj3jKDdFzflfh4"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "4", "max": 4
"key": "system.armorScore"
} }
] ]
}, },
"_id": "RXsc2d47cauTWTf0", "_id": "d6ICO5qZArh0xF1y",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!haULhuEg37zUUvhb.RXsc2d47cauTWTf0" "_key": "!items.effects!haULhuEg37zUUvhb.d6ICO5qZArh0xF1y"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "dKK4sbP3DZQYdmTn", "_id": "2q3uXc7EbTNSIjs8",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!vMJxEWz1srfwMsoj.dKK4sbP3DZQYdmTn" "_key": "!items.effects!vMJxEWz1srfwMsoj.2q3uXc7EbTNSIjs8"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -74,12 +74,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "kNq8nLq1ljLZZGDg", "_id": "a8frrkkR4i2TBFdF",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -100,7 +99,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!mdQ69eFHyAQUDmE7.kNq8nLq1ljLZZGDg" "_key": "!items.effects!mdQ69eFHyAQUDmE7.a8frrkkR4i2TBFdF"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -100,12 +100,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "7", "max": 7
"key": "system.armorScore"
} }
] ]
}, },
"_id": "sBTZAS0aYcE15RwZ", "_id": "a1x2R28RtXE2jqu5",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -126,7 +125,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!hAY6UgdGT7dj22Pr.sBTZAS0aYcE15RwZ" "_key": "!items.effects!hAY6UgdGT7dj22Pr.a1x2R28RtXE2jqu5"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -76,12 +76,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "4", "max": 4
"key": "system.armorScore"
} }
] ]
}, },
"_id": "uFvhPlk3FVGfQST4", "_id": "4yImObrCOaWLGxgH",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -102,7 +101,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!Q6LxmtFetDDkoZVZ.uFvhPlk3FVGfQST4" "_key": "!items.effects!Q6LxmtFetDDkoZVZ.4yImObrCOaWLGxgH"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -98,12 +98,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "6", "max": 6
"key": "system.armorScore"
} }
] ]
}, },
"_id": "Dg8Gx6G3nwAH9wt2", "_id": "8VtWedDMEX0tbqTn",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -124,7 +123,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!bcQUh4QG3qFX0Vx6.Dg8Gx6G3nwAH9wt2" "_key": "!items.effects!bcQUh4QG3qFX0Vx6.8VtWedDMEX0tbqTn"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "4", "max": 4
"key": "system.armorScore"
} }
] ]
}, },
"_id": "XPbNhspFyOj8RIQJ", "_id": "TRI0rfHs8RTSCmuY",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!7emTSt6nhZuTlvt5.XPbNhspFyOj8RIQJ" "_key": "!items.effects!7emTSt6nhZuTlvt5.TRI0rfHs8RTSCmuY"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -76,16 +76,15 @@
"system": { "system": {
"changes": [ "changes": [
{ {
"key": "system.armorScore",
"type": "armor", "type": "armor",
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "4" "max": 4
} }
] ]
}, },
"_id": "zji5nzTC1y8BUWHn", "_id": "VpaGM3KSKQFG5wC8",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -106,7 +105,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!UdUJNa31WxFW2noa.zji5nzTC1y8BUWHn" "_key": "!items.effects!UdUJNa31WxFW2noa.VpaGM3KSKQFG5wC8"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "3", "max": 3
"key": "system.armorScore"
} }
] ]
}, },
"_id": "72LkcLIihluGgx48", "_id": "qNXDdLhZkPe6Wnxa",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!yJFp1bfpecDcStVK.72LkcLIihluGgx48" "_key": "!items.effects!yJFp1bfpecDcStVK.qNXDdLhZkPe6Wnxa"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -91,12 +91,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "4", "max": 4
"key": "system.armorScore"
} }
] ]
}, },
"_id": "GYRwYD3CHW9q4N29", "_id": "E3Zwl9T3EuK7hOOB",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -117,7 +116,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!dvyQeUVRLc9y6rnt.GYRwYD3CHW9q4N29" "_key": "!items.effects!dvyQeUVRLc9y6rnt.E3Zwl9T3EuK7hOOB"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "2KD6EdRL2L2gQkMR", "_id": "QXvJ3gL1kNcOLaqC",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!K5WkjS0NGqHYmhU3.2KD6EdRL2L2gQkMR" "_key": "!items.effects!K5WkjS0NGqHYmhU3.QXvJ3gL1kNcOLaqC"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -80,12 +80,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "ehijWY3PGw1OaQr0", "_id": "7ahyQs2byVwsUVAF",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -106,7 +105,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!9f7RozpPTqrzJS1m.ehijWY3PGw1OaQr0" "_key": "!items.effects!9f7RozpPTqrzJS1m.7ahyQs2byVwsUVAF"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "4", "max": 4
"key": "system.armorScore"
} }
] ]
}, },
"_id": "d6QRNZ1X4wdoy82q", "_id": "uF8AksqGBBfKrrVM",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!jphnMZjnS2FkOH3s.d6QRNZ1X4wdoy82q" "_key": "!items.effects!jphnMZjnS2FkOH3s.uF8AksqGBBfKrrVM"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -37,12 +37,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "4", "max": 4
"key": "system.armorScore"
} }
] ]
}, },
"_id": "lQNHCtW6HnIj0b7F", "_id": "OqL5x4lkQvjbzSGx",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -63,7 +62,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!t91M61pSCMKStTNt.lQNHCtW6HnIj0b7F" "_key": "!items.effects!t91M61pSCMKStTNt.OqL5x4lkQvjbzSGx"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -87,12 +87,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "4", "max": 4
"key": "system.armorScore"
} }
] ]
}, },
"_id": "jnjdtSTQF1zTSkEr", "_id": "wKp8iBd3KfaMlzJh",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -113,7 +112,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!tzZntboNtHL5C6VM.jnjdtSTQF1zTSkEr" "_key": "!items.effects!tzZntboNtHL5C6VM.wKp8iBd3KfaMlzJh"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -37,12 +37,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "3", "max": 3
"key": "system.armorScore"
} }
] ]
}, },
"_id": "bkEJ55HhIYFnX1Tz", "_id": "TbWKQ0R6AfNNeqNd",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -63,7 +62,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!nibfdNtp2PtxvbVz.bkEJ55HhIYFnX1Tz" "_key": "!items.effects!nibfdNtp2PtxvbVz.TbWKQ0R6AfNNeqNd"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "7", "max": 7
"key": "system.armorScore"
} }
] ]
}, },
"_id": "PZsaURELHOaRJK28", "_id": "QAkiVlwfclxQ6JSD",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!EsIN5OLKe9ZYFNXZ.PZsaURELHOaRJK28" "_key": "!items.effects!EsIN5OLKe9ZYFNXZ.QAkiVlwfclxQ6JSD"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -80,12 +80,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "7", "max": 7
"key": "system.armorScore"
} }
] ]
}, },
"_id": "IMPH2qFG7zXaxefg", "_id": "mMYVCcmoBJxjU0er",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -106,7 +105,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!SXWjUR2aUR6bYvdl.IMPH2qFG7zXaxefg" "_key": "!items.effects!SXWjUR2aUR6bYvdl.mMYVCcmoBJxjU0er"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "6", "max": 6
"key": "system.armorScore"
} }
] ]
}, },
"_id": "TtMaMntKKpcTU054", "_id": "vgnBNFSXks1BcFQ5",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!c6tMXz4rPf9ioQrf.TtMaMntKKpcTU054" "_key": "!items.effects!c6tMXz4rPf9ioQrf.vgnBNFSXks1BcFQ5"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -37,12 +37,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "6", "max": 6
"key": "system.armorScore"
} }
] ]
}, },
"_id": "UtbfSKO8hmJanog5", "_id": "m6HRZpgaMnuw1dE7",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -63,7 +62,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!Tptgl5WOj76TyFn7.UtbfSKO8hmJanog5" "_key": "!items.effects!Tptgl5WOj76TyFn7.m6HRZpgaMnuw1dE7"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -75,12 +75,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "6", "max": 6
"key": "system.armorScore"
} }
] ]
}, },
"_id": "kskfQTQTgCgmQR6b", "_id": "aRwIF0ss6R7AYNZf",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -101,7 +100,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!AQzU2RsqS5V5bd1v.kskfQTQTgCgmQR6b" "_key": "!items.effects!AQzU2RsqS5V5bd1v.aRwIF0ss6R7AYNZf"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -67,12 +67,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "eT5j1FNPPQOdLO2Q", "_id": "YvXWUYVaXDHugsEr",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -93,7 +92,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!tN8kAeBvNKM3EBFo.eT5j1FNPPQOdLO2Q" "_key": "!items.effects!tN8kAeBvNKM3EBFo.YvXWUYVaXDHugsEr"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -74,12 +74,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "6", "max": 6
"key": "system.armorScore"
} }
] ]
}, },
"_id": "UmpUTOMR2UBmrAu6", "_id": "vkJeIaXB25W3MAt1",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -100,7 +99,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!P4qAEDJUoNLgVRsA.UmpUTOMR2UBmrAu6" "_key": "!items.effects!P4qAEDJUoNLgVRsA.vkJeIaXB25W3MAt1"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -74,12 +74,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "4", "max": 4
"key": "system.armorScore"
} }
] ]
}, },
"_id": "s39jgXMmi4fDHuaE", "_id": "2dj1LoZcV6tCKpKj",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -100,7 +99,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!tHlBUDQC24YMZqd6.s39jgXMmi4fDHuaE" "_key": "!items.effects!tHlBUDQC24YMZqd6.2dj1LoZcV6tCKpKj"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -105,12 +105,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "8", "max": 8
"key": "system.armorScore"
} }
] ]
}, },
"_id": "SWXFcH4qbmPYI7WH", "_id": "3Kn7ZRjhrw1WfALW",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -131,7 +130,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!8X16lJQ3xltTwynm.SWXFcH4qbmPYI7WH" "_key": "!items.effects!8X16lJQ3xltTwynm.3Kn7ZRjhrw1WfALW"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -80,12 +80,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "OtOaxh7BCM2OMOmS", "_id": "6YpS3uYWIbeSgreg",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -106,7 +105,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!QjwsIhXKqnlvRBMv.OtOaxh7BCM2OMOmS" "_key": "!items.effects!QjwsIhXKqnlvRBMv.6YpS3uYWIbeSgreg"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -67,12 +67,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "5", "max": 5
"key": "system.armorScore"
} }
] ]
}, },
"_id": "DgAQc09o3x6zn6DQ", "_id": "tiE0sRrTm2Ex9TAO",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -93,7 +92,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!PSW3BxCGmtLeWOxM.DgAQc09o3x6zn6DQ" "_key": "!items.effects!PSW3BxCGmtLeWOxM.tiE0sRrTm2Ex9TAO"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -67,12 +67,11 @@
"phase": "initial", "phase": "initial",
"priority": 20, "priority": 20,
"value": 0, "value": 0,
"max": "6", "max": 6
"key": "system.armorScore"
} }
] ]
}, },
"_id": "2gMOVh1Hty0nVWy4", "_id": "fpPIhNaFxaz40Iaj",
"disabled": false, "disabled": false,
"start": null, "start": null,
"duration": { "duration": {
@ -93,7 +92,7 @@
"_stats": { "_stats": {
"compendiumSource": null "compendiumSource": null
}, },
"_key": "!items.effects!OvzgUTYy2RCN85vV.2gMOVh1Hty0nVWy4" "_key": "!items.effects!OvzgUTYy2RCN85vV.fpPIhNaFxaz40Iaj"
} }
], ],
"sort": 0, "sort": 0,

View file

@ -0,0 +1,12 @@
{
"type": "Item",
"folder": null,
"name": "Special",
"color": null,
"sorting": "a",
"_id": "tI3bfr6Sgi16Z7zm",
"description": "",
"sort": 0,
"flags": {},
"_key": "!folders!tI3bfr6Sgi16Z7zm"
}