mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
Merge branch 'main' into release
This commit is contained in:
commit
81b6f7fc51
1268 changed files with 3157 additions and 22277 deletions
|
|
@ -43,6 +43,7 @@ CONFIG.ActiveEffect.dataModels = models.activeEffects.config;
|
|||
|
||||
CONFIG.Combat.documentClass = documents.DhpCombat;
|
||||
CONFIG.Combat.dataModels = { base: models.DhCombat };
|
||||
CONFIG.Combatant.documentClass = documents.DHCombatant;
|
||||
CONFIG.Combatant.dataModels = { base: models.DhCombatant };
|
||||
|
||||
CONFIG.ChatMessage.dataModels = models.chatMessages.config;
|
||||
|
|
@ -61,8 +62,10 @@ CONFIG.Token.hudClass = applications.hud.DHTokenHUD;
|
|||
|
||||
CONFIG.ui.combat = applications.ui.DhCombatTracker;
|
||||
CONFIG.ui.chat = applications.ui.DhChatLog;
|
||||
CONFIG.ui.effectsDisplay = applications.ui.DhEffectsDisplay;
|
||||
CONFIG.ui.hotbar = applications.ui.DhHotbar;
|
||||
CONFIG.ui.sidebar = applications.sidebar.DhSidebar;
|
||||
CONFIG.ui.actors = applications.sidebar.DhActorDirectory;
|
||||
CONFIG.ui.daggerheartMenu = applications.sidebar.DaggerheartMenu;
|
||||
CONFIG.ui.resources = applications.ui.DhFearTracker;
|
||||
CONFIG.ui.countdowns = applications.ui.DhCountdowns;
|
||||
|
|
@ -167,6 +170,9 @@ Hooks.on('ready', async () => {
|
|||
ui.countdowns.render({ force: true });
|
||||
}
|
||||
|
||||
ui.effectsDisplay = new CONFIG.ui.effectsDisplay();
|
||||
ui.effectsDisplay.render({ force: true });
|
||||
|
||||
if (!(ui.compendiumBrowser instanceof applications.ui.ItemBrowser))
|
||||
ui.compendiumBrowser = new applications.ui.ItemBrowser();
|
||||
|
||||
|
|
|
|||
46
lang/en.json
46
lang/en.json
|
|
@ -682,6 +682,14 @@
|
|||
"description": "Enemies that enhance their allies and/or disrupt their opponents."
|
||||
}
|
||||
},
|
||||
"AdversaryTypeCost": {
|
||||
"minion": "for each group of Minions equal to the size of the party.",
|
||||
"support": "for each Social or Support adversary.",
|
||||
"standard": "for each Horde, Ranged, Skulk, or Standard adversary.",
|
||||
"leader": "for each Leader adversary.",
|
||||
"bruiser": "for each Bruiser adversary.",
|
||||
"solo": "for each Solo adversary."
|
||||
},
|
||||
"ArmorFeature": {
|
||||
"burning": {
|
||||
"name": "Burning",
|
||||
|
|
@ -905,6 +913,30 @@
|
|||
"evolved": "Evolved",
|
||||
"hybrid": "Hybrid"
|
||||
},
|
||||
"BPModifiers": {
|
||||
"increaseDamage": {
|
||||
"description": "if you add +1d4 (or a static +2) to all adversaries' damage rolls (to increase the challenge without lengthening the battle)",
|
||||
"effect": {
|
||||
"name": "Increase Damage",
|
||||
"description": "Add 1d4 to damage"
|
||||
}
|
||||
},
|
||||
"lessDifficult": {
|
||||
"description": "if the fight should be less difficult or shorter."
|
||||
},
|
||||
"lowerTier": {
|
||||
"description": "if you choose an adversary from a lower tier."
|
||||
},
|
||||
"manySolos": {
|
||||
"description": "if you're using 2 or more Solo adversaries."
|
||||
},
|
||||
"moreDangerous": {
|
||||
"description": "if the fight should be more dangerous or last longer"
|
||||
},
|
||||
"noToughies": {
|
||||
"description": "if you don't include any Bruisers, Hordes, Leaders, or Solos"
|
||||
}
|
||||
},
|
||||
"Burden": {
|
||||
"oneHanded": "One-Handed",
|
||||
"twoHanded": "Two-Handed"
|
||||
|
|
@ -2032,6 +2064,7 @@
|
|||
"basics": "Basics",
|
||||
"bonus": "Bonus",
|
||||
"burden": "Burden",
|
||||
"condition": "Condition",
|
||||
"continue": "Continue",
|
||||
"criticalSuccess": "Critical Success",
|
||||
"criticalShort": "Critical",
|
||||
|
|
@ -2093,6 +2126,7 @@
|
|||
"missingDragDropThing": "Drop {thing} here",
|
||||
"multiclass": "Multiclass",
|
||||
"newCategory": "New Category",
|
||||
"newThing": "New {thing}",
|
||||
"none": "None",
|
||||
"noTarget": "No current target",
|
||||
"partner": "Partner",
|
||||
|
|
@ -2382,7 +2416,7 @@
|
|||
"newDowntimeMove": "Downtime Move",
|
||||
"downtimeMove": "Downtime Move",
|
||||
"armorFeature": "Armor Feature",
|
||||
"weaponFeature": "Weapon Feaure",
|
||||
"weaponFeature": "Weapon Feature",
|
||||
"newFeature": "New Item Feature",
|
||||
"downtimeMoves": "Downtime Moves",
|
||||
"itemFeatures": "Item Features",
|
||||
|
|
@ -2585,6 +2619,10 @@
|
|||
"decreasingLoop": "Decreasing Looping",
|
||||
"increasingLoop": "Increasing Looping"
|
||||
},
|
||||
"EffectsDisplay": {
|
||||
"removeThing": "[Right Click] Remove {thing}",
|
||||
"appliedBy": "Applied By: {by}"
|
||||
},
|
||||
"ItemBrowser": {
|
||||
"title": "Daggerheart Compendium Browser",
|
||||
"hint": "Select a Folder in sidebar to start browsing through the compendium",
|
||||
|
|
@ -2702,6 +2740,12 @@
|
|||
"documentIsMissing": "The {documentType} is missing from the world."
|
||||
},
|
||||
"Sidebar": {
|
||||
"actorDirectory": {
|
||||
"tier": "Tier {tier} {type}",
|
||||
"character": "Level {level} Character",
|
||||
"companion": "Level {level} - {partner}",
|
||||
"companionNoPartner": "No Partner"
|
||||
},
|
||||
"daggerheartMenu": {
|
||||
"title": "Daggerheart Menu",
|
||||
"startSession": "Start Session",
|
||||
|
|
|
|||
|
|
@ -116,14 +116,14 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
|
|||
context.isLite = this.config.roll?.lite;
|
||||
context.extraFormula = this.config.extraFormula;
|
||||
context.formula = this.roll.constructFormula(this.config);
|
||||
if (this.actor.system.traits) context.abilities = this.getTraitModifiers();
|
||||
if (this.actor?.system?.traits) context.abilities = this.getTraitModifiers();
|
||||
|
||||
context.showReaction = !this.config.roll?.type && context.rollType === 'DualityRoll';
|
||||
context.reactionOverride = this.reactionOverride;
|
||||
}
|
||||
|
||||
const tagTeamSetting = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.TagTeamRoll);
|
||||
if (tagTeamSetting.members[this.actor.id] && !this.config.skips?.createMessage) {
|
||||
if (this.actor && tagTeamSetting.members[this.actor.id] && !this.config.skips?.createMessage) {
|
||||
context.activeTagTeamRoll = true;
|
||||
context.tagTeamSelected = this.config.tagTeamSelected;
|
||||
}
|
||||
|
|
@ -197,7 +197,7 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
|
|||
this.config.actionType = this.reactionOverride
|
||||
? CONFIG.DH.ITEM.actionTypes.reaction.id
|
||||
: this.config.actionType === CONFIG.DH.ITEM.actionTypes.reaction.id
|
||||
? null
|
||||
? CONFIG.DH.ITEM.actionTypes.action.id
|
||||
: this.config.actionType;
|
||||
this.render();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import { refreshIsAllowed } from '../../helpers/utils.mjs';
|
||||
|
||||
const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api;
|
||||
|
||||
export default class DhpDowntime extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||
|
|
@ -94,11 +96,7 @@ export default class DhpDowntime extends HandlebarsApplicationMixin(ApplicationV
|
|||
const actionItems = this.actor.items.reduce((acc, x) => {
|
||||
if (x.system.actions) {
|
||||
const recoverable = x.system.actions.reduce((acc, action) => {
|
||||
if (
|
||||
action.uses.recovery &&
|
||||
((action.uses.recovery === 'longRest' && !this.shortrest) ||
|
||||
action.uses.recovery === 'shortRest')
|
||||
) {
|
||||
if (refreshIsAllowed([this.shortrest ? 'shortRest' : 'longRest'], action.uses.recovery)) {
|
||||
acc.push({
|
||||
title: x.name,
|
||||
name: action.name,
|
||||
|
|
@ -120,8 +118,7 @@ export default class DhpDowntime extends HandlebarsApplicationMixin(ApplicationV
|
|||
if (
|
||||
x.system.resource &&
|
||||
x.system.resource.type &&
|
||||
((x.system.resource.recovery === 'longRest') === !this.shortrest ||
|
||||
x.system.resource.recovery === 'shortRest')
|
||||
refreshIsAllowed([this.shortrest ? 'shortRest' : 'longRest'], action.uses.recovery)
|
||||
) {
|
||||
acc.push({
|
||||
title: game.i18n.localize(`TYPES.Item.${x.type}`),
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import { getCritDamageBonus } from '../../helpers/utils.mjs';
|
||||
import { GMUpdateEvent, RefreshType, socketEvent } from '../../systemRegistration/socket.mjs';
|
||||
|
||||
const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api;
|
||||
|
|
@ -76,28 +77,37 @@ export default class TagTeamDialog extends HandlebarsApplicationMixin(Applicatio
|
|||
cost: this.data.initiator.cost
|
||||
};
|
||||
|
||||
context.selectedData = Object.values(context.members).reduce(
|
||||
(acc, member) => {
|
||||
if (!member.roll) return acc;
|
||||
if (member.selected) {
|
||||
acc.result = `${member.roll.system.roll.total} ${member.roll.system.roll.result.label}`;
|
||||
}
|
||||
const selectedMember = Object.values(context.members).find(x => x.selected);
|
||||
const selectedIsCritical = selectedMember?.roll?.system?.isCritical;
|
||||
context.selectedData = {
|
||||
result: selectedMember
|
||||
? `${selectedMember.roll.system.roll.total} ${selectedMember.roll.system.roll.result.label}`
|
||||
: null,
|
||||
damageValues: null
|
||||
};
|
||||
|
||||
for (const member of Object.values(context.members)) {
|
||||
if (!member.roll) continue;
|
||||
if (context.usesDamage) {
|
||||
if (!acc.damageValues) acc.damageValues = {};
|
||||
if (!context.selectedData.damageValues) context.selectedData.damageValues = {};
|
||||
for (let damage of member.damageValues) {
|
||||
if (acc.damageValues[damage.key]) {
|
||||
acc.damageValues[damage.key].total += damage.total;
|
||||
const damageTotal = member.roll.system.isCritical
|
||||
? damage.total
|
||||
: selectedIsCritical
|
||||
? damage.total + (await getCritDamageBonus(member.roll.system.damage[damage.key].formula))
|
||||
: damage.total;
|
||||
if (context.selectedData.damageValues[damage.key]) {
|
||||
context.selectedData.damageValues[damage.key].total += damageTotal;
|
||||
} else {
|
||||
acc.damageValues[damage.key] = foundry.utils.deepClone(damage);
|
||||
context.selectedData.damageValues[damage.key] = {
|
||||
...foundry.utils.deepClone(damage),
|
||||
total: damageTotal
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return acc;
|
||||
},
|
||||
{ result: null, damageValues: null }
|
||||
);
|
||||
context.showResult = Object.values(context.members).reduce((enabled, member) => {
|
||||
if (!member.roll) return enabled;
|
||||
if (context.usesDamage) {
|
||||
|
|
@ -201,21 +211,41 @@ export default class TagTeamDialog extends HandlebarsApplicationMixin(Applicatio
|
|||
.map(key => game.messages.get(this.data.members[key].messageId));
|
||||
|
||||
const systemData = foundry.utils.deepClone(mainRoll).system.toObject();
|
||||
const criticalRoll = systemData.roll.isCritical;
|
||||
for (let roll of secondaryRolls) {
|
||||
if (roll.system.hasDamage) {
|
||||
for (let key in roll.system.damage) {
|
||||
var damage = roll.system.damage[key];
|
||||
const damageTotal =
|
||||
!roll.system.isCritical && criticalRoll
|
||||
? (await getCritDamageBonus(damage.formula)) + damage.total
|
||||
: damage.total;
|
||||
if (systemData.damage[key]) {
|
||||
systemData.damage[key].total += damage.total;
|
||||
systemData.damage[key].parts = [...systemData.damage[key].parts, ...damage.parts];
|
||||
} else {
|
||||
systemData.damage[key] = damage;
|
||||
const updatedDamageParts = damage.parts;
|
||||
if (!roll.system.isCritical && criticalRoll) {
|
||||
for (let part of updatedDamageParts) {
|
||||
const criticalDamage = await getCritDamageBonus(part.formula);
|
||||
if (criticalDamage) {
|
||||
damage.formula = `${damage.formula} + ${criticalDamage}`;
|
||||
part.formula = `${part.formula} + ${criticalDamage}`;
|
||||
part.modifierTotal = part.modifierTotal + criticalDamage;
|
||||
part.total += criticalDamage;
|
||||
part.roll = new Roll(part.formula);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
systemData.title = game.i18n.localize('DAGGERHEART.APPLICATIONS.TagTeamSelect.chatMessageRollTitle');
|
||||
|
||||
systemData.damage[key].formula = `${systemData.damage[key].formula} + ${damage.formula}`;
|
||||
systemData.damage[key].total += damageTotal;
|
||||
systemData.damage[key].parts = [...systemData.damage[key].parts, ...updatedDamageParts];
|
||||
} else {
|
||||
systemData.damage[key] = { ...damage, total: damageTotal, parts: updatedDamageParts };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
systemData.title = game.i18n.localize('DAGGERHEART.APPLICATIONS.TagTeamSelect.chatMessageRollTitle');
|
||||
const cls = getDocumentClass('ChatMessage'),
|
||||
msgData = {
|
||||
type: 'dualityRoll',
|
||||
|
|
@ -233,14 +263,16 @@ export default class TagTeamDialog extends HandlebarsApplicationMixin(Applicatio
|
|||
const fearUpdate = { key: 'fear', value: null, total: null, enabled: true };
|
||||
for (let memberId of Object.keys(this.data.members)) {
|
||||
const resourceUpdates = [];
|
||||
if (systemData.roll.isCritical || systemData.roll.result.duality === 1) {
|
||||
const value =
|
||||
memberId !== this.data.initiator.id
|
||||
? 1
|
||||
: this.data.initiator.cost
|
||||
const rollGivesHope = systemData.roll.isCritical || systemData.roll.result.duality === 1;
|
||||
if (memberId === this.data.initiator.id) {
|
||||
const value = this.data.initiator.cost
|
||||
? rollGivesHope
|
||||
? 1 - this.data.initiator.cost
|
||||
: -this.data.initiator.cost
|
||||
: 1;
|
||||
resourceUpdates.push({ key: 'hope', value: value, total: -value, enabled: true });
|
||||
} else if (rollGivesHope) {
|
||||
resourceUpdates.push({ key: 'hope', value: 1, total: -1, enabled: true });
|
||||
}
|
||||
if (systemData.roll.isCritical) resourceUpdates.push({ key: 'stress', value: -1, total: 1, enabled: true });
|
||||
if (systemData.roll.result.duality === -1) {
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ export default class DHTokenHUD extends foundry.applications.hud.TokenHUD {
|
|||
|
||||
async _prepareContext(options) {
|
||||
const context = await super._prepareContext(options);
|
||||
|
||||
context.partyOnCanvas =
|
||||
this.actor.type === 'party' &&
|
||||
this.actor.system.partyMembers.some(member => member.getActiveTokens().length > 0);
|
||||
|
|
@ -31,6 +30,7 @@ export default class DHTokenHUD extends foundry.applications.hud.TokenHUD {
|
|||
context.canToggleCombat = DHTokenHUD.#nonCombatTypes.includes(this.actor.type)
|
||||
? false
|
||||
: context.canToggleCombat;
|
||||
|
||||
context.systemStatusEffects = Object.keys(context.statusEffects).reduce((acc, key) => {
|
||||
const effect = context.statusEffects[key];
|
||||
if (effect.systemEffect) {
|
||||
|
|
@ -193,16 +193,18 @@ export default class DHTokenHUD extends foundry.applications.hud.TokenHUD {
|
|||
}
|
||||
|
||||
// Update the status of effects which are active for the token actor
|
||||
const activeEffects = this.actor?.effects || [];
|
||||
const activeEffects = this.actor?.getActiveEffects() || [];
|
||||
for (const effect of activeEffects) {
|
||||
for (const statusId of effect.statuses) {
|
||||
const status = choices[statusId];
|
||||
status.instances = 1 + (status.instances ?? 0);
|
||||
status.locked = status.locked || effect.condition || status.instances > 1;
|
||||
if (!status) continue;
|
||||
if (status._id) {
|
||||
if (status._id !== effect.id) continue;
|
||||
}
|
||||
status.isActive = true;
|
||||
if (effect.getFlag('core', 'overlay')) status.isOverlay = true;
|
||||
if (effect.getFlag?.('core', 'overlay')) status.isOverlay = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
export { default as ActionConfig } from './action-config.mjs';
|
||||
export { default as ActionSettingsConfig } from './action-settings-config.mjs';
|
||||
export { default as CharacterSettings } from './character-settings.mjs';
|
||||
export { default as AdversarySettings } from './adversary-settings.mjs';
|
||||
export { default as CompanionSettings } from './companion-settings.mjs';
|
||||
|
|
|
|||
236
module/applications/sheets-configs/action-base-config.mjs
Normal file
236
module/applications/sheets-configs/action-base-config.mjs
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
import DaggerheartSheet from '../sheets/daggerheart-sheet.mjs';
|
||||
|
||||
const { ApplicationV2 } = foundry.applications.api;
|
||||
export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) {
|
||||
constructor(action) {
|
||||
super({});
|
||||
|
||||
this.action = action;
|
||||
this.openSection = null;
|
||||
}
|
||||
|
||||
get title() {
|
||||
return `${game.i18n.localize('DAGGERHEART.GENERAL.Tabs.settings')}: ${this.action.name}`;
|
||||
}
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'dh-style', 'dialog', 'max-800'],
|
||||
window: {
|
||||
icon: 'fa-solid fa-wrench',
|
||||
resizable: false
|
||||
},
|
||||
position: { width: 600, height: 'auto' },
|
||||
actions: {
|
||||
toggleSection: this.toggleSection,
|
||||
addEffect: this.addEffect,
|
||||
removeEffect: this.removeEffect,
|
||||
addElement: this.addElement,
|
||||
removeElement: this.removeElement,
|
||||
editEffect: this.editEffect,
|
||||
addDamage: this.addDamage,
|
||||
removeDamage: this.removeDamage
|
||||
},
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
submitOnChange: true,
|
||||
closeOnSubmit: false
|
||||
}
|
||||
};
|
||||
|
||||
static PARTS = {
|
||||
header: {
|
||||
id: 'header',
|
||||
template: 'systems/daggerheart/templates/sheets-settings/action-settings/header.hbs'
|
||||
},
|
||||
tabs: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-navigation.hbs' },
|
||||
base: {
|
||||
id: 'base',
|
||||
template: 'systems/daggerheart/templates/sheets-settings/action-settings/base.hbs'
|
||||
},
|
||||
configuration: {
|
||||
id: 'configuration',
|
||||
template: 'systems/daggerheart/templates/sheets-settings/action-settings/configuration.hbs'
|
||||
},
|
||||
effect: {
|
||||
id: 'effect',
|
||||
template: 'systems/daggerheart/templates/sheets-settings/action-settings/effect.hbs'
|
||||
}
|
||||
};
|
||||
|
||||
static TABS = {
|
||||
base: {
|
||||
active: true,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'base',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.GENERAL.Tabs.base'
|
||||
},
|
||||
config: {
|
||||
active: false,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'config',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.GENERAL.Tabs.configuration'
|
||||
},
|
||||
effect: {
|
||||
active: false,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'effect',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.GENERAL.Tabs.effects'
|
||||
}
|
||||
};
|
||||
|
||||
static CLEAN_ARRAYS = ['damage.parts', 'cost', 'effects'];
|
||||
|
||||
_getTabs(tabs) {
|
||||
for (const v of Object.values(tabs)) {
|
||||
v.active = this.tabGroups[v.group] ? this.tabGroups[v.group] === v.id : v.active;
|
||||
v.cssClass = v.active ? 'active' : '';
|
||||
}
|
||||
|
||||
return tabs;
|
||||
}
|
||||
|
||||
async _prepareContext(_options) {
|
||||
const context = await super._prepareContext(_options, 'action');
|
||||
context.source = this.action.toObject(false);
|
||||
context.openSection = this.openSection;
|
||||
context.tabs = this._getTabs(this.constructor.TABS);
|
||||
context.config = CONFIG.DH;
|
||||
if (this.action.damage?.hasOwnProperty('includeBase') && this.action.type === 'attack')
|
||||
context.hasBaseDamage = !!this.action.parent.attack;
|
||||
context.costOptions = this.getCostOptions();
|
||||
context.getRollTypeOptions = this.getRollTypeOptions();
|
||||
context.disableOption = this.disableOption.bind(this);
|
||||
context.isNPC = this.action.actor?.isNPC;
|
||||
context.baseSaveDifficulty = this.action.actor?.baseSaveDifficulty;
|
||||
context.baseAttackBonus = this.action.actor?.system.attack?.roll.bonus;
|
||||
context.hasRoll = this.action.hasRoll;
|
||||
|
||||
const settingsTiers = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LevelTiers).tiers;
|
||||
context.tierOptions = [
|
||||
{ key: 1, label: game.i18n.localize('DAGGERHEART.GENERAL.Tiers.1') },
|
||||
...Object.values(settingsTiers).map(x => ({ key: x.tier, label: x.name }))
|
||||
];
|
||||
return context;
|
||||
}
|
||||
|
||||
static toggleSection(_, button) {
|
||||
this.openSection = button.dataset.section === this.openSection ? null : button.dataset.section;
|
||||
this.render(true);
|
||||
}
|
||||
|
||||
getCostOptions() {
|
||||
const options = foundry.utils.deepClone(CONFIG.DH.GENERAL.abilityCosts);
|
||||
const resource = this.action.parent.resource;
|
||||
if (resource) {
|
||||
options.resource = {
|
||||
label: 'DAGGERHEART.GENERAL.itemResource',
|
||||
group: 'Global'
|
||||
};
|
||||
}
|
||||
|
||||
if (this.action.parent.metadata?.isQuantifiable) {
|
||||
options.quantity = {
|
||||
label: 'DAGGERHEART.GENERAL.itemQuantity',
|
||||
group: 'Global'
|
||||
};
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
getRollTypeOptions() {
|
||||
const types = foundry.utils.deepClone(CONFIG.DH.GENERAL.rollTypes);
|
||||
if (!this.action.actor) return types;
|
||||
Object.values(types).forEach(t => {
|
||||
if (this.action.actor.type !== 'character' && t.playerOnly) delete types[t.id];
|
||||
});
|
||||
return types;
|
||||
}
|
||||
|
||||
disableOption(index, costOptions, choices) {
|
||||
const filtered = foundry.utils.deepClone(costOptions);
|
||||
Object.keys(filtered).forEach(o => {
|
||||
if (choices.find((c, idx) => c.type === o && index !== idx)) filtered[o].disabled = true;
|
||||
});
|
||||
return filtered;
|
||||
}
|
||||
|
||||
_prepareSubmitData(_event, formData) {
|
||||
const submitData = foundry.utils.expandObject(formData.object);
|
||||
|
||||
const itemAbilityCostKeys = Object.keys(CONFIG.DH.GENERAL.itemAbilityCosts);
|
||||
for (const keyPath of this.constructor.CLEAN_ARRAYS) {
|
||||
const data = foundry.utils.getProperty(submitData, keyPath);
|
||||
const dataValues = data ? Object.values(data) : [];
|
||||
if (keyPath === 'cost') {
|
||||
for (var value of dataValues) {
|
||||
value.itemId = itemAbilityCostKeys.includes(value.key) ? this.action.parent.parent.id : null;
|
||||
}
|
||||
}
|
||||
|
||||
if (data) foundry.utils.setProperty(submitData, keyPath, dataValues);
|
||||
}
|
||||
return submitData;
|
||||
}
|
||||
|
||||
static async updateForm(event, _, formData) {
|
||||
const submitData = this._prepareSubmitData(event, formData),
|
||||
data = foundry.utils.mergeObject(this.action.toObject(), submitData);
|
||||
this.action = await this.action.update(data);
|
||||
|
||||
this.sheetUpdate?.(this.action);
|
||||
this.render();
|
||||
}
|
||||
|
||||
static addElement(event) {
|
||||
const data = this.action.toObject(),
|
||||
key = event.target.closest('[data-key]').dataset.key;
|
||||
if (!this.action[key]) return;
|
||||
|
||||
data[key].push(this.action.defaultValues[key] ?? {});
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
}
|
||||
|
||||
static removeElement(event, button) {
|
||||
event.stopPropagation();
|
||||
const data = this.action.toObject(),
|
||||
key = event.target.closest('[data-key]').dataset.key,
|
||||
index = button.dataset.index;
|
||||
data[key].splice(index, 1);
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
}
|
||||
|
||||
static addDamage(_event) {
|
||||
if (!this.action.damage.parts) return;
|
||||
const data = this.action.toObject(),
|
||||
part = {};
|
||||
if (this.action.actor?.isNPC) part.value = { multiplier: 'flat' };
|
||||
data.damage.parts.push(part);
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
}
|
||||
|
||||
static removeDamage(_event, button) {
|
||||
if (!this.action.damage.parts) return;
|
||||
const data = this.action.toObject(),
|
||||
index = button.dataset.index;
|
||||
data.damage.parts.splice(index, 1);
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
}
|
||||
|
||||
/** Specific implementation in extending classes **/
|
||||
static async addEffect(_event) {}
|
||||
static removeEffect(_event, _button) {}
|
||||
static editEffect(_event) {}
|
||||
|
||||
async close(options) {
|
||||
this.tabGroups.primary = 'base';
|
||||
await super.close(options);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,241 +1,32 @@
|
|||
import DaggerheartSheet from '../sheets/daggerheart-sheet.mjs';
|
||||
|
||||
const { ApplicationV2 } = foundry.applications.api;
|
||||
export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
|
||||
constructor(action, sheetUpdate) {
|
||||
super({});
|
||||
|
||||
this.action = action;
|
||||
this.sheetUpdate = sheetUpdate;
|
||||
this.openSection = null;
|
||||
}
|
||||
|
||||
get title() {
|
||||
return `${game.i18n.localize('DAGGERHEART.GENERAL.Tabs.settings')}: ${this.action.name}`;
|
||||
}
|
||||
import DHActionBaseConfig from './action-base-config.mjs';
|
||||
|
||||
export default class DHActionConfig extends DHActionBaseConfig {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'dh-style', 'dialog', 'max-800'],
|
||||
window: {
|
||||
icon: 'fa-solid fa-wrench',
|
||||
resizable: false
|
||||
},
|
||||
position: { width: 600, height: 'auto' },
|
||||
...DHActionBaseConfig.DEFAULT_OPTIONS,
|
||||
actions: {
|
||||
toggleSection: this.toggleSection,
|
||||
...DHActionBaseConfig.DEFAULT_OPTIONS.actions,
|
||||
addEffect: this.addEffect,
|
||||
removeEffect: this.removeEffect,
|
||||
addElement: this.addElement,
|
||||
removeElement: this.removeElement,
|
||||
editEffect: this.editEffect,
|
||||
addDamage: this.addDamage,
|
||||
removeDamage: this.removeDamage
|
||||
},
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
submitOnChange: true,
|
||||
closeOnSubmit: false
|
||||
editEffect: this.editEffect
|
||||
}
|
||||
};
|
||||
|
||||
static PARTS = {
|
||||
header: {
|
||||
id: 'header',
|
||||
template: 'systems/daggerheart/templates/sheets-settings/action-settings/header.hbs'
|
||||
},
|
||||
tabs: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-navigation.hbs' },
|
||||
base: {
|
||||
id: 'base',
|
||||
template: 'systems/daggerheart/templates/sheets-settings/action-settings/base.hbs'
|
||||
},
|
||||
configuration: {
|
||||
id: 'configuration',
|
||||
template: 'systems/daggerheart/templates/sheets-settings/action-settings/configuration.hbs'
|
||||
},
|
||||
effect: {
|
||||
id: 'effect',
|
||||
template: 'systems/daggerheart/templates/sheets-settings/action-settings/effect.hbs'
|
||||
}
|
||||
};
|
||||
|
||||
static TABS = {
|
||||
base: {
|
||||
active: true,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'base',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.GENERAL.Tabs.base'
|
||||
},
|
||||
config: {
|
||||
active: false,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'config',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.GENERAL.Tabs.configuration'
|
||||
},
|
||||
effect: {
|
||||
active: false,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'effect',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.GENERAL.Tabs.effects'
|
||||
}
|
||||
};
|
||||
|
||||
static CLEAN_ARRAYS = ['damage.parts', 'cost', 'effects'];
|
||||
|
||||
_getTabs(tabs) {
|
||||
for (const v of Object.values(tabs)) {
|
||||
v.active = this.tabGroups[v.group] ? this.tabGroups[v.group] === v.id : v.active;
|
||||
v.cssClass = v.active ? 'active' : '';
|
||||
}
|
||||
|
||||
return tabs;
|
||||
}
|
||||
|
||||
async _prepareContext(_options) {
|
||||
const context = await super._prepareContext(_options, 'action');
|
||||
context.source = this.action.toObject(false);
|
||||
context.openSection = this.openSection;
|
||||
context.tabs = this._getTabs(this.constructor.TABS);
|
||||
context.config = CONFIG.DH;
|
||||
async _prepareContext(options) {
|
||||
const context = await super._prepareContext(options);
|
||||
if (!!this.action.effects) context.effects = this.action.effects.map(e => this.action.item.effects.get(e._id));
|
||||
if (this.action.damage?.hasOwnProperty('includeBase') && this.action.type === 'attack')
|
||||
context.hasBaseDamage = !!this.action.parent.attack;
|
||||
context.getEffectDetails = this.getEffectDetails.bind(this);
|
||||
context.costOptions = this.getCostOptions();
|
||||
context.getRollTypeOptions = this.getRollTypeOptions();
|
||||
context.disableOption = this.disableOption.bind(this);
|
||||
context.isNPC = this.action.actor?.isNPC;
|
||||
context.baseSaveDifficulty = this.action.actor?.baseSaveDifficulty;
|
||||
context.baseAttackBonus = this.action.actor?.system.attack?.roll.bonus;
|
||||
context.hasRoll = this.action.hasRoll;
|
||||
|
||||
const settingsTiers = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LevelTiers).tiers;
|
||||
context.tierOptions = [
|
||||
{ key: 1, label: game.i18n.localize('DAGGERHEART.GENERAL.Tiers.1') },
|
||||
...Object.values(settingsTiers).map(x => ({ key: x.tier, label: x.name }))
|
||||
];
|
||||
return context;
|
||||
}
|
||||
|
||||
static toggleSection(_, button) {
|
||||
this.openSection = button.dataset.section === this.openSection ? null : button.dataset.section;
|
||||
this.render(true);
|
||||
}
|
||||
|
||||
getCostOptions() {
|
||||
const options = foundry.utils.deepClone(CONFIG.DH.GENERAL.abilityCosts);
|
||||
const resource = this.action.parent.resource;
|
||||
if (resource) {
|
||||
options.resource = {
|
||||
label: 'DAGGERHEART.GENERAL.itemResource',
|
||||
group: 'Global'
|
||||
};
|
||||
}
|
||||
|
||||
if (this.action.parent.metadata?.isQuantifiable) {
|
||||
options.quantity = {
|
||||
label: 'DAGGERHEART.GENERAL.itemQuantity',
|
||||
group: 'Global'
|
||||
};
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
getRollTypeOptions() {
|
||||
const types = foundry.utils.deepClone(CONFIG.DH.GENERAL.rollTypes);
|
||||
if (!this.action.actor) return types;
|
||||
Object.values(types).forEach(t => {
|
||||
if (this.action.actor.type !== 'character' && t.playerOnly) delete types[t.id];
|
||||
});
|
||||
return types;
|
||||
}
|
||||
|
||||
disableOption(index, costOptions, choices) {
|
||||
const filtered = foundry.utils.deepClone(costOptions);
|
||||
Object.keys(filtered).forEach(o => {
|
||||
if (choices.find((c, idx) => c.type === o && index !== idx)) filtered[o].disabled = true;
|
||||
});
|
||||
return filtered;
|
||||
}
|
||||
|
||||
getEffectDetails(id) {
|
||||
return this.action.item.effects.get(id);
|
||||
}
|
||||
|
||||
_prepareSubmitData(_event, formData) {
|
||||
const submitData = foundry.utils.expandObject(formData.object);
|
||||
|
||||
const itemAbilityCostKeys = Object.keys(CONFIG.DH.GENERAL.itemAbilityCosts);
|
||||
for (const keyPath of this.constructor.CLEAN_ARRAYS) {
|
||||
const data = foundry.utils.getProperty(submitData, keyPath);
|
||||
const dataValues = data ? Object.values(data) : [];
|
||||
if (keyPath === 'cost') {
|
||||
for (var value of dataValues) {
|
||||
value.itemId = itemAbilityCostKeys.includes(value.key) ? this.action.parent.parent.id : null;
|
||||
}
|
||||
}
|
||||
|
||||
if (data) foundry.utils.setProperty(submitData, keyPath, dataValues);
|
||||
}
|
||||
return submitData;
|
||||
}
|
||||
|
||||
static async updateForm(event, _, formData) {
|
||||
const submitData = this._prepareSubmitData(event, formData),
|
||||
data = foundry.utils.mergeObject(this.action.toObject(), submitData);
|
||||
this.action = await this.action.update(data);
|
||||
|
||||
this.sheetUpdate?.(this.action);
|
||||
this.render();
|
||||
}
|
||||
|
||||
static addElement(event) {
|
||||
const data = this.action.toObject(),
|
||||
key = event.target.closest('[data-key]').dataset.key;
|
||||
if (!this.action[key]) return;
|
||||
|
||||
data[key].push(this.action.defaultValues[key] ?? {});
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
}
|
||||
|
||||
static removeElement(event, button) {
|
||||
event.stopPropagation();
|
||||
const data = this.action.toObject(),
|
||||
key = event.target.closest('[data-key]').dataset.key,
|
||||
index = button.dataset.index;
|
||||
data[key].splice(index, 1);
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
}
|
||||
|
||||
static addDamage(event) {
|
||||
if (!this.action.damage.parts) return;
|
||||
const data = this.action.toObject(),
|
||||
part = {};
|
||||
if (this.action.actor?.isNPC) part.value = { multiplier: 'flat' };
|
||||
data.damage.parts.push(part);
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
}
|
||||
|
||||
static removeDamage(event, button) {
|
||||
if (!this.action.damage.parts) return;
|
||||
const data = this.action.toObject(),
|
||||
index = button.dataset.index;
|
||||
data.damage.parts.splice(index, 1);
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
}
|
||||
|
||||
static async addEffect(event) {
|
||||
static async addEffect(_event) {
|
||||
if (!this.action.effects) return;
|
||||
const effectData = this._addEffectData.bind(this)(),
|
||||
[created] = await this.action.item.createEmbeddedDocuments('ActiveEffect', [effectData], { render: false }),
|
||||
data = this.action.toObject();
|
||||
const effectData = this._addEffectData.bind(this)();
|
||||
const data = this.action.toObject();
|
||||
|
||||
const [created] = await this.action.item.createEmbeddedDocuments('ActiveEffect', [effectData], {
|
||||
render: false
|
||||
});
|
||||
data.effects.push({ _id: created._id });
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
this.action.item.effects.get(created._id).sheet.render(true);
|
||||
|
|
@ -255,6 +46,10 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
|
|||
};
|
||||
}
|
||||
|
||||
getEffectDetails(id) {
|
||||
return this.action.item.effects.get(id);
|
||||
}
|
||||
|
||||
static removeEffect(event, button) {
|
||||
if (!this.action.effects) return;
|
||||
const index = button.dataset.index,
|
||||
|
|
@ -267,9 +62,4 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
|
|||
const id = event.target.closest('[data-effect-id]')?.dataset?.effectId;
|
||||
this.action.item.effects.get(id).sheet.render(true);
|
||||
}
|
||||
|
||||
async close(options) {
|
||||
this.tabGroups.primary = 'base';
|
||||
await super.close(options);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,66 @@
|
|||
import DHActionBaseConfig from './action-base-config.mjs';
|
||||
|
||||
export default class DHActionSettingsConfig extends DHActionBaseConfig {
|
||||
constructor(action, effects, sheetUpdate) {
|
||||
super(action);
|
||||
|
||||
this.effects = effects;
|
||||
this.sheetUpdate = sheetUpdate;
|
||||
}
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
...DHActionBaseConfig.DEFAULT_OPTIONS,
|
||||
actions: {
|
||||
...DHActionBaseConfig.DEFAULT_OPTIONS.actions,
|
||||
addEffect: this.addEffect,
|
||||
removeEffect: this.removeEffect,
|
||||
editEffect: this.editEffect
|
||||
}
|
||||
};
|
||||
|
||||
async _prepareContext(options) {
|
||||
const context = await super._prepareContext(options);
|
||||
context.effects = this.effects;
|
||||
context.getEffectDetails = this.getEffectDetails.bind(this);
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
getEffectDetails(id) {
|
||||
return this.effects.find(x => x.id === id);
|
||||
}
|
||||
|
||||
static async addEffect(_event) {
|
||||
if (!this.action.effects) return;
|
||||
const effectData = game.system.api.data.activeEffects.BaseEffect.getDefaultObject();
|
||||
const data = this.action.toObject();
|
||||
|
||||
this.sheetUpdate(data, effectData);
|
||||
this.effects = [...this.effects, effectData];
|
||||
data.effects.push({ _id: effectData.id });
|
||||
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
|
||||
}
|
||||
|
||||
static removeEffect(event, button) {
|
||||
if (!this.action.effects) return;
|
||||
const index = button.dataset.index,
|
||||
effectId = this.action.effects[index]._id;
|
||||
this.constructor.removeElement.bind(this)(event, button);
|
||||
this.sheetUpdate(
|
||||
this.action.toObject(),
|
||||
this.effects.find(x => x.id === effectId),
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
static async editEffect(event) {
|
||||
const id = event.target.closest('[data-effect-id]')?.dataset?.effectId;
|
||||
const updatedEffect = await game.system.api.applications.sheetConfigs.SettingActiveEffectConfig.configure(
|
||||
this.getEffectDetails(id)
|
||||
);
|
||||
if (!updatedEffect) return;
|
||||
|
||||
this.effects = await this.sheetUpdate(this.action.toObject(), { ...updatedEffect, id });
|
||||
this.render();
|
||||
}
|
||||
}
|
||||
|
|
@ -109,9 +109,9 @@ export default class DHEnvironmentSettings extends DHBaseActorSettings {
|
|||
|
||||
async _onDrop(event) {
|
||||
const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event);
|
||||
if (data.fromInternal) return;
|
||||
|
||||
const item = await fromUuid(data.uuid);
|
||||
if (data.fromInternal && item?.parent?.uuid === this.actor.uuid) return;
|
||||
|
||||
if (item.type === 'adversary' && event.target.closest('.category-container')) {
|
||||
const target = event.target.closest('.category-container');
|
||||
const path = `system.potentialAdversaries.${target.dataset.potentialAdversary}.adversaries`;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ export default class SettingActiveEffectConfig extends HandlebarsApplicationMixi
|
|||
}
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ['daggerheart', 'sheet', 'dh-style', 'active-effect-config'],
|
||||
classes: ['daggerheart', 'sheet', 'dh-style', 'active-effect-config', 'standard-form'],
|
||||
tag: 'form',
|
||||
position: {
|
||||
width: 560
|
||||
|
|
@ -131,6 +131,7 @@ export default class SettingActiveEffectConfig extends HandlebarsApplicationMixi
|
|||
if (partId in context.tabs) context.tab = context.tabs[partId];
|
||||
switch (partId) {
|
||||
case 'details':
|
||||
context.statuses = CONFIG.statusEffects.map(s => ({ value: s.id, label: game.i18n.localize(s.name) }));
|
||||
context.isActorEffect = false;
|
||||
context.isItemEffect = true;
|
||||
const useGeneric = game.settings.get(
|
||||
|
|
@ -138,10 +139,13 @@ export default class SettingActiveEffectConfig extends HandlebarsApplicationMixi
|
|||
CONFIG.DH.SETTINGS.gameSettings.appearance
|
||||
).showGenericStatusEffects;
|
||||
if (!useGeneric) {
|
||||
context.statuses = Object.values(CONFIG.DH.GENERAL.conditions).map(status => ({
|
||||
context.statuses = [
|
||||
...context.statuses,
|
||||
Object.values(CONFIG.DH.GENERAL.conditions).map(status => ({
|
||||
value: status.id,
|
||||
label: game.i18n.localize(status.name)
|
||||
}));
|
||||
}))
|
||||
];
|
||||
}
|
||||
break;
|
||||
case 'changes':
|
||||
|
|
@ -157,7 +161,7 @@ export default class SettingActiveEffectConfig extends HandlebarsApplicationMixi
|
|||
return context;
|
||||
}
|
||||
|
||||
static async #onSubmit(event, form, formData) {
|
||||
static async #onSubmit(_event, _form, formData) {
|
||||
this.data = foundry.utils.expandObject(formData.object);
|
||||
this.close();
|
||||
}
|
||||
|
|
@ -193,11 +197,11 @@ export default class SettingActiveEffectConfig extends HandlebarsApplicationMixi
|
|||
* @type {ApplicationClickAction}
|
||||
*/
|
||||
static async #addChange() {
|
||||
const submitData = foundry.utils.expandObject(new FormDataExtended(this.form).object);
|
||||
const changes = Object.values(submitData.changes ?? {});
|
||||
changes.push({});
|
||||
const { changes, ...rest } = foundry.utils.expandObject(new FormDataExtended(this.form).object);
|
||||
const updatedChanges = Object.values(changes ?? {});
|
||||
updatedChanges.push({});
|
||||
|
||||
this.effect.changes = changes;
|
||||
this.effect = { ...rest, changes: updatedChanges };
|
||||
this.render();
|
||||
}
|
||||
|
||||
|
|
@ -208,12 +212,12 @@ export default class SettingActiveEffectConfig extends HandlebarsApplicationMixi
|
|||
*/
|
||||
static async #deleteChange(event) {
|
||||
const submitData = foundry.utils.expandObject(new FormDataExtended(this.form).object);
|
||||
const changes = Object.values(submitData.changes);
|
||||
const updatedChanges = Object.values(submitData.changes);
|
||||
const row = event.target.closest('li');
|
||||
const index = Number(row.dataset.index) || 0;
|
||||
changes.splice(index, 1);
|
||||
updatedChanges.splice(index, 1);
|
||||
|
||||
this.effect.changes = changes;
|
||||
this.effect = { ...submitData, changes: updatedChanges };
|
||||
this.render();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { actionsTypes } from '../../data/action/_module.mjs';
|
||||
import DHActionConfig from './action-config.mjs';
|
||||
import ActionSettingsConfig from './action-settings-config.mjs';
|
||||
|
||||
const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api;
|
||||
|
||||
|
|
@ -102,6 +102,8 @@ export default class SettingFeatureConfig extends HandlebarsApplicationMixin(App
|
|||
return (
|
||||
(await foundry.applications.api.DialogV2.input({
|
||||
window: { title: game.i18n.localize('DAGGERHEART.CONFIG.SelectAction.selectType') },
|
||||
position: { width: 300 },
|
||||
classes: ['daggerheart', 'dh-style'],
|
||||
content: await foundry.applications.handlebars.renderTemplate(
|
||||
'systems/daggerheart/templates/actionTypes/actionType.hbs',
|
||||
{ types: CONFIG.DH.ACTIONS.actionTypes }
|
||||
|
|
@ -158,16 +160,55 @@ export default class SettingFeatureConfig extends HandlebarsApplicationMixin(App
|
|||
this.render();
|
||||
} else {
|
||||
const action = this.move.actions.get(id);
|
||||
await new DHActionConfig(action, async updatedMove => {
|
||||
await new ActionSettingsConfig(action, this.move.effects, async (updatedMove, effectData, deleteEffect) => {
|
||||
let updatedEffects = null;
|
||||
if (effectData) {
|
||||
const currentEffects = foundry.utils.getProperty(this.settings, `${this.movePath}.effects`);
|
||||
const existingEffectIndex = currentEffects.findIndex(x => x.id === effectData.id);
|
||||
|
||||
updatedEffects = deleteEffect
|
||||
? currentEffects.filter(x => x.id !== effectData.id)
|
||||
: existingEffectIndex === -1
|
||||
? [...currentEffects, effectData]
|
||||
: currentEffects.with(existingEffectIndex, effectData);
|
||||
await this.settings.updateSource({
|
||||
[`${this.movePath}.effects`]: updatedEffects
|
||||
});
|
||||
}
|
||||
|
||||
await this.settings.updateSource({ [`${this.actionsPath}.${id}`]: updatedMove });
|
||||
this.move = foundry.utils.getProperty(this.settings, this.movePath);
|
||||
this.render();
|
||||
return updatedEffects;
|
||||
}).render(true);
|
||||
}
|
||||
}
|
||||
|
||||
static async removeItem(_, target) {
|
||||
const { type, id } = target.dataset;
|
||||
if (type === 'effect') {
|
||||
const move = foundry.utils.getProperty(this.settings, this.movePath);
|
||||
for (const action of move.actions) {
|
||||
const remainingEffects = action.effects.filter(x => x._id !== id);
|
||||
if (action.effects.length !== remainingEffects.length) {
|
||||
await action.update({
|
||||
effects: remainingEffects.map(x => {
|
||||
const { _id, ...rest } = x;
|
||||
return { ...rest, _id: _id };
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
await this.settings.updateSource({
|
||||
[this.movePath]: {
|
||||
effects: move.effects.filter(x => x.id !== id),
|
||||
actions: move.actions
|
||||
}
|
||||
});
|
||||
} else {
|
||||
await this.settings.updateSource({ [`${this.actionsPath}.-=${target.dataset.id}`]: null });
|
||||
}
|
||||
|
||||
this.move = foundry.utils.getProperty(this.settings, this.movePath);
|
||||
this.render();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@ export default class AdversarySheet extends DHBaseActorSheet {
|
|||
action: 'editAttribution'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
dragDrop: [{ dragSelector: '[data-item-id][draggable="true"]', dropSelector: null }]
|
||||
};
|
||||
|
||||
static PARTS = {
|
||||
|
|
|
|||
|
|
@ -214,34 +214,8 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
|||
context.resources.stress.emptyPips =
|
||||
context.resources.stress.max < maxResource ? maxResource - context.resources.stress.max : 0;
|
||||
|
||||
context.inventory = { currencies: {} };
|
||||
const { title, ...currencies } = game.settings.get(
|
||||
CONFIG.DH.id,
|
||||
CONFIG.DH.SETTINGS.gameSettings.Homebrew
|
||||
).currency;
|
||||
for (let key in currencies) {
|
||||
context.inventory.currencies[key] = {
|
||||
...currencies[key],
|
||||
field: context.systemFields.gold.fields[key],
|
||||
value: context.source.system.gold[key]
|
||||
};
|
||||
}
|
||||
// context.inventory = {
|
||||
// currency: {
|
||||
// title: game.i18n.localize('DAGGERHEART.CONFIG.Gold.title'),
|
||||
// coins: game.i18n.localize('DAGGERHEART.CONFIG.Gold.coins'),
|
||||
// handfuls: game.i18n.localize('DAGGERHEART.CONFIG.Gold.handfuls'),
|
||||
// bags: game.i18n.localize('DAGGERHEART.CONFIG.Gold.bags'),
|
||||
// chests: game.i18n.localize('DAGGERHEART.CONFIG.Gold.chests')
|
||||
// }
|
||||
// };
|
||||
|
||||
context.beastformActive = this.document.effects.find(x => x.type === 'beastform');
|
||||
|
||||
// if (context.inventory.length === 0) {
|
||||
// context.inventory = Array(1).fill(Array(5).fill([]));
|
||||
// }
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
|
|
@ -717,6 +691,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
|||
};
|
||||
const result = await this.document.diceRoll({
|
||||
...config,
|
||||
actionType: 'action',
|
||||
headerTitle: `${game.i18n.localize('DAGGERHEART.GENERAL.dualityRoll')}: ${this.actor.name}`,
|
||||
title: game.i18n.format('DAGGERHEART.UI.Chat.dualityRoll.abilityCheckTitle', {
|
||||
ability: abilityLabel
|
||||
|
|
@ -902,47 +877,9 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
|||
});
|
||||
}
|
||||
|
||||
async _onDragStart(event) {
|
||||
const item = await getDocFromElement(event.target);
|
||||
|
||||
const dragData = {
|
||||
originActor: this.document.uuid,
|
||||
originId: item.id,
|
||||
type: item.documentName,
|
||||
uuid: item.uuid
|
||||
};
|
||||
|
||||
event.dataTransfer.setData('text/plain', JSON.stringify(dragData));
|
||||
|
||||
super._onDragStart(event);
|
||||
}
|
||||
|
||||
async _onDrop(event) {
|
||||
// Prevent event bubbling to avoid duplicate handling
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event);
|
||||
|
||||
const { cancel } = await super._onDrop(event);
|
||||
if (cancel) return;
|
||||
|
||||
this._onDropItem(event, data);
|
||||
}
|
||||
|
||||
async _onDropItem(event, data) {
|
||||
const item = await Item.implementation.fromDropData(data);
|
||||
const itemData = item.toObject();
|
||||
|
||||
if (item.type === 'domainCard' && !this.document.system.loadoutSlot.available) {
|
||||
itemData.system.inVault = true;
|
||||
}
|
||||
|
||||
const typesThatReplace = ['ancestry', 'community'];
|
||||
if (typesThatReplace.includes(item.type)) {
|
||||
await this.document.deleteEmbeddedDocuments(
|
||||
'Item',
|
||||
this.document.items.filter(x => x.type === item.type).map(x => x.id)
|
||||
);
|
||||
async _onDropItem(event, item) {
|
||||
if (this.document.uuid === item.parent?.uuid) {
|
||||
return super._onDropItem(event, item);
|
||||
}
|
||||
|
||||
if (item.type === 'beastform') {
|
||||
|
|
@ -952,20 +889,27 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
|||
);
|
||||
}
|
||||
|
||||
const itemData = item.toObject();
|
||||
const data = await game.system.api.data.items.DHBeastform.getWildcardImage(this.document, itemData);
|
||||
if (data) {
|
||||
if (!data.selectedImage) return;
|
||||
else {
|
||||
if (!data?.selectedImage) {
|
||||
return;
|
||||
} else if (data) {
|
||||
if (data.usesDynamicToken) itemData.system.tokenRingImg = data.selectedImage;
|
||||
else itemData.system.tokenImg = data.selectedImage;
|
||||
}
|
||||
return await this._onDropItemCreate(itemData);
|
||||
}
|
||||
}
|
||||
|
||||
if (this.document.uuid === item.parent?.uuid) return this._onSortItem(event, itemData);
|
||||
const createdItem = await this._onDropItemCreate(itemData);
|
||||
// If this is a type that gets deleted, delete it first (but still defer to super)
|
||||
const typesThatReplace = ['ancestry', 'community'];
|
||||
if (typesThatReplace.includes(item.type)) {
|
||||
await this.document.deleteEmbeddedDocuments(
|
||||
'Item',
|
||||
this.document.items.filter(x => x.type === item.type).map(x => x.id)
|
||||
);
|
||||
}
|
||||
|
||||
return createdItem;
|
||||
return super._onDropItem(event, item);
|
||||
}
|
||||
|
||||
async _onDropItemCreate(itemData, event) {
|
||||
|
|
|
|||
|
|
@ -37,11 +37,11 @@ export default class DhpEnvironment extends DHBaseActorSheet {
|
|||
header: { template: 'systems/daggerheart/templates/sheets/actors/environment/header.hbs' },
|
||||
features: {
|
||||
template: 'systems/daggerheart/templates/sheets/actors/environment/features.hbs',
|
||||
scrollable: ['feature-section']
|
||||
scrollable: ['.feature-section']
|
||||
},
|
||||
potentialAdversaries: {
|
||||
template: 'systems/daggerheart/templates/sheets/actors/environment/potentialAdversaries.hbs',
|
||||
scrollable: ['items-sections']
|
||||
scrollable: ['.items-section']
|
||||
},
|
||||
notes: { template: 'systems/daggerheart/templates/sheets/actors/environment/notes.hbs' }
|
||||
};
|
||||
|
|
@ -130,12 +130,13 @@ export default class DhpEnvironment extends DHBaseActorSheet {
|
|||
/* -------------------------------------------- */
|
||||
|
||||
async _onDragStart(event) {
|
||||
const item = event.currentTarget.closest('.inventory-item');
|
||||
|
||||
const item = event.currentTarget.closest('.inventory-item[data-type=adversary]');
|
||||
if (item) {
|
||||
const adversaryData = { type: 'Actor', uuid: item.dataset.itemUuid };
|
||||
event.dataTransfer.setData('text/plain', JSON.stringify(adversaryData));
|
||||
event.dataTransfer.setDragImage(item, 60, 0);
|
||||
} else {
|
||||
return super._onDragStart(event);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -93,25 +93,6 @@ export default class Party extends DHBaseActorSheet {
|
|||
/* Prepare Context */
|
||||
/* -------------------------------------------- */
|
||||
|
||||
async _prepareContext(_options) {
|
||||
const context = await super._prepareContext(_options);
|
||||
|
||||
context.inventory = { currencies: {} };
|
||||
const { title, ...currencies } = game.settings.get(
|
||||
CONFIG.DH.id,
|
||||
CONFIG.DH.SETTINGS.gameSettings.Homebrew
|
||||
).currency;
|
||||
for (let key in currencies) {
|
||||
context.inventory.currencies[key] = {
|
||||
...currencies[key],
|
||||
field: context.systemFields.gold.fields[key],
|
||||
value: context.source.system.gold[key]
|
||||
};
|
||||
}
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
async _preparePartContext(partId, context, options) {
|
||||
context = await super._preparePartContext(partId, context, options);
|
||||
switch (partId) {
|
||||
|
|
@ -438,30 +419,9 @@ export default class Party extends DHBaseActorSheet {
|
|||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _onDragStart(event) {
|
||||
const item = await getDocFromElement(event.target);
|
||||
const dragData = {
|
||||
originActor: this.document.uuid,
|
||||
originId: item.id,
|
||||
type: item.documentName,
|
||||
uuid: item.uuid
|
||||
};
|
||||
|
||||
event.dataTransfer.setData('text/plain', JSON.stringify(dragData));
|
||||
super._onDragStart(event);
|
||||
}
|
||||
|
||||
async _onDrop(event) {
|
||||
// Prevent event bubbling to avoid duplicate handling
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
async _onDropActor(event, document) {
|
||||
const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event);
|
||||
|
||||
const { cancel } = await super._onDrop(event);
|
||||
if (cancel) return;
|
||||
|
||||
const document = await foundry.utils.fromUuid(data.uuid);
|
||||
|
||||
if (document instanceof DhpActor && Party.ALLOWED_ACTOR_TYPES.includes(document.type)) {
|
||||
const currentMembers = this.document.system.partyMembers.map(x => x.uuid);
|
||||
if (currentMembers.includes(data.uuid)) {
|
||||
|
|
@ -469,11 +429,11 @@ export default class Party extends DHBaseActorSheet {
|
|||
}
|
||||
|
||||
await this.document.update({ 'system.partyMembers': [...currentMembers, document.uuid] });
|
||||
} else if (document instanceof DHItem) {
|
||||
this.document.createEmbeddedDocuments('Item', [document.toObject()]);
|
||||
} else {
|
||||
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.onlyCharactersInPartySheet'));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
static async #deletePartyMember(event, target) {
|
||||
|
|
|
|||
|
|
@ -322,10 +322,10 @@ export default function DHApplicationMixin(Base) {
|
|||
_onDrop(event) {
|
||||
event.stopPropagation();
|
||||
const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event);
|
||||
if (data.fromInternal === this.document.uuid) return;
|
||||
|
||||
if (data.type === 'ActiveEffect') {
|
||||
if (data.type === 'ActiveEffect' && data.fromInternal !== this.document.uuid) {
|
||||
this.document.createEmbeddedDocuments('ActiveEffect', [data.data]);
|
||||
} else {
|
||||
return super._onDrop(event);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -662,6 +662,9 @@ export default function DHApplicationMixin(Base) {
|
|||
};
|
||||
if (inVault) data['system.inVault'] = true;
|
||||
if (disabled) data.disabled = true;
|
||||
if (type === "domainCard" && parent?.system.domains?.length) {
|
||||
data.system.domain = parent.system.domains[0];
|
||||
}
|
||||
|
||||
const doc = await cls.create(data, { parent, renderSheet: !event.shiftKey });
|
||||
if (parentIsItem && type === 'feature') {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { itemIsIdentical } from '../../../helpers/utils.mjs';
|
||||
import { getDocFromElement, itemIsIdentical } from '../../../helpers/utils.mjs';
|
||||
import DHBaseActorSettings from './actor-setting.mjs';
|
||||
import DHApplicationMixin from './application-mixin.mjs';
|
||||
|
||||
|
|
@ -69,6 +69,28 @@ export default class DHBaseActorSheet extends DHApplicationMixin(ActorSheetV2) {
|
|||
context.showAttribution = !game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance)
|
||||
.hideAttribution;
|
||||
|
||||
// Prepare inventory data
|
||||
if (['party', 'character'].includes(this.document.type)) {
|
||||
context.inventory = {
|
||||
currencies: {},
|
||||
weapons: this.document.itemTypes.weapon.sort((a, b) => a.sort - b.sort),
|
||||
armor: this.document.itemTypes.armor.sort((a, b) => a.sort - b.sort),
|
||||
consumables: this.document.itemTypes.consumable.sort((a, b) => a.sort - b.sort),
|
||||
loot: this.document.itemTypes.loot.sort((a, b) => a.sort - b.sort)
|
||||
};
|
||||
const { title, ...currencies } = game.settings.get(
|
||||
CONFIG.DH.id,
|
||||
CONFIG.DH.SETTINGS.gameSettings.Homebrew
|
||||
).currency;
|
||||
for (const key in currencies) {
|
||||
context.inventory.currencies[key] = {
|
||||
...currencies[key],
|
||||
field: context.systemFields.gold.fields[key],
|
||||
value: context.source.system.gold[key]
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
|
|
@ -218,45 +240,43 @@ export default class DHBaseActorSheet extends DHApplicationMixin(ActorSheetV2) {
|
|||
/* Application Drag/Drop */
|
||||
/* -------------------------------------------- */
|
||||
|
||||
async _onDrop(event) {
|
||||
async _onDropItem(event, item) {
|
||||
const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event);
|
||||
if (data.originActor === this.document.uuid) return { cancel: true };
|
||||
const physicalActorTypes = ['character', 'party'];
|
||||
const originActor = item.actor;
|
||||
if (
|
||||
item.actor?.uuid === this.document.uuid ||
|
||||
!originActor ||
|
||||
!physicalActorTypes.includes(this.document.type)
|
||||
) {
|
||||
return super._onDropItem(event, item);
|
||||
}
|
||||
|
||||
/* Handling transfer of inventoryItems */
|
||||
let cancel = false;
|
||||
const physicalActorTypes = ['character', 'party'];
|
||||
if (physicalActorTypes.includes(this.document.type)) {
|
||||
const originActor = data.originActor ? await foundry.utils.fromUuid(data.originActor) : null;
|
||||
if (data.originId && originActor && physicalActorTypes.includes(originActor.type)) {
|
||||
const dropDocument = await foundry.utils.fromUuid(data.uuid);
|
||||
|
||||
if (dropDocument.system.metadata.isInventoryItem) {
|
||||
cancel = true;
|
||||
if (dropDocument.system.metadata.isQuantifiable) {
|
||||
if (item.system.metadata.isInventoryItem) {
|
||||
if (item.system.metadata.isQuantifiable) {
|
||||
const actorItem = originActor.items.get(data.originId);
|
||||
const quantityTransfered =
|
||||
actorItem.system.quantity === 1
|
||||
? 1
|
||||
: await game.system.api.applications.dialogs.ItemTransferDialog.configure(dropDocument);
|
||||
: await game.system.api.applications.dialogs.ItemTransferDialog.configure(item);
|
||||
|
||||
if (quantityTransfered) {
|
||||
if (quantityTransfered === actorItem.system.quantity) {
|
||||
await originActor.deleteEmbeddedDocuments('Item', [data.originId]);
|
||||
} else {
|
||||
cancel = true;
|
||||
await actorItem.update({
|
||||
'system.quantity': actorItem.system.quantity - quantityTransfered
|
||||
});
|
||||
}
|
||||
|
||||
const existingItem = this.document.items.find(x => itemIsIdentical(x, dropDocument));
|
||||
const existingItem = this.document.items.find(x => itemIsIdentical(x, item));
|
||||
if (existingItem) {
|
||||
cancel = true;
|
||||
await existingItem.update({
|
||||
'system.quantity': existingItem.system.quantity + quantityTransfered
|
||||
});
|
||||
} else {
|
||||
const createData = dropDocument.toObject();
|
||||
const createData = item.toObject();
|
||||
await this.document.createEmbeddedDocuments('Item', [
|
||||
{
|
||||
...createData,
|
||||
|
|
@ -267,20 +287,13 @@ export default class DHBaseActorSheet extends DHApplicationMixin(ActorSheetV2) {
|
|||
}
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
cancel = true;
|
||||
}
|
||||
} else {
|
||||
await originActor.deleteEmbeddedDocuments('Item', [data.originId], { render: false });
|
||||
const createData = dropDocument.toObject();
|
||||
await this.document.createEmbeddedDocuments('Item', [createData]);
|
||||
await originActor.deleteEmbeddedDocuments('Item', [data.originId]);
|
||||
await this.document.createEmbeddedDocuments('Item', [item.toObject()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return { cancel };
|
||||
}
|
||||
|
||||
/**
|
||||
* On dragStart on the item.
|
||||
|
|
@ -288,7 +301,6 @@ export default class DHBaseActorSheet extends DHApplicationMixin(ActorSheetV2) {
|
|||
*/
|
||||
async _onDragStart(event) {
|
||||
const attackItem = event.currentTarget.closest('.inventory-item[data-type="attack"]');
|
||||
|
||||
if (attackItem) {
|
||||
const attackData = {
|
||||
type: 'Attack',
|
||||
|
|
@ -298,8 +310,20 @@ export default class DHBaseActorSheet extends DHApplicationMixin(ActorSheetV2) {
|
|||
};
|
||||
event.dataTransfer.setData('text/plain', JSON.stringify(attackData));
|
||||
event.dataTransfer.setDragImage(attackItem.querySelector('img'), 60, 0);
|
||||
} else if (this.document.type !== 'environment') {
|
||||
return;
|
||||
}
|
||||
|
||||
const item = await getDocFromElement(event.target);
|
||||
if (item) {
|
||||
const dragData = {
|
||||
originActor: this.document.uuid,
|
||||
originId: item.id,
|
||||
type: item.documentName,
|
||||
uuid: item.uuid
|
||||
};
|
||||
event.dataTransfer.setData('text/plain', JSON.stringify(dragData));
|
||||
}
|
||||
|
||||
super._onDragStart(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
export { default as DaggerheartMenu } from './tabs/daggerheartMenu.mjs';
|
||||
export { default as DhActorDirectory } from './tabs/actorDirectory.mjs';
|
||||
export { default as DhSidebar } from './sidebar.mjs';
|
||||
|
|
|
|||
20
module/applications/sidebar/tabs/actorDirectory.mjs
Normal file
20
module/applications/sidebar/tabs/actorDirectory.mjs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
export default class DhActorDirectory extends foundry.applications.sidebar.tabs.ActorDirectory {
|
||||
static DEFAULT_OPTIONS = {
|
||||
renderUpdateKeys: ['system.levelData.level.current', 'system.partner', 'system.tier']
|
||||
};
|
||||
|
||||
static _entryPartial = 'systems/daggerheart/templates/ui/sidebar/actor-document-partial.hbs';
|
||||
|
||||
async _prepareDirectoryContext(context, options) {
|
||||
await super._prepareDirectoryContext(context, options);
|
||||
const adversaryTypes = CONFIG.DH.ACTOR.allAdversaryTypes();
|
||||
const environmentTypes = CONFIG.DH.ACTOR.environmentTypes;
|
||||
context.getTypeLabel = document => {
|
||||
return document.type === 'adversary'
|
||||
? game.i18n.localize(adversaryTypes[document.system.type]?.label ?? 'TYPES.Actor.adversary')
|
||||
: document.type === 'environment'
|
||||
? game.i18n.localize(environmentTypes[document.system.type]?.label ?? 'TYPES.Actor.environment')
|
||||
: null;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +1,5 @@
|
|||
import { refreshIsAllowed } from '../../../helpers/utils.mjs';
|
||||
|
||||
const { HandlebarsApplicationMixin } = foundry.applications.api;
|
||||
const { AbstractSidebarTab } = foundry.applications.sidebar;
|
||||
/**
|
||||
|
|
@ -58,7 +60,7 @@ export default class DaggerheartMenu extends HandlebarsApplicationMixin(Abstract
|
|||
if (['character', 'adversary'].includes(actor.type) && actor.prototypeToken.actorLink) {
|
||||
const updates = {};
|
||||
for (let item of actor.items) {
|
||||
if (item.system.metadata?.hasResource && types.includes(item.system.resource?.recovery)) {
|
||||
if (item.system.metadata?.hasResource && refreshIsAllowed(types, item.system.resource?.recovery)) {
|
||||
if (!refreshedActors[actor.id])
|
||||
refreshedActors[actor.id] = { name: actor.name, img: actor.img, refreshed: new Set() };
|
||||
refreshedActors[actor.id].refreshed.add(
|
||||
|
|
@ -79,7 +81,7 @@ export default class DaggerheartMenu extends HandlebarsApplicationMixin(Abstract
|
|||
if (item.system.metadata?.hasActions) {
|
||||
const refreshTypes = new Set();
|
||||
const actions = item.system.actions.filter(action => {
|
||||
if (types.includes(action.uses.recovery)) {
|
||||
if (refreshIsAllowed(types, action.uses.recovery)) {
|
||||
refreshTypes.add(action.uses.recovery);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ export { default as CountdownEdit } from './countdownEdit.mjs';
|
|||
export { default as DhCountdowns } from './countdowns.mjs';
|
||||
export { default as DhChatLog } from './chatLog.mjs';
|
||||
export { default as DhCombatTracker } from './combatTracker.mjs';
|
||||
export { default as DhEffectsDisplay } from './effectsDisplay.mjs';
|
||||
export { default as DhFearTracker } from './fearTracker.mjs';
|
||||
export { default as DhHotbar } from './hotbar.mjs';
|
||||
export { ItemBrowser } from './itemBrowser.mjs';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import { AdversaryBPPerEncounter } from '../../config/encounterConfig.mjs';
|
||||
|
||||
export default class DhCombatTracker extends foundry.applications.sidebar.tabs.CombatTracker {
|
||||
static DEFAULT_OPTIONS = {
|
||||
actions: {
|
||||
|
|
@ -20,11 +22,33 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C
|
|||
}
|
||||
};
|
||||
|
||||
/** @inheritDoc */
|
||||
async _preparePartContext(_partId, context, _options) {
|
||||
return context;
|
||||
}
|
||||
|
||||
async _prepareContext(options) {
|
||||
const context = await super._prepareContext(options);
|
||||
|
||||
await this._prepareTrackerContext(context, options);
|
||||
await this._prepareCombatContext(context, options);
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
async _prepareCombatContext(context, options) {
|
||||
await super._prepareCombatContext(context, options);
|
||||
|
||||
const modifierBP =
|
||||
this.combats
|
||||
.find(x => x.active)
|
||||
?.system?.extendedBattleToggles?.reduce((acc, toggle) => acc + toggle.category, 0) ?? 0;
|
||||
const maxBP = CONFIG.DH.ENCOUNTER.BaseBPPerEncounter(context.characters.length) + modifierBP;
|
||||
const currentBP = AdversaryBPPerEncounter(context.adversaries, context.characters);
|
||||
|
||||
Object.assign(context, {
|
||||
fear: game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Resources.Fear)
|
||||
fear: game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Resources.Fear),
|
||||
battlepoints: { max: maxBP, current: currentBP, hasModifierBP: Boolean(modifierBP) }
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -99,6 +123,7 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C
|
|||
resource,
|
||||
active: index === combat.turn,
|
||||
canPing: combatant.sceneId === canvas.scene?.id && game.user.hasPermission('PING_CANVAS'),
|
||||
type: combatant.actor.system.type,
|
||||
img: await this._getCombatantThumbnail(combatant)
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
|
|||
constructor(options = {}) {
|
||||
super(options);
|
||||
|
||||
this.sidebarCollapsed = true;
|
||||
this.setupHooks();
|
||||
}
|
||||
|
||||
|
|
@ -98,11 +97,10 @@ export default class DhCountdowns extends HandlebarsApplicationMixin(Application
|
|||
async _prepareContext(options) {
|
||||
const context = await super._prepareContext(options);
|
||||
context.isGM = game.user.isGM;
|
||||
context.sidebarCollapsed = this.sidebarCollapsed;
|
||||
|
||||
context.iconOnly =
|
||||
game.user.getFlag(CONFIG.DH.id, CONFIG.DH.FLAGS.userFlags.countdownMode) ===
|
||||
CONFIG.DH.GENERAL.countdownAppMode.iconOnly;
|
||||
|
||||
const setting = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Countdowns);
|
||||
context.countdowns = this.#getCountdowns().reduce((acc, { key, countdown, ownership }) => {
|
||||
const playersWithAccess = game.users.reduce((acc, user) => {
|
||||
|
|
|
|||
117
module/applications/ui/effectsDisplay.mjs
Normal file
117
module/applications/ui/effectsDisplay.mjs
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
import { RefreshType } from '../../systemRegistration/socket.mjs';
|
||||
|
||||
const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api;
|
||||
|
||||
/**
|
||||
* A UI element which displays the Active Effects on a selected token.
|
||||
*
|
||||
* @extends ApplicationV2
|
||||
* @mixes HandlebarsApplication
|
||||
*/
|
||||
|
||||
export default class DhEffectsDisplay extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||
constructor(options = {}) {
|
||||
super(options);
|
||||
|
||||
this.setupHooks();
|
||||
}
|
||||
|
||||
/** @inheritDoc */
|
||||
static DEFAULT_OPTIONS = {
|
||||
id: 'effects-display',
|
||||
tag: 'div',
|
||||
classes: ['daggerheart', 'dh-style', 'effects-display'],
|
||||
window: {
|
||||
frame: false,
|
||||
positioned: false,
|
||||
resizable: false,
|
||||
minimizable: false
|
||||
},
|
||||
actions: {}
|
||||
};
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
resources: {
|
||||
root: true,
|
||||
template: 'systems/daggerheart/templates/ui/effects-display.hbs'
|
||||
}
|
||||
};
|
||||
|
||||
get element() {
|
||||
return document.body.querySelector('.daggerheart.dh-style.effects-display');
|
||||
}
|
||||
|
||||
get hidden() {
|
||||
return this.element.classList.contains('hidden');
|
||||
}
|
||||
|
||||
_attachPartListeners(partId, htmlElement, options) {
|
||||
super._attachPartListeners(partId, htmlElement, options);
|
||||
|
||||
if (this.element) {
|
||||
this.element.querySelectorAll('.effect-container a').forEach(element => {
|
||||
element.addEventListener('contextmenu', this.removeEffect.bind(this));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext(options) {
|
||||
const context = await super._prepareContext(options);
|
||||
context.effects = DhEffectsDisplay.getTokenEffects();
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
static getTokenEffects = token => {
|
||||
const actor = token
|
||||
? token.actor
|
||||
: canvas.tokens.controlled.length === 0
|
||||
? !game.user.isGM
|
||||
? game.user.character
|
||||
: null
|
||||
: canvas.tokens.controlled[0].actor;
|
||||
return actor?.getActiveEffects() ?? [];
|
||||
};
|
||||
|
||||
toggleHidden(token, focused) {
|
||||
const effects = DhEffectsDisplay.getTokenEffects(focused ? token : null);
|
||||
this.element.hidden = effects.length === 0;
|
||||
|
||||
Hooks.callAll(CONFIG.DH.HOOKS.effectDisplayToggle, this.element.hidden, token);
|
||||
|
||||
this.render();
|
||||
}
|
||||
|
||||
async removeEffect(event) {
|
||||
const element = event.target.closest('.effect-container');
|
||||
const effects = DhEffectsDisplay.getTokenEffects();
|
||||
const effect = effects.find(x => x.id === element.id);
|
||||
await effect.delete();
|
||||
this.render();
|
||||
}
|
||||
|
||||
setupHooks() {
|
||||
Hooks.on('controlToken', this.toggleHidden.bind(this));
|
||||
Hooks.on(RefreshType.EffectsDisplay, this.toggleHidden.bind(this));
|
||||
}
|
||||
|
||||
async close(options) {
|
||||
/* Opt out of Foundry's standard behavior of closing all application windows marked as UI when Escape is pressed */
|
||||
if (options.closeKey) return;
|
||||
|
||||
Hooks.off('controlToken', this.toggleHidden);
|
||||
Hooks.off(RefreshType.EffectsDisplay, this.toggleHidden);
|
||||
return super.close(options);
|
||||
}
|
||||
|
||||
async _onRender(context, options) {
|
||||
await super._onRender(context, options);
|
||||
|
||||
this.element.hidden = context.effects.length === 0;
|
||||
if (options?.force) {
|
||||
document.getElementById('ui-right-column-1')?.appendChild(this.element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -10,29 +10,7 @@ export default class DhTokenPlaceable extends foundry.canvas.placeables.Token {
|
|||
this.effects.overlay = null;
|
||||
|
||||
// Categorize effects
|
||||
const statusMap = new Map(foundry.CONFIG.statusEffects.map(status => [status.id, status]));
|
||||
const activeEffects = (this.actor ? this.actor.effects.filter(x => !x.disabled) : []).reduce((acc, effect) => {
|
||||
acc.push(effect);
|
||||
|
||||
const currentStatusActiveEffects = acc.filter(
|
||||
x => x.statuses.size === 1 && x.name === game.i18n.localize(statusMap.get(x.statuses.first())?.name)
|
||||
);
|
||||
for (var status of effect.statuses) {
|
||||
if (!currentStatusActiveEffects.find(x => x.statuses.has(status))) {
|
||||
const statusData = statusMap.get(status);
|
||||
if (statusData) {
|
||||
acc.push({
|
||||
name: game.i18n.localize(statusData.name),
|
||||
statuses: [status],
|
||||
img: statusData.icon ?? statusData.img,
|
||||
tint: effect.tint
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, []);
|
||||
const activeEffects = this.actor?.getActiveEffects() ?? [];
|
||||
const overlayEffect = activeEffects.findLast(e => e.img && e.getFlag?.('core', 'overlay'));
|
||||
|
||||
// Draw effects
|
||||
|
|
|
|||
|
|
@ -2,8 +2,10 @@ export * as actionConfig from './actionConfig.mjs';
|
|||
export * as actorConfig from './actorConfig.mjs';
|
||||
export * as domainConfig from './domainConfig.mjs';
|
||||
export * as effectConfig from './effectConfig.mjs';
|
||||
export * as encounterConfig from './encounterConfig.mjs';
|
||||
export * as flagsConfig from './flagsConfig.mjs';
|
||||
export * as generalConfig from './generalConfig.mjs';
|
||||
export * as hooksConfig from './hooksConfig.mjs';
|
||||
export * as itemConfig from './itemConfig.mjs';
|
||||
export * as settingsConfig from './settingsConfig.mjs';
|
||||
export * as systemConfig from './system.mjs';
|
||||
|
|
|
|||
|
|
@ -108,52 +108,64 @@ export const adversaryTypes = {
|
|||
bruiser: {
|
||||
id: 'bruiser',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.bruiser.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.bruiser.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.bruiser.description',
|
||||
bpCost: 4
|
||||
},
|
||||
horde: {
|
||||
id: 'horde',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.horde.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.horde.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.horde.description',
|
||||
bpCost: 2
|
||||
},
|
||||
leader: {
|
||||
id: 'leader',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.leader.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.leader.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.leader.description',
|
||||
bpCost: 3,
|
||||
bpDescription: 'DAGGERHEART.CONFIG.AdversaryType.leader.'
|
||||
},
|
||||
minion: {
|
||||
id: 'minion',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.minion.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.minion.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.minion.description',
|
||||
bpCost: 1,
|
||||
partyAmountPerBP: true
|
||||
},
|
||||
ranged: {
|
||||
id: 'ranged',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.ranged.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.ranged.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.ranged.description',
|
||||
bpCost: 2
|
||||
},
|
||||
skulk: {
|
||||
id: 'skulk',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.skulk.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.skulk.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.skulk.description',
|
||||
bpCost: 2
|
||||
},
|
||||
social: {
|
||||
id: 'social',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.social.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.social.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.social.description',
|
||||
bpCost: 1
|
||||
},
|
||||
solo: {
|
||||
id: 'solo',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.solo.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.solo.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.solo.description',
|
||||
bpCost: 5
|
||||
},
|
||||
standard: {
|
||||
id: 'standard',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.standard.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.standard.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.standard.description',
|
||||
bpCost: 2
|
||||
},
|
||||
support: {
|
||||
id: 'support',
|
||||
label: 'DAGGERHEART.CONFIG.AdversaryType.support.label',
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.support.description'
|
||||
description: 'DAGGERHEART.ACTORS.Adversary.support.description',
|
||||
bpCost: 1
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
145
module/config/encounterConfig.mjs
Normal file
145
module/config/encounterConfig.mjs
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
export const BaseBPPerEncounter = nrCharacters => 3 * nrCharacters + 2;
|
||||
|
||||
export const AdversaryBPPerEncounter = (adversaries, characters) => {
|
||||
const adversaryTypes = CONFIG.DH.ACTOR.allAdversaryTypes();
|
||||
return adversaries
|
||||
.reduce((acc, adversary) => {
|
||||
const existingEntry = acc.find(
|
||||
x => x.adversary.name === adversary.name && x.adversary.type === adversary.type
|
||||
);
|
||||
if (existingEntry) {
|
||||
existingEntry.nr += 1;
|
||||
} else {
|
||||
acc.push({ adversary, nr: 1 });
|
||||
}
|
||||
return acc;
|
||||
}, [])
|
||||
.reduce((acc, entry) => {
|
||||
const adversary = entry.adversary;
|
||||
const type = adversaryTypes[adversary.type];
|
||||
const bpCost = type.bpCost ?? 0;
|
||||
if (type.partyAmountPerBP) {
|
||||
acc += characters.length === 0 ? 0 : Math.ceil(entry.nr / characters.length);
|
||||
} else {
|
||||
acc += bpCost;
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, 0);
|
||||
};
|
||||
|
||||
export const adversaryTypeCostBrackets = {
|
||||
1: [
|
||||
{
|
||||
sort: 1,
|
||||
types: ['minion'],
|
||||
description: 'DAGGERHEART.CONFIG.AdversaryTypeCost.minion'
|
||||
},
|
||||
{
|
||||
sort: 2,
|
||||
types: ['social', 'support'],
|
||||
description: 'DAGGERHEART.CONFIG.AdversaryTypeCost.support'
|
||||
}
|
||||
],
|
||||
2: [
|
||||
{
|
||||
sort: 1,
|
||||
types: ['horde', 'ranged', 'skulk', 'standard'],
|
||||
description: 'DAGGERHEART.CONFIG.AdversaryTypeCost.standard'
|
||||
}
|
||||
],
|
||||
3: [
|
||||
{
|
||||
sort: 1,
|
||||
types: ['leader'],
|
||||
description: 'DAGGERHEART.CONFIG.AdversaryTypeCost.leader'
|
||||
}
|
||||
],
|
||||
4: [
|
||||
{
|
||||
sort: 1,
|
||||
types: ['bruiser'],
|
||||
description: 'DAGGERHEART.CONFIG.AdversaryTypeCost.bruiser'
|
||||
}
|
||||
],
|
||||
5: [
|
||||
{
|
||||
sort: 1,
|
||||
types: ['solo'],
|
||||
description: 'DAGGERHEART.CONFIG.AdversaryTypeCost.solo'
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export const BPModifiers = {
|
||||
[-2]: {
|
||||
manySolos: {
|
||||
sort: 1,
|
||||
description: 'DAGGERHEART.CONFIG.BPModifiers.manySolos.description',
|
||||
automatic: true,
|
||||
conditional: (_combat, adversaries) => {
|
||||
return adversaries.filter(x => x.system.type === 'solo').length > 1;
|
||||
}
|
||||
},
|
||||
increaseDamage: {
|
||||
sort: 2,
|
||||
description: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.description',
|
||||
effects: [
|
||||
{
|
||||
name: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.name',
|
||||
description: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.description',
|
||||
img: 'icons/magic/control/buff-flight-wings-red.webp',
|
||||
changes: [
|
||||
{
|
||||
key: 'system.bonuses.damage.physical.dice',
|
||||
mode: 2,
|
||||
value: '1d4'
|
||||
},
|
||||
{
|
||||
key: 'system.bonuses.damage.magical.dice',
|
||||
mode: 2,
|
||||
value: '1d4'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
[-1]: {
|
||||
lessDifficult: {
|
||||
sort: 2,
|
||||
description: 'DAGGERHEART.CONFIG.BPModifiers.lessDifficult.description'
|
||||
}
|
||||
},
|
||||
1: {
|
||||
lowerTier: {
|
||||
sort: 1,
|
||||
description: 'DAGGERHEART.CONFIG.BPModifiers.lowerTier.description',
|
||||
automatic: true,
|
||||
conditional: (_combat, adversaries, characters) => {
|
||||
const characterMaxTier = characters.reduce((maxTier, character) => {
|
||||
return character.system.tier > maxTier ? character.system.tier : maxTier;
|
||||
}, 1);
|
||||
return adversaries.some(adversary => adversary.system.tier < characterMaxTier);
|
||||
}
|
||||
},
|
||||
noToughies: {
|
||||
sort: 2,
|
||||
description: 'DAGGERHEART.CONFIG.BPModifiers.noToughies.description',
|
||||
automatic: true,
|
||||
conditional: (_combat, adversaries) => {
|
||||
const toughyTypes = ['bruiser', 'horde', 'leader', 'solo'];
|
||||
return (
|
||||
adversaries.length > 0 &&
|
||||
!adversaries.some(adversary => toughyTypes.includes(adversary.system.type))
|
||||
);
|
||||
}
|
||||
}
|
||||
},
|
||||
2: {
|
||||
moreDangerous: {
|
||||
sort: 2,
|
||||
description: 'DAGGERHEART.CONFIG.BPModifiers.moreDangerous.description'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -26,3 +26,5 @@ export const userFlags = {
|
|||
welcomeMessage: 'welcome-message',
|
||||
countdownMode: 'countdown-mode'
|
||||
};
|
||||
|
||||
export const combatToggle = 'combat-toggle-origin';
|
||||
|
|
|
|||
5
module/config/hooksConfig.mjs
Normal file
5
module/config/hooksConfig.mjs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
const hooksConfig = {
|
||||
effectDisplayToggle: 'DHEffectDisplayToggle'
|
||||
};
|
||||
|
||||
export default hooksConfig;
|
||||
|
|
@ -459,7 +459,16 @@ export const allArmorFeatures = () => {
|
|||
...armorFeatures,
|
||||
...Object.keys(homebrewFeatures).reduce((acc, key) => {
|
||||
const feature = homebrewFeatures[key];
|
||||
acc[key] = { ...feature, label: feature.name };
|
||||
const actions = feature.actions.map(action => ({
|
||||
...action,
|
||||
effects: action.effects.map(effect => feature.effects.find(x => x.id === effect._id)),
|
||||
type: action.type
|
||||
}));
|
||||
const actionEffects = actions.flatMap(a => a.effects);
|
||||
|
||||
const effects = feature.effects.filter(effect => !actionEffects.some(x => x.id === effect.id));
|
||||
|
||||
acc[key] = { ...feature, label: feature.name, effects, actions };
|
||||
return acc;
|
||||
}, {})
|
||||
};
|
||||
|
|
@ -1414,11 +1423,21 @@ export const weaponFeatures = {
|
|||
export const allWeaponFeatures = () => {
|
||||
const homebrewFeatures = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).itemFeatures
|
||||
.weaponFeatures;
|
||||
|
||||
return {
|
||||
...weaponFeatures,
|
||||
...Object.keys(homebrewFeatures).reduce((acc, key) => {
|
||||
const feature = homebrewFeatures[key];
|
||||
acc[key] = { ...feature, label: feature.name };
|
||||
|
||||
const actions = feature.actions.map(action => ({
|
||||
...action,
|
||||
effects: action.effects.map(effect => feature.effects.find(x => x.id === effect._id)),
|
||||
type: action.type
|
||||
}));
|
||||
const actionEffects = actions.flatMap(a => a.effects);
|
||||
const effects = feature.effects.filter(effect => !actionEffects.some(x => x.id === effect.id));
|
||||
|
||||
acc[key] = { ...feature, label: feature.name, effects, actions };
|
||||
return acc;
|
||||
}, {})
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,17 +1,20 @@
|
|||
import * as GENERAL from './generalConfig.mjs';
|
||||
import * as DOMAIN from './domainConfig.mjs';
|
||||
import * as ENCOUNTER from './encounterConfig.mjs';
|
||||
import * as ACTOR from './actorConfig.mjs';
|
||||
import * as ITEM from './itemConfig.mjs';
|
||||
import * as SETTINGS from './settingsConfig.mjs';
|
||||
import * as EFFECTS from './effectConfig.mjs';
|
||||
import * as ACTIONS from './actionConfig.mjs';
|
||||
import * as FLAGS from './flagsConfig.mjs';
|
||||
import * as ITEMBROWSER from './itemBrowserConfig.mjs'
|
||||
import HOOKS from './hooksConfig.mjs';
|
||||
import * as ITEMBROWSER from './itemBrowserConfig.mjs';
|
||||
|
||||
export const SYSTEM_ID = 'daggerheart';
|
||||
|
||||
export const SYSTEM = {
|
||||
id: SYSTEM_ID,
|
||||
ENCOUNTER,
|
||||
GENERAL,
|
||||
DOMAIN,
|
||||
ACTOR,
|
||||
|
|
@ -20,5 +23,6 @@ export const SYSTEM = {
|
|||
EFFECTS,
|
||||
ACTIONS,
|
||||
FLAGS,
|
||||
HOOKS,
|
||||
ITEMBROWSER
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,4 +2,17 @@ import DHBaseAction from './baseAction.mjs';
|
|||
|
||||
export default class DHDamageAction extends DHBaseAction {
|
||||
static extraSchemas = [...super.extraSchemas, 'damage', 'target', 'effects'];
|
||||
|
||||
/**
|
||||
* Return a display ready damage formula string
|
||||
* @returns Formula string
|
||||
*/
|
||||
getDamageFormula() {
|
||||
const strings = [];
|
||||
for (const { value } of this.damage.parts) {
|
||||
strings.push(Roll.replaceFormulaData(value.getFormula(), this.actor?.getRollData() ?? {}));
|
||||
}
|
||||
|
||||
return strings.join(' + ');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ export default class BeastformEffect extends BaseEffect {
|
|||
base64: false
|
||||
}),
|
||||
tokenSize: new fields.SchemaField({
|
||||
height: new fields.NumberField({ integer: true, nullable: true }),
|
||||
width: new fields.NumberField({ integer: true, nullable: true })
|
||||
height: new fields.NumberField({ integer: false, nullable: true }),
|
||||
width: new fields.NumberField({ integer: false, nullable: true })
|
||||
})
|
||||
}),
|
||||
advantageOn: new fields.ArrayField(new fields.StringField()),
|
||||
|
|
@ -29,6 +29,14 @@ export default class BeastformEffect extends BaseEffect {
|
|||
};
|
||||
}
|
||||
|
||||
/** @inheritDoc */
|
||||
static migrateData(source) {
|
||||
if (!source.characterTokenData.tokenSize.height) source.characterTokenData.tokenSize.height = 1;
|
||||
if (!source.characterTokenData.tokenSize.width) source.characterTokenData.tokenSize.width = 1;
|
||||
|
||||
return super.migrateData(source);
|
||||
}
|
||||
|
||||
async _onCreate(_data, _options, userId) {
|
||||
if (userId !== game.user.id) return;
|
||||
|
||||
|
|
|
|||
|
|
@ -141,6 +141,10 @@ export default class DhpAdversary extends BaseDataActor {
|
|||
return this.parent.items.filter(x => x.type === 'feature');
|
||||
}
|
||||
|
||||
isItemValid(source) {
|
||||
return source.type === "feature";
|
||||
}
|
||||
|
||||
async _preUpdate(changes, options, user) {
|
||||
const allowed = await super._preUpdate(changes, options, user);
|
||||
if (allowed === false) return false;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import BaseDataActor from './base.mjs';
|
||||
import DhLevelData from '../levelData.mjs';
|
||||
import ForeignDocumentUUIDField from '../fields/foreignDocumentUUIDField.mjs';
|
||||
import { ActionField, ActionsField } from '../fields/actionField.mjs';
|
||||
import { ActionField } from '../fields/actionField.mjs';
|
||||
import { adjustDice, adjustRange } from '../../helpers/utils.mjs';
|
||||
import DHCompanionSettings from '../../applications/sheets-configs/companion-settings.mjs';
|
||||
import { resourceField, bonusField } from '../fields/actorField.mjs';
|
||||
|
|
@ -109,6 +109,10 @@ export default class DhCompanion extends BaseDataActor {
|
|||
return this.partner?.system?.proficiency ?? 1;
|
||||
}
|
||||
|
||||
isItemValid() {
|
||||
return false;
|
||||
}
|
||||
|
||||
prepareBaseData() {
|
||||
this.attack.roll.bonus = this.partner?.system?.spellcastModifier ?? 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -51,4 +51,8 @@ export default class DhEnvironment extends BaseDataActor {
|
|||
get features() {
|
||||
return this.parent.items.filter(x => x.type === 'feature');
|
||||
}
|
||||
|
||||
isItemValid(source) {
|
||||
return source.type === "feature";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export default class DhParty extends BaseDataActor {
|
|||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
isItemValid(source) {
|
||||
return ["weapon", "armor", "consumable", "loot"].includes(source.type);
|
||||
}
|
||||
|
||||
prepareBaseData() {
|
||||
super.prepareBaseData();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,39 @@
|
|||
export default class DhCombat extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {};
|
||||
return {
|
||||
battleToggles: new fields.ArrayField(
|
||||
new fields.SchemaField({
|
||||
category: new fields.NumberField({ required: true, integer: true }),
|
||||
grouping: new fields.StringField({ required: true })
|
||||
})
|
||||
)
|
||||
};
|
||||
}
|
||||
|
||||
/** Includes automatic BPModifiers */
|
||||
get extendedBattleToggles() {
|
||||
const modifiers = CONFIG.DH.ENCOUNTER.BPModifiers;
|
||||
const adversaries =
|
||||
this.parent.turns?.filter(x => x.isNPC)?.map(x => ({ ...x.actor, type: x.actor.system.type })) ?? [];
|
||||
const characters = this.parent.turns?.filter(x => !x.isNPC) ?? [];
|
||||
|
||||
const activeAutomatic = Object.keys(modifiers).reduce((acc, categoryKey) => {
|
||||
const category = modifiers[categoryKey];
|
||||
acc.push(
|
||||
...Object.keys(category).reduce((acc, groupingKey) => {
|
||||
const grouping = category[groupingKey];
|
||||
if (grouping.automatic && grouping.conditional?.(this.parent, adversaries, characters)) {
|
||||
acc.push({ category: Number(categoryKey), grouping: groupingKey });
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, [])
|
||||
);
|
||||
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
return [...this.battleToggles, ...activeAutomatic];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ export default class SaveField extends fields.SchemaField {
|
|||
if (SaveField.getAutomation() !== CONFIG.DH.SETTINGS.actionAutomationChoices.never.id || force) {
|
||||
targets ??= config.targets.filter(t => !config.hasRoll || t.hit);
|
||||
await SaveField.rollAllSave.call(this, targets, config.event, message);
|
||||
} else return false;
|
||||
} else return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -66,6 +66,10 @@ export default class DHDomainCard extends BaseDataItem {
|
|||
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.duplicateDomainCard'));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!this.actor.system.loadoutSlot.available) {
|
||||
data.system.inVault = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
export { default as DhpActor } from './actor.mjs';
|
||||
export { default as DHItem } from './item.mjs';
|
||||
export { default as DhpCombat } from './combat.mjs';
|
||||
export { default as DHCombatant } from './combatant.mjs';
|
||||
export { default as DhActiveEffect } from './activeEffect.mjs';
|
||||
export { default as DhChatMessage } from './chatMessage.mjs';
|
||||
export { default as DhToken } from './token.mjs';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { itemAbleRollParse } from '../helpers/utils.mjs';
|
||||
import { RefreshType, socketEvent } from '../systemRegistration/socket.mjs';
|
||||
|
||||
export default class DhActiveEffect extends foundry.documents.ActiveEffect {
|
||||
/* -------------------------------------------- */
|
||||
|
|
@ -85,6 +86,20 @@ export default class DhActiveEffect extends foundry.documents.ActiveEffect {
|
|||
await super._preCreate(data, options, user);
|
||||
}
|
||||
|
||||
/** @inheritdoc */
|
||||
_onCreate(data, options, userId) {
|
||||
super._onCreate(data, options, userId);
|
||||
|
||||
Hooks.callAll(RefreshType.EffectsDisplay);
|
||||
}
|
||||
|
||||
/** @inheritdoc */
|
||||
_onDelete(data, options, userId) {
|
||||
super._onDelete(data, options, userId);
|
||||
|
||||
Hooks.callAll(RefreshType.EffectsDisplay);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Methods */
|
||||
/* -------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -844,4 +844,65 @@ export default class DhpActor extends Actor {
|
|||
if (this.system._getTags) tags.push(...this.system._getTags());
|
||||
return tags;
|
||||
}
|
||||
|
||||
/** Get active effects */
|
||||
getActiveEffects() {
|
||||
const statusMap = new Map(foundry.CONFIG.statusEffects.map(status => [status.id, status]));
|
||||
return this.effects
|
||||
.filter(x => !x.disabled)
|
||||
.reduce((acc, effect) => {
|
||||
acc.push(effect);
|
||||
|
||||
const currentStatusActiveEffects = acc.filter(
|
||||
x => x.statuses.size === 1 && x.name === game.i18n.localize(statusMap.get(x.statuses.first()).name)
|
||||
);
|
||||
|
||||
for (var status of effect.statuses) {
|
||||
if (!currentStatusActiveEffects.find(x => x.statuses.has(status))) {
|
||||
const statusData = statusMap.get(status);
|
||||
if (statusData) {
|
||||
acc.push({
|
||||
condition: status,
|
||||
appliedBy: game.i18n.localize(effect.name),
|
||||
name: game.i18n.localize(statusData.name),
|
||||
statuses: new Set([status]),
|
||||
img: statusData.icon ?? statusData.img,
|
||||
description: game.i18n.localize(statusData.description),
|
||||
tint: effect.tint
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, []);
|
||||
}
|
||||
|
||||
/* Temporarily copying the foundry method to add a fix to a bug with scenes
|
||||
https://discord.com/channels/170995199584108546/1296292044011995136/1446693077443149856
|
||||
*/
|
||||
getDependentTokens({ scenes, linked = false } = {}) {
|
||||
if (this.isToken && !scenes) return [this.token];
|
||||
if (scenes) scenes = Array.isArray(scenes) ? scenes : [scenes];
|
||||
else scenes = Array.from(this._dependentTokens.keys());
|
||||
|
||||
/* Code to filter out nonexistant scenes */
|
||||
scenes = scenes.filter(scene => game.scenes.some(x => x.id === scene.id));
|
||||
|
||||
if (this.isToken) {
|
||||
const parent = this.token.parent;
|
||||
return scenes.includes(parent) ? [this.token] : [];
|
||||
}
|
||||
|
||||
const allTokens = [];
|
||||
for (const scene of scenes) {
|
||||
if (!scene) continue;
|
||||
const tokens = this._dependentTokens.get(scene);
|
||||
for (const token of tokens ?? []) {
|
||||
if (!linked || token.actorLink) allTokens.push(token);
|
||||
}
|
||||
}
|
||||
|
||||
return allTokens;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,4 +16,57 @@ export default class DhpCombat extends Combat {
|
|||
|
||||
return a.name.localeCompare(b.name);
|
||||
}
|
||||
|
||||
async toggleModifierEffects(add, actors, category, groupingKey) {
|
||||
const effectData = category && groupingKey ? [{ category, grouping: groupingKey }] : this.system.battleToggles;
|
||||
if (add) {
|
||||
const effects = effectData.reduce((acc, toggle) => {
|
||||
const grouping = CONFIG.DH.ENCOUNTER.BPModifiers[toggle.category]?.[toggle.grouping];
|
||||
if (!grouping?.effects?.length) return acc;
|
||||
acc.push(
|
||||
...grouping.effects.map(effect => ({
|
||||
...effect,
|
||||
name: game.i18n.localize(effect.name),
|
||||
description: game.i18n.localize(effect.description),
|
||||
flags: {
|
||||
[`${CONFIG.DH.id}.${CONFIG.DH.FLAGS.combatToggle}`]: {
|
||||
category: toggle.category,
|
||||
grouping: toggle.grouping
|
||||
}
|
||||
}
|
||||
}))
|
||||
);
|
||||
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
if (!effects.length) return;
|
||||
|
||||
for (let actor of actors) {
|
||||
await actor.createEmbeddedDocuments(
|
||||
'ActiveEffect',
|
||||
effects.map(effect => ({
|
||||
...effect,
|
||||
name: game.i18n.localize(effect.name),
|
||||
description: game.i18n.localize(effect.description)
|
||||
}))
|
||||
);
|
||||
}
|
||||
} else {
|
||||
for (let actor of actors) {
|
||||
await actor.deleteEmbeddedDocuments(
|
||||
'ActiveEffect',
|
||||
actor.effects
|
||||
.filter(x => {
|
||||
const flag = x.getFlag(CONFIG.DH.id, CONFIG.DH.FLAGS.combatToggle);
|
||||
if (!flag) return false;
|
||||
return effectData.some(
|
||||
data => flag.category == data.category && flag.grouping === data.grouping
|
||||
);
|
||||
})
|
||||
.map(x => x.id)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
6
module/documents/combatant.mjs
Normal file
6
module/documents/combatant.mjs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
export default class DhCombatant extends Combatant {
|
||||
/**@inheritdoc */
|
||||
get isNPC() {
|
||||
return this.actor?.isNPC ?? (!this.actor || !this.hasPlayerOwner);
|
||||
}
|
||||
}
|
||||
|
|
@ -28,6 +28,13 @@ export default class DHItem extends foundry.documents.Item {
|
|||
return doc;
|
||||
}
|
||||
|
||||
static async createDocuments(sources, operation) {
|
||||
// Ensure that items being created are valid to the actor its being added to
|
||||
const actor = operation.parent;
|
||||
sources = actor?.system?.isItemValid ? sources.filter((s) => actor.system.isItemValid(s)) : sources;
|
||||
return super.createDocuments(sources, operation);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @inheritDoc */
|
||||
|
|
|
|||
|
|
@ -76,4 +76,28 @@ export default class DHToken extends TokenDocument {
|
|||
_shouldRecordMovementHistory() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**@inheritdoc */
|
||||
static async createCombatants(tokens, combat) {
|
||||
combat ??= game.combats.viewed;
|
||||
if (combat?.system?.battleToggles?.length) {
|
||||
await combat.toggleModifierEffects(
|
||||
true,
|
||||
tokens.map(x => x.actor)
|
||||
);
|
||||
}
|
||||
super.createCombatants(tokens, combat ?? {});
|
||||
}
|
||||
|
||||
/**@inheritdoc */
|
||||
static async deleteCombatants(tokens, { combat } = {}) {
|
||||
combat ??= game.combats.viewed;
|
||||
if (combat?.system?.battleToggles?.length) {
|
||||
await combat.toggleModifierEffects(
|
||||
false,
|
||||
tokens.map(x => x.actor)
|
||||
);
|
||||
}
|
||||
super.deleteCombatants(tokens, combat ?? {});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,64 @@
|
|||
import { AdversaryBPPerEncounter, BaseBPPerEncounter } from '../config/encounterConfig.mjs';
|
||||
|
||||
export default class DhTooltipManager extends foundry.helpers.interaction.TooltipManager {
|
||||
#wide = false;
|
||||
#bordered = false;
|
||||
|
||||
async activate(element, options = {}) {
|
||||
const { TextEditor } = foundry.applications.ux;
|
||||
|
||||
let html = options.html;
|
||||
if (element.dataset.tooltip?.startsWith('#battlepoints#')) {
|
||||
this.#wide = true;
|
||||
|
||||
html = await this.getBattlepointHTML(element.dataset.combatId);
|
||||
options.direction = this._determineItemTooltipDirection(element);
|
||||
super.activate(element, { ...options, html: html });
|
||||
|
||||
const lockedTooltip = this.lockTooltip();
|
||||
lockedTooltip.querySelectorAll('.battlepoint-toggle-container input').forEach(element => {
|
||||
element.addEventListener('input', this.toggleModifier.bind(this));
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
this.#wide = false;
|
||||
}
|
||||
|
||||
if (element.dataset.tooltip === '#effect-display#') {
|
||||
this.#bordered = true;
|
||||
let effect = {};
|
||||
if (element.dataset.uuid) {
|
||||
const effectData = (await foundry.utils.fromUuid(element.dataset.uuid)).toObject();
|
||||
effect = {
|
||||
...effectData,
|
||||
name: game.i18n.localize(effectData.name),
|
||||
description: game.i18n.localize(effectData.description ?? effectData.parent.system.description)
|
||||
};
|
||||
} else {
|
||||
const conditions = CONFIG.DH.GENERAL.conditions();
|
||||
const condition = conditions[element.dataset.condition];
|
||||
effect = {
|
||||
...condition,
|
||||
name: game.i18n.localize(condition.name),
|
||||
description: game.i18n.localize(condition.description),
|
||||
appliedBy: element.dataset.appliedBy,
|
||||
isLockedCondition: true
|
||||
};
|
||||
}
|
||||
|
||||
html = await foundry.applications.handlebars.renderTemplate(
|
||||
`systems/daggerheart/templates/ui/tooltip/effect-display.hbs`,
|
||||
{
|
||||
effect
|
||||
}
|
||||
);
|
||||
|
||||
this.tooltip.innerHTML = html;
|
||||
options.direction = this._determineItemTooltipDirection(element);
|
||||
} else {
|
||||
this.#bordered = false;
|
||||
}
|
||||
|
||||
if (element.dataset.tooltip?.startsWith('#item#')) {
|
||||
const itemUuid = element.dataset.tooltip.slice(6);
|
||||
const item = await foundry.utils.fromUuid(itemUuid);
|
||||
|
|
@ -112,6 +168,14 @@ export default class DhTooltipManager extends foundry.helpers.interaction.Toolti
|
|||
super.activate(element, { ...options, html: html });
|
||||
}
|
||||
|
||||
_setStyle(position = {}) {
|
||||
super._setStyle(position);
|
||||
|
||||
if (this.#bordered) {
|
||||
this.tooltip.classList.add('bordered-tooltip');
|
||||
}
|
||||
}
|
||||
|
||||
_determineItemTooltipDirection(element, prefered = this.constructor.TOOLTIP_DIRECTIONS.LEFT) {
|
||||
const pos = element.getBoundingClientRect();
|
||||
const dirs = this.constructor.TOOLTIP_DIRECTIONS;
|
||||
|
|
@ -175,4 +239,128 @@ export default class DhTooltipManager extends foundry.helpers.interaction.Toolti
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**@inheritdoc */
|
||||
_setStyle(position = {}) {
|
||||
super._setStyle(position);
|
||||
|
||||
if (this.#wide) {
|
||||
this.tooltip.classList.add('wide');
|
||||
}
|
||||
}
|
||||
|
||||
/**@inheritdoc */
|
||||
lockTooltip() {
|
||||
const clone = super.lockTooltip();
|
||||
clone.classList.add('wide');
|
||||
|
||||
return clone;
|
||||
}
|
||||
|
||||
/** Get HTML for Battlepoints tooltip */
|
||||
async getBattlepointHTML(combatId) {
|
||||
const combat = game.combats.get(combatId);
|
||||
const adversaries =
|
||||
combat.turns?.filter(x => x.actor?.isNPC)?.map(x => ({ ...x.actor, type: x.actor.system.type })) ?? [];
|
||||
const characters = combat.turns?.filter(x => !x.isNPC) ?? [];
|
||||
|
||||
const nrCharacters = characters.length;
|
||||
const currentBP = AdversaryBPPerEncounter(adversaries, characters);
|
||||
const maxBP = combat.system.extendedBattleToggles.reduce(
|
||||
(acc, toggle) => acc + toggle.category,
|
||||
BaseBPPerEncounter(nrCharacters)
|
||||
);
|
||||
|
||||
const categories = combat.combatants.reduce((acc, combatant) => {
|
||||
if (combatant.actor.type === 'adversary') {
|
||||
const keyData = Object.keys(acc).reduce((identifiers, categoryKey) => {
|
||||
if (identifiers) return identifiers;
|
||||
const category = acc[categoryKey];
|
||||
const groupingIndex = category.findIndex(grouping =>
|
||||
grouping.types.includes(combatant.actor.system.type)
|
||||
);
|
||||
if (groupingIndex !== -1) identifiers = { categoryKey, groupingIndex };
|
||||
|
||||
return identifiers;
|
||||
}, null);
|
||||
if (keyData) {
|
||||
const { categoryKey, groupingIndex } = keyData;
|
||||
const grouping = acc[categoryKey][groupingIndex];
|
||||
const partyAmount = CONFIG.DH.ACTOR.adversaryTypes[combatant.actor.system.type].partyAmountPerBP;
|
||||
grouping.individuals = (grouping.individuals ?? 0) + 1;
|
||||
|
||||
const currentNr = grouping.nr ?? 0;
|
||||
grouping.nr = partyAmount ? Math.ceil(grouping.individuals / (nrCharacters ?? 0)) : currentNr + 1;
|
||||
}
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, foundry.utils.deepClone(CONFIG.DH.ENCOUNTER.adversaryTypeCostBrackets));
|
||||
|
||||
const extendedBattleToggles = combat.system.extendedBattleToggles;
|
||||
const toggles = Object.keys(CONFIG.DH.ENCOUNTER.BPModifiers)
|
||||
.reduce((acc, categoryKey) => {
|
||||
const category = CONFIG.DH.ENCOUNTER.BPModifiers[categoryKey];
|
||||
acc.push(
|
||||
...Object.keys(category).reduce((acc, toggleKey) => {
|
||||
const grouping = category[toggleKey];
|
||||
acc.push({
|
||||
...grouping,
|
||||
categoryKey: Number(categoryKey),
|
||||
toggleKey,
|
||||
checked: extendedBattleToggles.find(
|
||||
x => x.category == categoryKey && x.grouping === toggleKey
|
||||
),
|
||||
disabled: grouping.automatic
|
||||
});
|
||||
|
||||
return acc;
|
||||
}, [])
|
||||
);
|
||||
return acc;
|
||||
}, [])
|
||||
.sort((a, b) => {
|
||||
if (a.categoryKey < b.categoryKey) return -1;
|
||||
if (a.categoryKey > b.categoryKey) return 1;
|
||||
else return a.toggleKey.localeCompare(b.toggleKey);
|
||||
});
|
||||
|
||||
return await foundry.applications.handlebars.renderTemplate(
|
||||
`systems/daggerheart/templates/ui/tooltip/battlepoints.hbs`,
|
||||
{
|
||||
combatId: combat.id,
|
||||
nrCharacters,
|
||||
currentBP,
|
||||
maxBP,
|
||||
categories,
|
||||
toggles
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/** Enable/disable a BP modifier */
|
||||
async toggleModifier(event) {
|
||||
const { combatId, category, grouping } = event.target.dataset;
|
||||
const combat = game.combats.get(combatId);
|
||||
await combat.update({
|
||||
system: {
|
||||
battleToggles: combat.system.battleToggles.some(x => x.category == category && x.grouping === grouping)
|
||||
? combat.system.battleToggles.filter(x => x.category != category && x.grouping !== grouping)
|
||||
: [...combat.system.battleToggles, { category: Number(category), grouping }]
|
||||
}
|
||||
});
|
||||
|
||||
await combat.toggleModifierEffects(
|
||||
event.target.checked,
|
||||
combat.combatants.filter(x => x.actor.type === 'adversary').map(x => x.actor),
|
||||
category,
|
||||
grouping
|
||||
);
|
||||
|
||||
this.tooltip.innerHTML = await this.getBattlepointHTML(combatId);
|
||||
const lockedTooltip = this.lockTooltip();
|
||||
lockedTooltip.querySelectorAll('.battlepoint-toggle-container input').forEach(element => {
|
||||
element.addEventListener('input', this.toggleModifier.bind(this));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,14 +35,8 @@ export default class RegisterHandlebarsHelpers {
|
|||
return accum;
|
||||
}
|
||||
|
||||
static damageFormula(attack, actor) {
|
||||
const traitTotal = actor.system.traits?.[attack.roll.trait]?.value;
|
||||
const instances = [
|
||||
attack.damage.parts.map(x => Roll.replaceFormulaData(x.value.getFormula(), actor)).join(' + '),
|
||||
traitTotal
|
||||
].filter(x => x);
|
||||
|
||||
return instances.join(traitTotal > 0 ? ' + ' : ' - ');
|
||||
static damageFormula(attack) {
|
||||
return attack.getDamageFormula();
|
||||
}
|
||||
|
||||
static formulaValue(formula, item) {
|
||||
|
|
|
|||
|
|
@ -451,3 +451,25 @@ export async function waitForDiceSoNice(message) {
|
|||
await game.dice3d.waitFor3DAnimationByMessageID(message.id);
|
||||
}
|
||||
}
|
||||
|
||||
export function refreshIsAllowed(allowedTypes, typeToCheck) {
|
||||
switch (typeToCheck) {
|
||||
case CONFIG.DH.GENERAL.refreshTypes.scene.id:
|
||||
case CONFIG.DH.GENERAL.refreshTypes.session.id:
|
||||
case CONFIG.DH.GENERAL.refreshTypes.longRest.id:
|
||||
return allowedTypes.includes(typeToCheck);
|
||||
case CONFIG.DH.GENERAL.refreshTypes.shortRest.id:
|
||||
return allowedTypes.some(
|
||||
x =>
|
||||
x === CONFIG.DH.GENERAL.refreshTypes.shortRest.id ||
|
||||
x === CONFIG.DH.GENERAL.refreshTypes.longRest.id
|
||||
);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
export async function getCritDamageBonus(formula) {
|
||||
const critRoll = new Roll(formula);
|
||||
return critRoll.dice.reduce((acc, dice) => acc + dice.faces, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@ export const GMUpdateEvent = {
|
|||
|
||||
export const RefreshType = {
|
||||
Countdown: 'DhCoundownRefresh',
|
||||
TagTeamRoll: 'DhTagTeamRollRefresh'
|
||||
TagTeamRoll: 'DhTagTeamRollRefresh',
|
||||
EffectsDisplay: 'DhEffectsDisplayRefresh'
|
||||
};
|
||||
|
||||
export const registerSocketHooks = () => {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
"readline": "^1.3.0",
|
||||
"pushLDBtoYML": "node ./tools/pushLDBtoYML.mjs",
|
||||
"pullYMLtoLDB": "node ./tools/pullYMLtoLDB.mjs",
|
||||
"pullYMLtoLDBBuild": "node ./tools/pullYMLtoLDBBuild.mjs",
|
||||
"pullYMLtoLDBBuild": "node ./tools/pullYMLtoLDB.mjs --build",
|
||||
"createSymlink": "node ./tools/create-symlink.mjs",
|
||||
"setup:dev": "node ./tools/dev-setup.mjs"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -151,17 +151,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1754010222829,
|
||||
"modifiedTime": 1755384241210,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
"ei8OkswTzyDp4IGC": 3,
|
||||
|
|
@ -318,14 +307,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY",
|
||||
"modifiedTime": 1760033015502
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!89yAh30vaNQOALlz.MFmGN6Tbf5GYxrQ9"
|
||||
},
|
||||
|
|
@ -436,13 +418,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": null
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!89yAh30vaNQOALlz.ctXYwil2D1zfsekT.9PsnogEPsp1OOK64"
|
||||
}
|
||||
|
|
@ -455,14 +431,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8",
|
||||
"modifiedTime": 1754143640417
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!89yAh30vaNQOALlz.ctXYwil2D1zfsekT"
|
||||
},
|
||||
|
|
@ -588,14 +557,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY",
|
||||
"modifiedTime": 1760019840573
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!89yAh30vaNQOALlz.UpFsnlbZkyvM2Ftv"
|
||||
},
|
||||
|
|
@ -730,14 +692,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8",
|
||||
"modifiedTime": 1754143695127
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!89yAh30vaNQOALlz.aNIVT5LKhwLyjKpI"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,17 +114,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784219,
|
||||
"modifiedTime": 1755385356620,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "G7jiltRjgvVhZewm",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -281,15 +270,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754121940551,
|
||||
"modifiedTime": 1760381115291,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!G7jiltRjgvVhZewm.fFOhhMl4SDUnYNNO"
|
||||
},
|
||||
|
|
@ -373,15 +354,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754122100514,
|
||||
"modifiedTime": 1754122126474,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!G7jiltRjgvVhZewm.PrwC6RpsP12fPUwy.ia0NUIOxE3RHb45P"
|
||||
}
|
||||
|
|
@ -394,15 +367,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754121968284,
|
||||
"modifiedTime": 1760381147421,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!G7jiltRjgvVhZewm.PrwC6RpsP12fPUwy"
|
||||
},
|
||||
|
|
@ -508,15 +473,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754122005921,
|
||||
"modifiedTime": 1754122771556,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!G7jiltRjgvVhZewm.BuL6ndgaiJtjaM2T"
|
||||
},
|
||||
|
|
@ -595,15 +552,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754122013435,
|
||||
"modifiedTime": 1754122660497,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!G7jiltRjgvVhZewm.bOTsfXr9yNIGkIzK"
|
||||
},
|
||||
|
|
@ -764,15 +713,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.2.4",
|
||||
"createdTime": 1754122030308,
|
||||
"modifiedTime": 1763599149242,
|
||||
"lastModifiedBy": "Q4RzhhaPfvLUzzbw"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!G7jiltRjgvVhZewm.49cIxZRFiAM6jDva"
|
||||
},
|
||||
|
|
@ -827,15 +768,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754122789186,
|
||||
"modifiedTime": 1760381159787,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!G7jiltRjgvVhZewm.KLdLRKoJHBJlHwYe"
|
||||
},
|
||||
|
|
@ -860,15 +793,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1760381172325,
|
||||
"modifiedTime": 1760381302938,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!G7jiltRjgvVhZewm.WFRpSDZvqF0Upjoy"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,17 +113,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784220,
|
||||
"modifiedTime": 1755384980487,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "vNIbYQ4YSzNf0WPE",
|
||||
"sort": 3500000,
|
||||
"ownership": {
|
||||
|
|
@ -247,15 +236,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754070516177,
|
||||
"modifiedTime": 1754070536166,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!vNIbYQ4YSzNf0WPE.2yREz60uPY80tAa4"
|
||||
},
|
||||
|
|
@ -310,15 +291,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754070539112,
|
||||
"modifiedTime": 1754142025997,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!vNIbYQ4YSzNf0WPE.4wT7CmM1DJEPcraF"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,17 +125,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784221,
|
||||
"modifiedTime": 1755385620034,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "WPEOIGfclNJxWb87",
|
||||
"sort": 1200000,
|
||||
"ownership": {
|
||||
|
|
@ -313,15 +302,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754132259208,
|
||||
"modifiedTime": 1754132328745,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!WPEOIGfclNJxWb87.jNmMyq5QI2HNgffy"
|
||||
},
|
||||
|
|
@ -525,15 +506,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754132456667,
|
||||
"modifiedTime": 1754132472474,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!WPEOIGfclNJxWb87.4EECsXzHFG0RoIg0.KGdf2eqcXkdigg0u"
|
||||
}
|
||||
|
|
@ -546,15 +519,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754132335603,
|
||||
"modifiedTime": 1754132528280,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!WPEOIGfclNJxWb87.4EECsXzHFG0RoIg0"
|
||||
},
|
||||
|
|
@ -609,15 +574,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754132531238,
|
||||
"modifiedTime": 1754133089602,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!WPEOIGfclNJxWb87.XxXOrFovbCz9zFxR"
|
||||
},
|
||||
|
|
@ -696,15 +653,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754132587562,
|
||||
"modifiedTime": 1754132653034,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!WPEOIGfclNJxWb87.k4MSykLRoW3qp7Lk"
|
||||
},
|
||||
|
|
@ -820,15 +769,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.2.4",
|
||||
"createdTime": 1754132668836,
|
||||
"modifiedTime": 1763599179169,
|
||||
"lastModifiedBy": "Q4RzhhaPfvLUzzbw"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!WPEOIGfclNJxWb87.FKcuCo0v2U7fVkqq"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,17 +119,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784222,
|
||||
"modifiedTime": 1755384306205,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "JRhrrEg5UroURiAD",
|
||||
"sort": 2900000,
|
||||
"ownership": {
|
||||
|
|
@ -364,15 +353,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754012705802,
|
||||
"modifiedTime": 1754012740752,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!JRhrrEg5UroURiAD.DMtd1EXQPlPaoRmV.wGuxOLokMqdxVSOo"
|
||||
}
|
||||
|
|
@ -385,15 +366,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754012548341,
|
||||
"modifiedTime": 1754143709108,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!JRhrrEg5UroURiAD.DMtd1EXQPlPaoRmV"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,17 +114,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784223,
|
||||
"modifiedTime": 1755384973132,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "0ts6CGd93lLqGZI5",
|
||||
"sort": 200000,
|
||||
"ownership": {
|
||||
|
|
@ -248,15 +237,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754070637872,
|
||||
"modifiedTime": 1754070657545,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!0ts6CGd93lLqGZI5.uPwtE9d63PHtQitG"
|
||||
},
|
||||
|
|
@ -360,15 +341,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754070661520,
|
||||
"modifiedTime": 1754142041107,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!0ts6CGd93lLqGZI5.Wuf5y9tJ88BwzLv2"
|
||||
},
|
||||
|
|
@ -465,15 +438,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754070760732,
|
||||
"modifiedTime": 1754142058270,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!0ts6CGd93lLqGZI5.ayGHTtyjSuIR4BrV"
|
||||
}
|
||||
|
|
@ -506,15 +471,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754070598535,
|
||||
"modifiedTime": 1754070598535,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.effects!0ts6CGd93lLqGZI5.bq8hTzQoCXmA3xad"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784224,
|
||||
"modifiedTime": 1755384989183,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "h5RuhzGL17dW5FBT",
|
||||
"sort": 2700000,
|
||||
"ownership": {
|
||||
|
|
@ -308,15 +297,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754073115997,
|
||||
"modifiedTime": 1754073138695,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!h5RuhzGL17dW5FBT.Fz2lnUEeBxsDpx0G.2iBVUGHtGW3I9VIj"
|
||||
}
|
||||
|
|
@ -329,15 +310,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754073069218,
|
||||
"modifiedTime": 1754142079163,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!h5RuhzGL17dW5FBT.Fz2lnUEeBxsDpx0G"
|
||||
},
|
||||
|
|
@ -393,15 +366,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754073175871,
|
||||
"modifiedTime": 1754073220488,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!h5RuhzGL17dW5FBT.of6g4piugKzTI4dv.qT5nh7OcQ6aGdiWS"
|
||||
}
|
||||
|
|
@ -414,15 +379,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754073144490,
|
||||
"modifiedTime": 1754073171491,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!h5RuhzGL17dW5FBT.of6g4piugKzTI4dv"
|
||||
},
|
||||
|
|
@ -499,15 +456,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754073324162,
|
||||
"modifiedTime": 1754073362021,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!h5RuhzGL17dW5FBT.lAmiK8wVxjyHwKlp.yP4ot8VqS56RnxnE"
|
||||
}
|
||||
|
|
@ -520,15 +469,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754073225985,
|
||||
"modifiedTime": 1754142105436,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!h5RuhzGL17dW5FBT.lAmiK8wVxjyHwKlp"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784224,
|
||||
"modifiedTime": 1755385012352,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "dgH3fW9FTYLaIDvS",
|
||||
"sort": 2600000,
|
||||
"ownership": {
|
||||
|
|
@ -287,15 +276,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754073816379,
|
||||
"modifiedTime": 1760211145763,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.RSovCwuGrZ1mk5py"
|
||||
},
|
||||
|
|
@ -374,15 +355,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754073845291,
|
||||
"modifiedTime": 1754142121782,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.ZqfLMjVkbUwDw4p6"
|
||||
},
|
||||
|
|
@ -481,15 +454,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754074104758,
|
||||
"modifiedTime": 1754142132743,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.lqyN4CQop53BzarW"
|
||||
},
|
||||
|
|
@ -588,15 +553,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754074175443,
|
||||
"modifiedTime": 1754142142523,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.IHQoqt39T772FVMs"
|
||||
},
|
||||
|
|
@ -726,15 +683,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754074326119,
|
||||
"modifiedTime": 1754074354525,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!dgH3fW9FTYLaIDvS.XtnByqUr9AuYU9Ip.9NQcCXMhjyBReJRd"
|
||||
}
|
||||
|
|
@ -747,15 +696,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754074260007,
|
||||
"modifiedTime": 1754142151952,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.XtnByqUr9AuYU9Ip"
|
||||
},
|
||||
|
|
@ -853,15 +794,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754074364206,
|
||||
"modifiedTime": 1754142161096,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.3bPURmuwQs06fThQ"
|
||||
},
|
||||
|
|
@ -964,15 +897,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754074519811,
|
||||
"modifiedTime": 1754074537174,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!dgH3fW9FTYLaIDvS.ijIaKjroxq3xZd9Z.S7kJlhnV8Nexzi8l"
|
||||
}
|
||||
|
|
@ -985,15 +910,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754074454965,
|
||||
"modifiedTime": 1754142182845,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.ijIaKjroxq3xZd9Z"
|
||||
},
|
||||
|
|
@ -1092,15 +1009,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754074558281,
|
||||
"modifiedTime": 1754142197090,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.JCue4ko61bjhedXv"
|
||||
},
|
||||
|
|
@ -1200,15 +1109,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.4",
|
||||
"createdTime": 1754074647690,
|
||||
"modifiedTime": 1755264742627,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.ITzpRJr2jWK0Ksmp"
|
||||
},
|
||||
|
|
@ -1307,15 +1208,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754074737929,
|
||||
"modifiedTime": 1754142216691,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!dgH3fW9FTYLaIDvS.YvfzPyJbbv2ia6Yp"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,17 +125,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784226,
|
||||
"modifiedTime": 1755384265295,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "71qKDLKO3CsrNkdy",
|
||||
"sort": 1200000,
|
||||
"ownership": {
|
||||
|
|
@ -260,15 +249,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754012151208,
|
||||
"modifiedTime": 1754012182512,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!71qKDLKO3CsrNkdy.2fXzhh2qil8dw3vw"
|
||||
},
|
||||
|
|
@ -406,15 +387,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754012285077,
|
||||
"modifiedTime": 1754012313771,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!71qKDLKO3CsrNkdy.zgR0MEqyobKp2yXr.U50Ccm9emMqAxma6"
|
||||
}
|
||||
|
|
@ -427,15 +400,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754012195973,
|
||||
"modifiedTime": 1754143721840,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!71qKDLKO3CsrNkdy.zgR0MEqyobKp2yXr"
|
||||
},
|
||||
|
|
@ -531,15 +496,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754012330113,
|
||||
"modifiedTime": 1760209165515,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!71qKDLKO3CsrNkdy.4hJbq9WCwJn78frt"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784226,
|
||||
"modifiedTime": 1755384320981,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "B4LZcGuBAHzyVdzy",
|
||||
"sort": 2000000,
|
||||
"ownership": {
|
||||
|
|
@ -302,15 +291,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754012824140,
|
||||
"modifiedTime": 1760021165250,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!B4LZcGuBAHzyVdzy.qEn4baWgkjKtmILp"
|
||||
},
|
||||
|
|
@ -414,15 +395,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754013054188,
|
||||
"modifiedTime": 1754013085395,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!B4LZcGuBAHzyVdzy.9gizFt9ovKL05DXu.LmzztuktRkwOCy1a"
|
||||
}
|
||||
|
|
@ -435,15 +408,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754012944888,
|
||||
"modifiedTime": 1754143803011,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!B4LZcGuBAHzyVdzy.9gizFt9ovKL05DXu"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,17 +123,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784231,
|
||||
"modifiedTime": 1755384340788,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "2UeZ0tEe7AzgSJNd",
|
||||
"sort": 400000,
|
||||
"ownership": {
|
||||
|
|
@ -263,15 +252,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754013235761,
|
||||
"modifiedTime": 1754013348057,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!2UeZ0tEe7AzgSJNd.yBaLF9DwPH2GSRKf"
|
||||
},
|
||||
|
|
@ -371,15 +352,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754013355113,
|
||||
"modifiedTime": 1754143817596,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!2UeZ0tEe7AzgSJNd.LP7xVLMTkJsmiIvl"
|
||||
},
|
||||
|
|
@ -496,15 +469,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754013588940,
|
||||
"modifiedTime": 1754013596861,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!2UeZ0tEe7AzgSJNd.69reUZ5tv3splqyO.CjMrSdL6kgD8mKRQ"
|
||||
}
|
||||
|
|
@ -517,15 +482,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754013473713,
|
||||
"modifiedTime": 1754143824712,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!2UeZ0tEe7AzgSJNd.69reUZ5tv3splqyO"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,17 +119,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784233,
|
||||
"modifiedTime": 1755384280132,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "8Zkqk1jU09nKL2fy",
|
||||
"sort": 1500000,
|
||||
"ownership": {
|
||||
|
|
@ -284,15 +273,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754011303846,
|
||||
"modifiedTime": 1754143837385,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!8Zkqk1jU09nKL2fy.ynuyMl1sMQYINfcQ"
|
||||
},
|
||||
|
|
@ -318,15 +299,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754011637183,
|
||||
"modifiedTime": 1754011673466,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!8Zkqk1jU09nKL2fy.szu5YYQ6klkDbqAT"
|
||||
},
|
||||
|
|
@ -500,15 +473,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754011680074,
|
||||
"modifiedTime": 1754143860893,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!8Zkqk1jU09nKL2fy.zGvaBYJPOOnQVQEn"
|
||||
},
|
||||
|
|
@ -588,15 +553,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754011925214,
|
||||
"modifiedTime": 1754143873733,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!8Zkqk1jU09nKL2fy.Qxkddj6nQc4RDExW"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,17 +114,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784233,
|
||||
"modifiedTime": 1755385025439,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "jDmHqGvzg5wjgmxE",
|
||||
"sort": 2800000,
|
||||
"ownership": {
|
||||
|
|
@ -279,15 +268,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.2.4",
|
||||
"createdTime": 1763845938979,
|
||||
"modifiedTime": 1763846023794,
|
||||
"lastModifiedBy": "Q4RzhhaPfvLUzzbw"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!jDmHqGvzg5wjgmxE.m6uPm4vujrUjSFPw.k6iaQVfMZhrpwYQj"
|
||||
}
|
||||
|
|
@ -300,15 +281,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075067352,
|
||||
"modifiedTime": 1754075095219,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!jDmHqGvzg5wjgmxE.m6uPm4vujrUjSFPw"
|
||||
},
|
||||
|
|
@ -364,15 +337,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075111183,
|
||||
"modifiedTime": 1754075147178,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!jDmHqGvzg5wjgmxE.LNVlf1BeqC3XyTrV.4rj6PM0AGrrlbxSc"
|
||||
}
|
||||
|
|
@ -385,15 +350,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075098555,
|
||||
"modifiedTime": 1754075127728,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!jDmHqGvzg5wjgmxE.LNVlf1BeqC3XyTrV"
|
||||
},
|
||||
|
|
@ -499,15 +456,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075150449,
|
||||
"modifiedTime": 1754142237897,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!jDmHqGvzg5wjgmxE.Zn25zBr96y1hrmnr"
|
||||
},
|
||||
|
|
@ -604,15 +553,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075230388,
|
||||
"modifiedTime": 1754142272882,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!jDmHqGvzg5wjgmxE.urXRi4bdBfvl8U6K"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,17 +107,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784234,
|
||||
"modifiedTime": 1755385032835,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "99TqczuQipBmaB8i",
|
||||
"sort": 1200000,
|
||||
"ownership": {
|
||||
|
|
@ -241,15 +230,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075360936,
|
||||
"modifiedTime": 1754075373905,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!99TqczuQipBmaB8i.DgzY4TV3FrxDvhhY"
|
||||
},
|
||||
|
|
@ -304,15 +285,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075401268,
|
||||
"modifiedTime": 1754142299386,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!99TqczuQipBmaB8i.MWfKUGzT1YBmLvpn"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,17 +114,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784236,
|
||||
"modifiedTime": 1755384289735,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "uOP5oT9QzXPlnf3p",
|
||||
"sort": 4900000,
|
||||
"ownership": {
|
||||
|
|
@ -282,15 +271,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754013727085,
|
||||
"modifiedTime": 1760032979707,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!uOP5oT9QzXPlnf3p.y3oUmDLGkcSjOO5Q"
|
||||
},
|
||||
|
|
@ -316,15 +297,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754013751967,
|
||||
"modifiedTime": 1754013777727,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!uOP5oT9QzXPlnf3p.p4HLIkiM3HsglRoA"
|
||||
},
|
||||
|
|
@ -431,15 +404,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754013785248,
|
||||
"modifiedTime": 1754143890173,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!uOP5oT9QzXPlnf3p.93m085bEaKFzvEWT"
|
||||
},
|
||||
|
|
@ -526,15 +491,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754013932820,
|
||||
"modifiedTime": 1754013969723,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!uOP5oT9QzXPlnf3p.EF6YIDjQ0liFubGA.xkDIZk9u2ipDHvOL"
|
||||
}
|
||||
|
|
@ -547,15 +504,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.4",
|
||||
"createdTime": 1754013871234,
|
||||
"modifiedTime": 1755260161782,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!uOP5oT9QzXPlnf3p.EF6YIDjQ0liFubGA"
|
||||
},
|
||||
|
|
@ -655,15 +604,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754013980637,
|
||||
"modifiedTime": 1754143905192,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!uOP5oT9QzXPlnf3p.UlGLuV1L33tDWkli"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,17 +125,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784237,
|
||||
"modifiedTime": 1755385040425,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "ZxWaWPdzFIUPNC62",
|
||||
"sort": 2400000,
|
||||
"ownership": {
|
||||
|
|
@ -350,15 +339,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075591764,
|
||||
"modifiedTime": 1754075618327,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!ZxWaWPdzFIUPNC62.rSMUPC5GhR982ifg.blcRqns0PHqiuPac"
|
||||
}
|
||||
|
|
@ -371,15 +352,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075457515,
|
||||
"modifiedTime": 1754142315839,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!ZxWaWPdzFIUPNC62.rSMUPC5GhR982ifg"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784237,
|
||||
"modifiedTime": 1755384362436,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "CBBuEXAlLKFMJdjg",
|
||||
"sort": 2200000,
|
||||
"ownership": {
|
||||
|
|
@ -366,15 +355,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754014456918,
|
||||
"modifiedTime": 1754014468386,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!CBBuEXAlLKFMJdjg.LYNaKEYcYMgvF4Rf.YNMhgBZW8ndrCjIp"
|
||||
}
|
||||
|
|
@ -387,15 +368,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754014295058,
|
||||
"modifiedTime": 1760209255313,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!CBBuEXAlLKFMJdjg.LYNaKEYcYMgvF4Rf"
|
||||
},
|
||||
|
|
@ -451,15 +424,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754014473825,
|
||||
"modifiedTime": 1754143929683,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!CBBuEXAlLKFMJdjg.Ux42ELBBuSYwm4yW"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,17 +125,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784239,
|
||||
"modifiedTime": 1755385049086,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "0NxCSugvKQ4W8OYZ",
|
||||
"sort": 100000,
|
||||
"ownership": {
|
||||
|
|
@ -365,15 +354,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075842447,
|
||||
"modifiedTime": 1754142328561,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!0NxCSugvKQ4W8OYZ.kCffzM8rX8NEr9d2"
|
||||
},
|
||||
|
|
@ -470,15 +451,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076062015,
|
||||
"modifiedTime": 1754076105398,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!0NxCSugvKQ4W8OYZ.IHWDn097sRgjlZXO.U9lWz1LgeAiK5L85"
|
||||
}
|
||||
|
|
@ -491,15 +464,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754075995517,
|
||||
"modifiedTime": 1754142338486,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!0NxCSugvKQ4W8OYZ.IHWDn097sRgjlZXO"
|
||||
},
|
||||
|
|
@ -585,15 +550,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076347281,
|
||||
"modifiedTime": 1754076389089,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!0NxCSugvKQ4W8OYZ.JpSrduK3vjd9h098.lNH6srSPyEprXZ4o"
|
||||
}
|
||||
|
|
@ -606,15 +563,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076110844,
|
||||
"modifiedTime": 1754142351045,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!0NxCSugvKQ4W8OYZ.JpSrduK3vjd9h098"
|
||||
},
|
||||
|
|
@ -707,15 +656,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.4",
|
||||
"createdTime": 1754076395683,
|
||||
"modifiedTime": 1755264866325,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!0NxCSugvKQ4W8OYZ.x6FbcrfOscb3er6P"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,17 +114,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784239,
|
||||
"modifiedTime": 1755385067530,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "tyBOpLfigAhI9bU3",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -278,15 +267,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076664932,
|
||||
"modifiedTime": 1754142423230,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!tyBOpLfigAhI9bU3.vX5FHwLvFjuc4JC1"
|
||||
},
|
||||
|
|
@ -422,15 +403,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076794982,
|
||||
"modifiedTime": 1754076800524,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!tyBOpLfigAhI9bU3.ohASSruBxcvuItIK.LwWxRz7FTMA80VdA"
|
||||
}
|
||||
|
|
@ -443,15 +416,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076697557,
|
||||
"modifiedTime": 1754142442929,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!tyBOpLfigAhI9bU3.ohASSruBxcvuItIK"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,17 +107,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784240,
|
||||
"modifiedTime": 1755385079522,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "zx99sOGTXicP4SSD",
|
||||
"sort": 3600000,
|
||||
"ownership": {
|
||||
|
|
@ -241,15 +230,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076852910,
|
||||
"modifiedTime": 1754076869705,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!zx99sOGTXicP4SSD.oYoMjSd4OKLWUxlP"
|
||||
},
|
||||
|
|
@ -304,15 +285,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076871173,
|
||||
"modifiedTime": 1754142459708,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!zx99sOGTXicP4SSD.WP6xQtYzouPEFr82"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,17 +119,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784246,
|
||||
"modifiedTime": 1755384371297,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "9x2xY9zwc3xzbXo5",
|
||||
"sort": 1800000,
|
||||
"ownership": {
|
||||
|
|
@ -307,15 +296,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754014765553,
|
||||
"modifiedTime": 1754143942478,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!9x2xY9zwc3xzbXo5.0DSCzAFXy0hV4afJ"
|
||||
},
|
||||
|
|
@ -444,15 +425,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754014907002,
|
||||
"modifiedTime": 1754014933428,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!9x2xY9zwc3xzbXo5.rreGFW5TbhUoZf2T.F3E7fiz01AbF2kr5"
|
||||
}
|
||||
|
|
@ -465,15 +438,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754014840148,
|
||||
"modifiedTime": 1754143956037,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!9x2xY9zwc3xzbXo5.rreGFW5TbhUoZf2T"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784247,
|
||||
"modifiedTime": 1755385363507,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "pnyjIGxxvurcWmTv",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -254,15 +243,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754123855331,
|
||||
"modifiedTime": 1754124357369,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!pnyjIGxxvurcWmTv.qoQinutpe4Itohp0"
|
||||
},
|
||||
|
|
@ -323,15 +304,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754124286848,
|
||||
"modifiedTime": 1754124718184,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!pnyjIGxxvurcWmTv.ILocyy5hvyQXXjhs.iLeiOlUtWvYsgbDQ"
|
||||
}
|
||||
|
|
@ -344,15 +317,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754124071735,
|
||||
"modifiedTime": 1754124275885,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!pnyjIGxxvurcWmTv.ILocyy5hvyQXXjhs"
|
||||
},
|
||||
|
|
@ -377,15 +342,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754124362017,
|
||||
"modifiedTime": 1754124404064,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!pnyjIGxxvurcWmTv.BKgv2D1IdI813R8k"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784248,
|
||||
"modifiedTime": 1755385375748,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "kE4dfhqmIQpNd44e",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -254,15 +243,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754124808040,
|
||||
"modifiedTime": 1754124852704,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!kE4dfhqmIQpNd44e.2ESeh4tPhr6DI5ty"
|
||||
},
|
||||
|
|
@ -346,15 +327,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754124941819,
|
||||
"modifiedTime": 1754124964674,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!kE4dfhqmIQpNd44e.FC8PIf4BVkhmoJX8.6WSx03mFbpbPWnOI"
|
||||
}
|
||||
|
|
@ -367,15 +340,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754124856454,
|
||||
"modifiedTime": 1754126796621,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!kE4dfhqmIQpNd44e.FC8PIf4BVkhmoJX8"
|
||||
},
|
||||
|
|
@ -460,15 +425,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754124968987,
|
||||
"modifiedTime": 1754126806655,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!kE4dfhqmIQpNd44e.dlMdfUjy2GaqgeOJ"
|
||||
},
|
||||
|
|
@ -563,15 +520,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754125078956,
|
||||
"modifiedTime": 1760381412185,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!kE4dfhqmIQpNd44e.7qjx1c4C1fUfvXnu"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784249,
|
||||
"modifiedTime": 1755385382792,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "2VN3BftageoTTIzu",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -314,15 +303,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125153370,
|
||||
"modifiedTime": 1754126691893,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!2VN3BftageoTTIzu.kgPZs8Vx1FpQi2g1"
|
||||
},
|
||||
|
|
@ -400,15 +381,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125212635,
|
||||
"modifiedTime": 1754126705083,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!2VN3BftageoTTIzu.r5EvkhhvvfNv8wZe"
|
||||
},
|
||||
|
|
@ -494,15 +467,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125314989,
|
||||
"modifiedTime": 1754126776810,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!2VN3BftageoTTIzu.Y3W44ifKIcoYpONN"
|
||||
},
|
||||
|
|
@ -557,15 +522,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125389694,
|
||||
"modifiedTime": 1754126722830,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!2VN3BftageoTTIzu.6BKWOTuxQWJd5RP5"
|
||||
},
|
||||
|
|
@ -643,15 +600,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125438318,
|
||||
"modifiedTime": 1754126734122,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!2VN3BftageoTTIzu.FLp1dPSJz1ezY0gD"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1753922784249,
|
||||
"modifiedTime": 1760381460345,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
},
|
||||
"_id": "SxSOkM4bcVOFyjbo",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -254,15 +243,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125579282,
|
||||
"modifiedTime": 1754125603576,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!SxSOkM4bcVOFyjbo.m8qmsssYQ3uFHkil"
|
||||
},
|
||||
|
|
@ -287,15 +268,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125606762,
|
||||
"modifiedTime": 1754125640104,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!SxSOkM4bcVOFyjbo.KVyhgMJSSHTwRISA"
|
||||
},
|
||||
|
|
@ -350,15 +323,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125644407,
|
||||
"modifiedTime": 1754126662316,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!SxSOkM4bcVOFyjbo.pSAupMWw1eYqm84z"
|
||||
},
|
||||
|
|
@ -430,15 +395,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125731509,
|
||||
"modifiedTime": 1754126675459,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!SxSOkM4bcVOFyjbo.589tCxFc8KZ3rdzP"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784252,
|
||||
"modifiedTime": 1755385398938,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "5lphJAgzoqZI3VoG",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -254,15 +243,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125871076,
|
||||
"modifiedTime": 1754125902296,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!5lphJAgzoqZI3VoG.QDrOLKVWVjUnDPK3"
|
||||
},
|
||||
|
|
@ -317,15 +298,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125905486,
|
||||
"modifiedTime": 1754126618510,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!5lphJAgzoqZI3VoG.a33PW8UkziliowlR"
|
||||
},
|
||||
|
|
@ -431,15 +404,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754125967237,
|
||||
"modifiedTime": 1754126630517,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!5lphJAgzoqZI3VoG.DjGydqLXT4rDa7Av"
|
||||
},
|
||||
|
|
@ -528,15 +493,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.2.3",
|
||||
"createdTime": 1754126056313,
|
||||
"modifiedTime": 1763488897395,
|
||||
"lastModifiedBy": "Q4RzhhaPfvLUzzbw"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!5lphJAgzoqZI3VoG.2F75BO0xEU8Zlj7T"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784253,
|
||||
"modifiedTime": 1755385087255,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "NoRZ1PqB8N5wcIw0",
|
||||
"sort": 1800000,
|
||||
"ownership": {
|
||||
|
|
@ -254,15 +243,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076936887,
|
||||
"modifiedTime": 1754076954410,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!NoRZ1PqB8N5wcIw0.NXzJLDoJBJqCXlOm"
|
||||
},
|
||||
|
|
@ -340,15 +321,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754077020106,
|
||||
"modifiedTime": 1754142474768,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!NoRZ1PqB8N5wcIw0.WEbHwamS5ZBphiKq"
|
||||
},
|
||||
|
|
@ -443,15 +416,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754077119018,
|
||||
"modifiedTime": 1760211234576,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!NoRZ1PqB8N5wcIw0.3mOBJE5c3cP2cGP1"
|
||||
}
|
||||
|
|
@ -484,15 +449,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754076928558,
|
||||
"modifiedTime": 1754076928558,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.effects!NoRZ1PqB8N5wcIw0.dPZ7PwvTERjtG92P"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,17 +119,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784253,
|
||||
"modifiedTime": 1755385409189,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "tBWHW00epmMnkawe",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -284,15 +273,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754126247394,
|
||||
"modifiedTime": 1763488974350,
|
||||
"lastModifiedBy": "Q4RzhhaPfvLUzzbw"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!tBWHW00epmMnkawe.gx22MpD8fWoi8klZ.qZfNiqw1iAIxeuYg"
|
||||
}
|
||||
|
|
@ -305,15 +286,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754126217979,
|
||||
"modifiedTime": 1754126244872,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!tBWHW00epmMnkawe.gx22MpD8fWoi8klZ"
|
||||
},
|
||||
|
|
@ -390,15 +363,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754126400449,
|
||||
"modifiedTime": 1754126592777,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!tBWHW00epmMnkawe.o69lipskvBwGVhe4"
|
||||
},
|
||||
|
|
@ -504,15 +469,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754126469461,
|
||||
"modifiedTime": 1754126575288,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!tBWHW00epmMnkawe.BQPGgbNzKbNkGDJb"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784257,
|
||||
"modifiedTime": 1755384380804,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "wNzeuQLfLUMvgHlQ",
|
||||
"sort": 5100000,
|
||||
"ownership": {
|
||||
|
|
@ -328,15 +317,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754044226022,
|
||||
"modifiedTime": 1760209346410,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!wNzeuQLfLUMvgHlQ.wQXEnMqrl2jo91oy"
|
||||
},
|
||||
|
|
@ -472,15 +453,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754044420696,
|
||||
"modifiedTime": 1754044425763,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!wNzeuQLfLUMvgHlQ.85XrqDvLP30YOO43.YNKHEFQ4ucGr4Rmc"
|
||||
}
|
||||
|
|
@ -493,15 +466,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754044355011,
|
||||
"modifiedTime": 1754143975342,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!wNzeuQLfLUMvgHlQ.85XrqDvLP30YOO43"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784258,
|
||||
"modifiedTime": 1755385415645,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "wR7cFKrHvRzbzhBT",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -361,15 +350,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754126924795,
|
||||
"modifiedTime": 1754127241289,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!wR7cFKrHvRzbzhBT.i9HbArl09dX2BvzY"
|
||||
},
|
||||
|
|
@ -424,15 +405,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754127111434,
|
||||
"modifiedTime": 1754127495675,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!wR7cFKrHvRzbzhBT.yKWQLL3qsEZlQjyb"
|
||||
},
|
||||
|
|
@ -557,15 +530,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.4",
|
||||
"createdTime": 1754127256705,
|
||||
"modifiedTime": 1755266428753,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!wR7cFKrHvRzbzhBT.z4JbqiHuxrWy6Cpu"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,17 +114,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784258,
|
||||
"modifiedTime": 1755385098856,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "TLzY1nDw0Bu9Ud40",
|
||||
"sort": 1900000,
|
||||
"ownership": {
|
||||
|
|
@ -248,15 +237,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754077509261,
|
||||
"modifiedTime": 1754077531733,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!TLzY1nDw0Bu9Ud40.1mNlXMyCQNg4P3n3"
|
||||
},
|
||||
|
|
@ -362,15 +343,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754077534109,
|
||||
"modifiedTime": 1754142494905,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!TLzY1nDw0Bu9Ud40.u5NL1eUJeAkIEpgt"
|
||||
}
|
||||
|
|
@ -403,15 +376,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754077465465,
|
||||
"modifiedTime": 1754077465465,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.effects!TLzY1nDw0Bu9Ud40.xoal60Ed3Ih7saBJ"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,17 +107,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784259,
|
||||
"modifiedTime": 1755385425940,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "P7h54ZePFPHpYwvB",
|
||||
"sort": 3400000,
|
||||
"ownership": {
|
||||
|
|
@ -241,15 +230,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754127542419,
|
||||
"modifiedTime": 1754127559872,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!P7h54ZePFPHpYwvB.ZwQ2W90hoMe3KFxk"
|
||||
},
|
||||
|
|
@ -304,15 +285,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754127561572,
|
||||
"modifiedTime": 1754127597955,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!P7h54ZePFPHpYwvB.13OraSLq2YjpZqbm"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,17 +146,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1754090776362,
|
||||
"modifiedTime": 1755385106827,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
"ei8OkswTzyDp4IGC": 3,
|
||||
|
|
@ -360,14 +349,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8",
|
||||
"modifiedTime": 1754142511820
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!bfhVWMBUh61b9J6n.ojiIZHBd0sMLxSUE"
|
||||
},
|
||||
|
|
@ -422,14 +404,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8",
|
||||
"modifiedTime": 1754142520242
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!bfhVWMBUh61b9J6n.zcfyEY29yWqJtZbl"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784262,
|
||||
"modifiedTime": 1755385114729,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "ChwwVqowFw8hJQwT",
|
||||
"sort": 1500000,
|
||||
"ownership": {
|
||||
|
|
@ -285,15 +274,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754077898647,
|
||||
"modifiedTime": 1754077926996,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!ChwwVqowFw8hJQwT.nCIGFPFOKzyznL0O.3QLH2EEtcUEZolFz"
|
||||
}
|
||||
|
|
@ -306,15 +287,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754077874345,
|
||||
"modifiedTime": 1754077892913,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!ChwwVqowFw8hJQwT.nCIGFPFOKzyznL0O"
|
||||
},
|
||||
|
|
@ -339,15 +312,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754077929911,
|
||||
"modifiedTime": 1754077955031,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!ChwwVqowFw8hJQwT.1fE6xo8yIOmZkGNE"
|
||||
},
|
||||
|
|
@ -402,15 +367,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754077960964,
|
||||
"modifiedTime": 1754142534263,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!ChwwVqowFw8hJQwT.g0h3Zo6xqgfSlyxi"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,17 +107,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784264,
|
||||
"modifiedTime": 1755385629418,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "OsLG2BjaEdTZUJU9",
|
||||
"sort": 900000,
|
||||
"ownership": {
|
||||
|
|
@ -241,15 +230,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754133447568,
|
||||
"modifiedTime": 1754133466350,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!OsLG2BjaEdTZUJU9.yvyAJTEyCDsDXgkb"
|
||||
},
|
||||
|
|
@ -327,15 +308,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754133468584,
|
||||
"modifiedTime": 1754133530157,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!OsLG2BjaEdTZUJU9.eW1Z3TTGlgvbgdCD"
|
||||
},
|
||||
|
|
@ -390,15 +363,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754133533329,
|
||||
"modifiedTime": 1754133579386,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!OsLG2BjaEdTZUJU9.gC4whvt2r9Tfso9Y"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784265,
|
||||
"modifiedTime": 1755385635754,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "PELRry1vqjBzSAlr",
|
||||
"sort": 1000000,
|
||||
"ownership": {
|
||||
|
|
@ -335,15 +324,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754133639898,
|
||||
"modifiedTime": 1754133720280,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!PELRry1vqjBzSAlr.s15sNyb3JYMzBLIU"
|
||||
},
|
||||
|
|
@ -423,15 +404,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754133803435,
|
||||
"modifiedTime": 1754133819473,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!PELRry1vqjBzSAlr.ecp9o8t1dQFXGsse.Q99saHj6NOY2PSXf"
|
||||
}
|
||||
|
|
@ -444,15 +417,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754133724799,
|
||||
"modifiedTime": 1754133803447,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!PELRry1vqjBzSAlr.ecp9o8t1dQFXGsse"
|
||||
},
|
||||
|
|
@ -477,15 +442,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754133825153,
|
||||
"modifiedTime": 1754133842162,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!PELRry1vqjBzSAlr.C74czwNeWF5vS1DZ"
|
||||
},
|
||||
|
|
@ -631,15 +588,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754135342381,
|
||||
"modifiedTime": 1754135347273,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!PELRry1vqjBzSAlr.gwSgBhkcekCGvXxz.pWDg0MADoohKu40O"
|
||||
}
|
||||
|
|
@ -652,15 +601,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.2.4",
|
||||
"createdTime": 1754133847132,
|
||||
"modifiedTime": 1763599235251,
|
||||
"lastModifiedBy": "Q4RzhhaPfvLUzzbw"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!PELRry1vqjBzSAlr.gwSgBhkcekCGvXxz"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -311,15 +311,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754134022685,
|
||||
"modifiedTime": 1760382854734,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!hxZ0sgoFJubh5aj6.feb6vTfDsi1yQLpn"
|
||||
},
|
||||
|
|
@ -391,15 +383,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754134042970,
|
||||
"modifiedTime": 1754134159994,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!hxZ0sgoFJubh5aj6.onaJxgnUtf0ZDyD4"
|
||||
},
|
||||
|
|
@ -505,15 +489,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754134565618,
|
||||
"modifiedTime": 1754134685887,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!hxZ0sgoFJubh5aj6.PVLjJaQLH3LK3svk"
|
||||
},
|
||||
|
|
@ -649,15 +625,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.2.4",
|
||||
"createdTime": 1754134694918,
|
||||
"modifiedTime": 1763599267846,
|
||||
"lastModifiedBy": "Q4RzhhaPfvLUzzbw"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!hxZ0sgoFJubh5aj6.48tIwFQr64IQ5LaY"
|
||||
},
|
||||
|
|
@ -735,15 +703,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754134976453,
|
||||
"modifiedTime": 1754135062809,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!hxZ0sgoFJubh5aj6.v74W0MUqVi9vPUEw"
|
||||
},
|
||||
|
|
@ -768,15 +728,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754135068919,
|
||||
"modifiedTime": 1754135926320,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!hxZ0sgoFJubh5aj6.RscRTl8U8u6WcwAB"
|
||||
}
|
||||
|
|
@ -788,16 +740,5 @@
|
|||
"99pQVoplilbkZnOk": 3
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753929378070,
|
||||
"modifiedTime": 1760382818455,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
},
|
||||
"_key": "!actors!hxZ0sgoFJubh5aj6"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -312,15 +312,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754135392829,
|
||||
"modifiedTime": 1760382917596,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!RXkZTwBRi4dJ3JE5.ct5vhSsNP25arggo"
|
||||
},
|
||||
|
|
@ -392,15 +384,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754135409651,
|
||||
"modifiedTime": 1754135466148,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!RXkZTwBRi4dJ3JE5.zypNlBVfuaHVw1M4"
|
||||
},
|
||||
|
|
@ -499,15 +483,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754135470237,
|
||||
"modifiedTime": 1754135546197,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!RXkZTwBRi4dJ3JE5.t8yOkGWmPgQ6EbIr"
|
||||
},
|
||||
|
|
@ -562,15 +538,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754135567933,
|
||||
"modifiedTime": 1754135643635,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!RXkZTwBRi4dJ3JE5.AP7W9ruUCdTHO69S"
|
||||
},
|
||||
|
|
@ -686,15 +654,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754135780863,
|
||||
"modifiedTime": 1754135799899,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!RXkZTwBRi4dJ3JE5.55P7ZijSbQeVHCw4.eZp1PSCHZzdb47oM"
|
||||
}
|
||||
|
|
@ -707,15 +667,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.2.4",
|
||||
"createdTime": 1754135646248,
|
||||
"modifiedTime": 1763599314892,
|
||||
"lastModifiedBy": "Q4RzhhaPfvLUzzbw"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!RXkZTwBRi4dJ3JE5.55P7ZijSbQeVHCw4"
|
||||
},
|
||||
|
|
@ -810,15 +762,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754135803929,
|
||||
"modifiedTime": 1760382961713,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!RXkZTwBRi4dJ3JE5.ReWtcLE5akrSauI1"
|
||||
},
|
||||
|
|
@ -896,15 +840,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754135825115,
|
||||
"modifiedTime": 1754135895530,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!RXkZTwBRi4dJ3JE5.tQRotPLi3eokgUdM"
|
||||
}
|
||||
|
|
@ -916,16 +852,5 @@
|
|||
"99pQVoplilbkZnOk": 3
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753929476879,
|
||||
"modifiedTime": 1755385652290,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_key": "!actors!RXkZTwBRi4dJ3JE5"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784268,
|
||||
"modifiedTime": 1755385128275,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "8VZIgU12cB3cvlyH",
|
||||
"sort": 800000,
|
||||
"ownership": {
|
||||
|
|
@ -254,15 +243,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754078333765,
|
||||
"modifiedTime": 1754078391092,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!8VZIgU12cB3cvlyH.oUuUwtHMJidzLN6q"
|
||||
},
|
||||
|
|
@ -390,15 +371,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754078482776,
|
||||
"modifiedTime": 1754078515954,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!8VZIgU12cB3cvlyH.6ZrDjgnWufJohkp1.vb1sZCOLwDNLsr3j"
|
||||
}
|
||||
|
|
@ -411,15 +384,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754078394872,
|
||||
"modifiedTime": 1754142550948,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!8VZIgU12cB3cvlyH.6ZrDjgnWufJohkp1"
|
||||
},
|
||||
|
|
@ -468,15 +433,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.4",
|
||||
"createdTime": 1754078527859,
|
||||
"modifiedTime": 1755265167372,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!8VZIgU12cB3cvlyH.w1oHm0NoEavQgUzl"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784268,
|
||||
"modifiedTime": 1755385135374,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "YnObCleGjPT7yqEc",
|
||||
"sort": 2300000,
|
||||
"ownership": {
|
||||
|
|
@ -335,15 +324,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754078623104,
|
||||
"modifiedTime": 1754142564481,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!YnObCleGjPT7yqEc.ro8AtBdgklyyuydK"
|
||||
},
|
||||
|
|
@ -442,15 +423,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754078720546,
|
||||
"modifiedTime": 1754142579703,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!YnObCleGjPT7yqEc.kKBbEAffbHxmHo15"
|
||||
},
|
||||
|
|
@ -545,15 +518,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754078789986,
|
||||
"modifiedTime": 1760380456232,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!YnObCleGjPT7yqEc.B0EniYxyLvjJSqYb"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,17 +146,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1754090770908,
|
||||
"modifiedTime": 1755385144098,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
"ei8OkswTzyDp4IGC": 3,
|
||||
|
|
@ -310,14 +299,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr",
|
||||
"modifiedTime": 1755265232810
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!OMQ0v6PE8s1mSU0K.wdNrstuoh4MFShYG.odAyKY0BSAkcO3Dd"
|
||||
}
|
||||
|
|
@ -330,13 +312,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": null
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!OMQ0v6PE8s1mSU0K.wdNrstuoh4MFShYG"
|
||||
},
|
||||
|
|
@ -473,13 +449,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": null
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!OMQ0v6PE8s1mSU0K.MabIQE1Kjn60j08J.m6qqQZxukDPVcGdQ"
|
||||
}
|
||||
|
|
@ -492,14 +462,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8",
|
||||
"modifiedTime": 1754142603575
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!OMQ0v6PE8s1mSU0K.MabIQE1Kjn60j08J"
|
||||
},
|
||||
|
|
@ -629,13 +592,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": null
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!OMQ0v6PE8s1mSU0K.NEOQ0E9AGSSIDm4v.Sd34xywRqiF5w9sX"
|
||||
}
|
||||
|
|
@ -648,14 +605,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8",
|
||||
"modifiedTime": 1754142613580
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!OMQ0v6PE8s1mSU0K.NEOQ0E9AGSSIDm4v"
|
||||
},
|
||||
|
|
@ -734,14 +684,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8",
|
||||
"modifiedTime": 1754142622906
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!OMQ0v6PE8s1mSU0K.jY0ynjYvbS6E3NgJ"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784269,
|
||||
"modifiedTime": 1755384391635,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "IIWV4ysJPFPnTP7W",
|
||||
"sort": 2800000,
|
||||
"ownership": {
|
||||
|
|
@ -255,15 +244,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754044549944,
|
||||
"modifiedTime": 1760032064905,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!IIWV4ysJPFPnTP7W.9RduwBLYcBaiouYk"
|
||||
},
|
||||
|
|
@ -320,15 +301,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754046389966,
|
||||
"modifiedTime": 1754046415469,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!IIWV4ysJPFPnTP7W.gxYV6iTMM1S9Vv5v.aATxfjeOzUYtKuU6"
|
||||
}
|
||||
|
|
@ -341,15 +314,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754046355588,
|
||||
"modifiedTime": 1754046387649,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!IIWV4ysJPFPnTP7W.gxYV6iTMM1S9Vv5v"
|
||||
},
|
||||
|
|
@ -405,15 +370,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754046426987,
|
||||
"modifiedTime": 1754143988475,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!IIWV4ysJPFPnTP7W.BTlMLjG65KQs0Jk2"
|
||||
}
|
||||
|
|
@ -446,15 +403,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754045860587,
|
||||
"modifiedTime": 1754046339705,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.effects!IIWV4ysJPFPnTP7W.dQgcYTz5vmV25Y6G"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,17 +113,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784270,
|
||||
"modifiedTime": 1755384399993,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "4PfLnaCrOcMdb4dK",
|
||||
"sort": 800000,
|
||||
"ownership": {
|
||||
|
|
@ -248,15 +237,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754046555525,
|
||||
"modifiedTime": 1754046632476,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!4PfLnaCrOcMdb4dK.v3AcLcWrXy2rtW4Z"
|
||||
},
|
||||
|
|
@ -336,15 +317,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754046640194,
|
||||
"modifiedTime": 1754144002636,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!4PfLnaCrOcMdb4dK.fsaBlCjTdq1jM23G"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,17 +107,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784271,
|
||||
"modifiedTime": 1755385156358,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "5s8wSvpyC5rxY5aD",
|
||||
"sort": 400000,
|
||||
"ownership": {
|
||||
|
|
@ -241,15 +230,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754079263888,
|
||||
"modifiedTime": 1754079289528,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!5s8wSvpyC5rxY5aD.OB05ek8TQpauEjCQ"
|
||||
},
|
||||
|
|
@ -306,15 +287,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754079291678,
|
||||
"modifiedTime": 1760380537296,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!5s8wSvpyC5rxY5aD.FMgB28X1LammRInU"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,17 +120,6 @@
|
|||
}
|
||||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.347",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.5",
|
||||
"createdTime": 1753922784272,
|
||||
"modifiedTime": 1755384410923,
|
||||
"lastModifiedBy": "VZIeX2YDvX338Zvr"
|
||||
},
|
||||
"_id": "fmfntuJ8mHRCAktP",
|
||||
"sort": 4200000,
|
||||
"ownership": {
|
||||
|
|
@ -336,15 +325,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754046803174,
|
||||
"modifiedTime": 1754144015161,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!fmfntuJ8mHRCAktP.4ct6XEXiTBFQKvXW"
|
||||
},
|
||||
|
|
@ -473,15 +454,7 @@
|
|||
"sort": 0,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754144091498,
|
||||
"modifiedTime": 1754144099382,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items.effects!fmfntuJ8mHRCAktP.lANiDkxxth2sGacT.oILkLJlGNZl7KI1R"
|
||||
}
|
||||
|
|
@ -494,15 +467,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1754046868084,
|
||||
"modifiedTime": 1754144091512,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!fmfntuJ8mHRCAktP.lANiDkxxth2sGacT"
|
||||
},
|
||||
|
|
@ -598,15 +563,7 @@
|
|||
},
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.350",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.1.2",
|
||||
"createdTime": 1754047039345,
|
||||
"modifiedTime": 1760032201996,
|
||||
"lastModifiedBy": "fBcTgyTzoARBvohY"
|
||||
"compendiumSource": null
|
||||
},
|
||||
"_key": "!actors.items!fmfntuJ8mHRCAktP.TmDpAY5t3PjhEv9K"
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue