Merge remote-tracking branch 'origin/hotfix' into joaquinpereyra98/issue774

This commit is contained in:
Joaquin Pereyra 2025-08-10 17:12:56 -03:00
commit db8516b757
76 changed files with 812 additions and 606 deletions

3
.gitignore vendored
View file

@ -2,5 +2,6 @@
node_modules
/packs
Build
build
foundry
styles/daggerheart.css
styles/daggerheart.css

View file

@ -14,7 +14,7 @@ This is the community repo for the Foundry VTT system _Foundryborne_ Daggerheart
## User Install
1. **recommended** Searching for _Daggerheart_ or _Foundryborne_ in the System Instalaltion dialgoe of the FoundryVTT admin settings.
1. **Recommended** Searching for _Daggerheart_ or _Foundryborne_ in the System Installation dialogue of the FoundryVTT admin settings.
2. Pasting `https://raw.githubusercontent.com/Foundryborne/daggerheart/refs/heads/main/system.json` into the Install System dialog on the Setup menu of the application.
3. Downloading one of the .zip archives from the Releases page and extracting it into your foundry Data folder, under Data/systems/daggerheart.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View file

@ -272,7 +272,8 @@
"combatStarted": "Active",
"giveSpotlight": "Give The Spotlight",
"requestingSpotlight": "Requesting The Spotlight",
"requestSpotlight": "Request The Spotlight"
"requestSpotlight": "Request The Spotlight",
"openCountdowns": "Countdowns"
},
"ContextMenu": {
"disableEffect": "Disable Effect",
@ -823,8 +824,8 @@
"name": "Restrained",
"description": "When an effect makes a creature Restrained, it means they cannot move until this condition is cleared.\nThey can still take actions from their current position."
},
"unconcious": {
"name": "Unconcious",
"unconscious": {
"name": "Unconscious",
"description": "Your character cant move or act while unconscious, they cant be targeted by an attack."
},
"vulnerable": {
@ -1763,6 +1764,7 @@
"weapon": "Range Increase: Weapon"
},
"RefreshType": {
"scene": "Scene",
"session": "Session",
"shortrest": "Short Rest",
"longrest": "Long Rest"
@ -1898,6 +1900,7 @@
"difficulty": "Difficulty",
"downtime": "Downtime",
"dropActorsHere": "Drop Actors here",
"dropFeaturesHere": "Drop Features here",
"duality": "Duality",
"dualityRoll": "Duality Roll",
"enabled": "Enabled",

View file

@ -359,6 +359,11 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
context.community = { ...this.setup.community, compendium: 'communities' };
context.class = { ...this.setup.class, compendium: 'classes' };
context.subclass = { ...this.setup.subclass, compendium: 'subclasses' };
const allDomainData = CONFIG.DH.DOMAIN.allDomains();
context.classDomains = context.class.uuid
? context.class.system.domains.map(key => game.i18n.localize(allDomainData[key].label))
: [];
context.domainCards = Object.keys(this.setup.domainCards).reduce((acc, x) => {
acc[x] = { ...this.setup.domainCards[x], compendium: 'domains' };
return acc;

View file

@ -51,7 +51,7 @@ export default class DhCharacterLevelUp extends LevelUpBase {
.filter(exp => exp.data.length > 0)
.flatMap(exp =>
exp.data.map(data => {
const experience = Object.keys(this.actor.system.experiences).find(x => x === data);
const experience = Object.keys(this.actor.system.experiences)[data];
return this.actor.system.experiences[experience].name;
})
);

View file

@ -39,7 +39,7 @@ export default class DhCompanionLevelUp extends BaseLevelUp {
.filter(exp => exp.data.length > 0)
.flatMap(exp =>
exp.data.map(data => {
const experience = Object.keys(this.actor.system.experiences).find(x => x === data);
const experience = Object.keys(this.actor.system.experiences)[data];
return this.actor.system.experiences[experience].name;
})
);

View file

@ -98,11 +98,17 @@ export default class DHAdversarySettings 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 (item.type === 'feature') {
await this.actor.createEmbeddedDocuments('Item', [item]);
if (item?.type === 'feature') {
if (data.fromInternal && item.parent?.uuid === this.actor.uuid) {
return;
}
const itemData = item.toObject();
delete itemData._id;
await this.actor.createEmbeddedDocuments('Item', [itemData]);
}
}
}

View file

@ -129,6 +129,7 @@ export default function DHApplicationMixin(Base) {
const docs = [];
for (const docData of this.relatedDocs) {
if (!docData) continue;
const doc = await foundry.utils.fromUuid(docData.uuid);
docs.push(doc);
}
@ -419,7 +420,7 @@ export default function DHApplicationMixin(Base) {
: this.document.system.actions?.get(actionId);
if (!doc) return;
const description = doc.system?.description ?? doc.description;
const description = game.i18n.localize(doc.system?.description ?? doc.description);
const isAction = !!actionId;
descriptionElement.innerHTML = await foundry.applications.ux.TextEditor.implementation.enrichHTML(
description,

View file

@ -181,12 +181,18 @@ export default class DHBaseItemSheet extends DHApplicationMixin(ItemSheetV2) {
static async #deleteFeature(_, element) {
const target = element.closest('[data-item-uuid]');
const feature = await getDocFromElement(target);
if (!feature) return ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.featureIsMissing'));
await this.document.update({
'system.features': this.document.system.features
.filter(x => target.dataset.type !== x.type || x.item.uuid !== feature.uuid)
.map(x => ({ ...x, item: x.item.uuid }))
});
if (!feature) {
await this.document.update({
'system.features': this.document.system.features
.filter(x => x.item)
.map(x => ({ ...x, item: x.item.uuid }))
});
} else
await this.document.update({
'system.features': this.document.system.features
.filter(x => target.dataset.type !== x.type || x.item.uuid !== feature.uuid)
.map(x => ({ ...x, item: x.item.uuid }))
});
}
/**
@ -259,21 +265,45 @@ export default class DHBaseItemSheet extends DHApplicationMixin(ItemSheetV2) {
if (data.fromInternal) return;
const target = event.target.closest('fieldset.drop-section');
const item = await fromUuid(data.uuid);
let item = await fromUuid(data.uuid);
if (item?.type === 'feature') {
const cls = foundry.documents.Item.implementation;
if (this.document.parent?.type === 'character') {
const itemData = item.toObject();
item = await cls.create(
{
...itemData,
system: {
...itemData.system,
originItemType: this.document.type,
originId: this.document.id,
identifier: this.document.system.isMulticlass ? 'multiclass' : null
}
},
{ parent: this.document.parent }
);
}
if (target.dataset.type) {
await this.document.update({
'system.features': [...this.document.system.features, { type: target.dataset.type, item }].map(
x => ({
...x,
item: x.item?.uuid
})
)
});
await this.document.update(
{
'system.features': [...this.document.system.features, { type: target.dataset.type, item }].map(
x => ({
...x,
item: x.item?.uuid
})
)
},
{ parent: this.document.parent?.type === 'character' ? this.document.parent : undefined }
);
} else {
await this.document.update({
'system.features': [...this.document.system.features, item].map(x => x.uuid)
});
await this.document.update(
{
'system.features': [...this.document.system.features, item].map(x => x.uuid)
},
{ parent: this.document.parent?.type === 'character' ? this.document.parent : undefined }
);
}
}
}

View file

@ -183,11 +183,11 @@ export const conditions = {
icon: 'icons/magic/control/debuff-chains-shackle-movement-red.webp',
description: 'DAGGERHEART.CONFIG.Condition.restrained.description'
},
unconcious: {
id: 'unconcious',
name: 'DAGGERHEART.CONFIG.Condition.unconcious.name',
unconscious: {
id: 'unconscious',
name: 'DAGGERHEART.CONFIG.Condition.unconscious.name',
icon: 'icons/magic/control/sleep-bubble-purple.webp',
description: 'DAGGERHEART.CONFIG.Condition.unconcious.description'
description: 'DAGGERHEART.CONFIG.Condition.unconscious.description'
},
dead: {
id: 'dead',
@ -533,6 +533,10 @@ export const getDiceSoNicePresets = async (hopeFaces, fearFaces, advantageFaces
};
export const refreshTypes = {
scene: {
id: 'session',
label: 'DAGGERHEART.GENERAL.RefreshType.scene'
},
session: {
id: 'session',
label: 'DAGGERHEART.GENERAL.RefreshType.session'

View file

@ -780,7 +780,15 @@ export const weaponFeatures = {
mode: 2,
value: '1'
}
]
],
system: {
rangeDependence: {
enabled: true,
range: 'melee',
target: 'hostile',
type: 'withinRange'
}
}
}
]
},
@ -1079,7 +1087,15 @@ export const weaponFeatures = {
mode: 2,
value: 'ITEM.@system.tier + 1'
}
]
],
system: {
rangeDependence: {
enabled: true,
range: 'melee',
target: 'hostile',
type: 'withinRange'
}
}
}
]
},
@ -1208,7 +1224,7 @@ export const weaponFeatures = {
img: 'icons/skills/melee/strike-sword-slashing-red.webp',
changes: [
{
key: 'system.bonuses.roll.primaryWeapon.attack',
key: 'system.bonuses.roll.primaryWeapon.bonus',
mode: 2,
value: 1
}

View file

@ -208,7 +208,14 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
}
async consume(config, successCost = false) {
const usefulResources = foundry.utils.deepClone(this.actor.system.resources);
const usefulResources = {
...foundry.utils.deepClone(this.actor.system.resources),
fear: {
value: game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Resources.Fear),
max: game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).maxFear,
reversed: false
}
};
for (var cost of config.costs) {
if (cost.keyIsID) {

View file

@ -32,7 +32,7 @@ export default class BeastformEffect extends BaseEffect {
if (this.parent.parent?.type === 'character') {
this.parent.parent.system.primaryWeapon?.update?.({ 'system.equipped': false });
this.parent.parent.system.secondayWeapon?.update?.({ 'system.equipped': false });
this.parent.parent.system.secondaryWeapon?.update?.({ 'system.equipped': false });
}
}

View file

@ -351,6 +351,17 @@ export default class DhCharacter extends BaseDataActor {
return [...classDomains, ...multiclassDomains];
}
get domainData() {
const allDomainData = CONFIG.DH.DOMAIN.allDomains();
return this.domains.map(key => {
const domain = allDomainData[key];
return {
...domain,
label: game.i18n.localize(domain.label)
};
});
}
get domainCards() {
const domainCards = this.parent.items.filter(x => x.type === 'domainCard');
const loadout = domainCards.filter(x => !x.system.inVault);

View file

@ -60,7 +60,7 @@ export default class DHArmor extends AttachableItem {
const allowed = await super._preUpdate(changes, options, user);
if (allowed === false) return false;
if (changes.system.armorFeatures) {
if (changes.system?.armorFeatures) {
const removed = this.armorFeatures.filter(x => !changes.system.armorFeatures.includes(x));
const added = changes.system.armorFeatures.filter(x => !this.armorFeatures.includes(x));

View file

@ -33,6 +33,11 @@ export default class DHDomainCard extends BaseDataItem {
};
}
get domainLabel() {
const allDomainData = CONFIG.DH.DOMAIN.allDomains();
return game.i18n.localize(allDomainData[this.domain].label);
}
/* -------------------------------------------- */
/**@override */
@ -71,7 +76,7 @@ export default class DHDomainCard extends BaseDataItem {
_getTags() {
const tags = [
game.i18n.localize(`DAGGERHEART.CONFIG.DomainCardTypes.${this.type}`),
game.i18n.localize(`DAGGERHEART.GENERAL.Domain.${this.domain}.label`),
this.domainLabel,
`${game.i18n.localize('DAGGERHEART.ITEMS.DomainCard.recallCost')}: ${this.recallCost}`
];
@ -85,7 +90,7 @@ export default class DHDomainCard extends BaseDataItem {
_getLabels() {
const labels = [
game.i18n.localize(`DAGGERHEART.CONFIG.DomainCardTypes.${this.type}`),
game.i18n.localize(`DAGGERHEART.GENERAL.Domain.${this.domain}.label`),
this.domainLabel,
{
value: `${this.recallCost}`, //converts the number to a string
icons: ['fa-bolt']

View file

@ -21,7 +21,7 @@ export default class DHSubclass extends BaseDataItem {
integer: false,
nullable: true,
initial: null,
label: "DAGGERHEART.ITEMS.Subclass.spellcastingTrait"
label: 'DAGGERHEART.ITEMS.Subclass.spellcastingTrait'
}),
features: new ItemLinkFields(),
featureState: new fields.NumberField({ required: true, initial: 1, min: 1 }),
@ -50,7 +50,8 @@ export default class DHSubclass extends BaseDataItem {
async _preCreate(data, options, user) {
if (this.actor?.type === 'character') {
const dataUuid = data.uuid ?? data._stats?.compendiumSource ?? `Item.${data._id}`;
const dataUuid =
(data.uuid ?? data.folder) ? `Compendium.daggerheart.subclasses.Item.${data._id}` : `Item.${data._id}`;
if (this.actor.system.class.subclass) {
if (this.actor.system.multiclass.subclass) {
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.subclassesAlreadyPresent'));

View file

@ -159,25 +159,28 @@ export default class DamageRoll extends DHRoll {
if (config.data?.parent) {
if (config.data.parent.appliedEffects) {
// Bardic Rally
mods.rally = {
label: 'DAGGERHEART.CLASS.Feature.rallyDice',
values: config.data?.parent?.appliedEffects.reduce((a, c) => {
const rallyChoices = config.data?.parent?.appliedEffects.reduce((a, c) => {
const change = c.changes.find(ch => ch.key === 'system.bonuses.rally');
if (change) a.push({ value: c.id, label: change.value });
return a;
}, []),
value: null,
beforeCrit: true,
callback: part => {
const rallyFaces = config.modifiers.rally.values.find(
r => r.value === config.modifiers.rally.value
)?.label;
part.roll.terms.push(
new foundry.dice.terms.OperatorTerm({ operator: '+' }),
...this.parse(`1${rallyFaces}`)
);
}
};
}, [])
if(rallyChoices.length) {
mods.rally = {
label: 'DAGGERHEART.CLASS.Feature.rallyDice',
values: rallyChoices,
value: null,
beforeCrit: true,
callback: part => {
const rallyFaces = config.modifiers.rally.values.find(
r => r.value === config.modifiers.rally.value
)?.label;
part.roll.terms.push(
new foundry.dice.terms.OperatorTerm({ operator: '+' }),
...this.parse(`1${rallyFaces}`)
);
}
};
}
}
const item = config.data.parent.items?.get(config.source.item);

View file

@ -238,7 +238,7 @@ export const registerRollDiceHooks = () => {
if (updates.length) {
const target = actor.system.partner ?? actor;
if (!['dead', 'unconcious'].some(x => actor.statuses.has(x))) {
if (!['dead', 'unconscious'].some(x => actor.statuses.has(x))) {
setTimeout(() => {
target.modifyResource(updates);
}, 50);

View file

@ -84,6 +84,8 @@ export default class DhpActor extends Actor {
await this.update({ 'system.levelData.level.changed': Math.min(newLevel, maxLevel) });
} else {
const levelupAuto = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Automation).levelupAuto;
const usedLevel = Math.max(newLevel, 1);
if (newLevel < 1) {
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.tooLowLevel'));
@ -95,79 +97,90 @@ export default class DhpActor extends Actor {
return acc;
}, {});
const features = [];
const domainCards = [];
const experiences = [];
const subclassFeatureState = { class: null, multiclass: null };
let multiclass = null;
Object.keys(this.system.levelData.levelups)
.filter(x => x > usedLevel)
.forEach(levelKey => {
const level = this.system.levelData.levelups[levelKey];
const achievementCards = level.achievements.domainCards.map(x => x.itemUuid);
const advancementCards = level.selections.filter(x => x.type === 'domainCard').map(x => x.itemUuid);
domainCards.push(...achievementCards, ...advancementCards);
experiences.push(...Object.keys(level.achievements.experiences));
features.push(...level.selections.flatMap(x => x.features));
if (levelupAuto) {
const features = [];
const domainCards = [];
const experiences = [];
const subclassFeatureState = { class: null, multiclass: null };
let multiclass = null;
Object.keys(this.system.levelData.levelups)
.filter(x => x > usedLevel)
.forEach(levelKey => {
const level = this.system.levelData.levelups[levelKey];
const achievementCards = level.achievements.domainCards.map(x => x.itemUuid);
const advancementCards = level.selections
.filter(x => x.type === 'domainCard')
.map(x => x.itemUuid);
domainCards.push(...achievementCards, ...advancementCards);
experiences.push(...Object.keys(level.achievements.experiences));
features.push(...level.selections.flatMap(x => x.features));
const subclass = level.selections.find(x => x.type === 'subclass');
if (subclass) {
const path = subclass.secondaryData.isMulticlass === 'true' ? 'multiclass' : 'class';
const subclassState = Number(subclass.secondaryData.featureState) - 1;
subclassFeatureState[path] = subclassFeatureState[path]
? Math.min(subclassState, subclassFeatureState[path])
: subclassState;
}
const subclass = level.selections.find(x => x.type === 'subclass');
if (subclass) {
const path = subclass.secondaryData.isMulticlass === 'true' ? 'multiclass' : 'class';
const subclassState = Number(subclass.secondaryData.featureState) - 1;
subclassFeatureState[path] = subclassFeatureState[path]
? Math.min(subclassState, subclassFeatureState[path])
: subclassState;
}
multiclass = level.selections.find(x => x.type === 'multiclass');
});
multiclass = level.selections.find(x => x.type === 'multiclass');
});
for (let feature of features) {
if (feature.onPartner && !this.system.partner) continue;
for (let feature of features) {
if (feature.onPartner && !this.system.partner) continue;
const document = feature.onPartner ? this.system.partner : this;
document.items.get(feature.id)?.delete();
}
if (experiences.length > 0) {
const getUpdate = () => ({
'system.experiences': experiences.reduce((acc, key) => {
acc[`-=${key}`] = null;
return acc;
}, {})
});
this.update(getUpdate());
if (this.system.companion) {
this.system.companion.update(getUpdate());
const document = feature.onPartner ? this.system.partner : this;
document.items.get(feature.id)?.delete();
}
}
if (subclassFeatureState.class) {
this.system.class.subclass.update({ 'system.featureState': subclassFeatureState.class });
}
if (subclassFeatureState.multiclass) {
this.system.multiclass.subclass.update({ 'system.featureState': subclassFeatureState.multiclass });
}
if (multiclass) {
const multiclassSubclass = this.items.find(x => x.type === 'subclass' && x.system.isMulticlass);
const multiclassItem = this.items.find(x => x.uuid === multiclass.itemUuid);
multiclassSubclass.delete();
multiclassItem.delete();
this.update({
'system.multiclass': {
value: null,
subclass: null
if (experiences.length > 0) {
const getUpdate = () => ({
'system.experiences': experiences.reduce((acc, key) => {
acc[`-=${key}`] = null;
return acc;
}, {})
});
this.update(getUpdate());
if (this.system.companion) {
this.system.companion.update(getUpdate());
}
});
}
}
for (let domainCard of domainCards) {
const itemCard = this.items.find(x => x.uuid === domainCard);
itemCard.delete();
if (subclassFeatureState.class) {
this.system.class.subclass.update({ 'system.featureState': subclassFeatureState.class });
}
if (subclassFeatureState.multiclass) {
this.system.multiclass.subclass.update({ 'system.featureState': subclassFeatureState.multiclass });
}
if (multiclass) {
const multiclassItem = this.items.find(x => x.uuid === multiclass.itemUuid);
const multiclassFeatures = this.items.filter(
x => x.system.originItemType === 'class' && x.system.identifier === 'multiclass'
);
const subclassFeatures = this.items.filter(
x => x.system.originItemType === 'subclass' && x.system.identifier === 'multiclass'
);
this.deleteEmbeddedDocuments(
'Item',
[multiclassItem, ...multiclassFeatures, ...subclassFeatures].map(x => x.id)
);
this.update({
'system.multiclass': {
value: null,
subclass: null
}
});
}
for (let domainCard of domainCards) {
const itemCard = this.items.find(x => x.uuid === domainCard);
itemCard.delete();
}
}
await this.update({
@ -315,6 +328,7 @@ export default class DhpActor extends Actor {
...multiclassData,
system: {
...multiclassData.system,
features: multiclassData.system.features.filter(x => x.type !== 'hope'),
domains: [multiclass.secondaryData.domain],
isMulticlass: true
}

View file

@ -69,6 +69,11 @@ export default class DhpChatMessage extends foundry.documents.ChatMessage {
break;
}
}
if(!game.user.isGM && !this.isAuthor && !this.speakerActor?.isOwner) {
const buttons = html.querySelectorAll(".ability-card-footer > .ability-use-button");
buttons.forEach(b => b.remove());
}
}
addChatListeners(html) {

View file

@ -60,7 +60,7 @@ export default class RegisterHandlebarsHelpers {
static rollParsed(value, actor, item, numerical) {
const isNumerical = typeof numerical === 'boolean' ? numerical : false;
const result = itemAbleRollParse(value, actor.getRollData(), item);
const result = itemAbleRollParse(value, actor?.getRollData() ?? {}, item);
return isNumerical ? (!result ? 0 : Number(result)) : result;
}
@ -69,7 +69,7 @@ export default class RegisterHandlebarsHelpers {
}
static empty(object) {
if(!(typeof object === 'object')) return true;
if (!(typeof object === 'object')) return true;
return Object.keys(object).length === 0;
}
}

View file

@ -85,7 +85,12 @@ export const chunkify = (array, chunkSize, mappingFunc) => {
export const tagifyElement = (element, baseOptions, onChange, tagifyOptions = {}) => {
const { maxTags } = tagifyOptions;
const options = typeof baseOptions === 'object' ? Object.values(baseOptions) : baseOptions;
const options = Array.isArray(baseOptions)
? baseOptions
: Object.keys(baseOptions).map(optionKey => ({
...baseOptions[optionKey],
id: optionKey
}));
const tagifyElement = new Tagify(element, {
tagTextProp: 'name',

View file

@ -9,7 +9,7 @@
"resource": {
"type": "diceValue",
"value": 0,
"max": "2",
"max": "@system.traits.strength.value",
"icon": "",
"recovery": "session"
},
@ -28,12 +28,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1754352649696,
"modifiedTime": 1754352712334,
"lastModifiedBy": "Q9NoTaEarn3VMS6Z"
"modifiedTime": 1754845640002,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_key": "!items!Xd7RYhfTxIj9aWI2"
}

View file

@ -59,13 +59,13 @@
{
"key": "system.bonuses.damage.physical.dice",
"mode": 2,
"value": "@system.tierd6",
"value": "@tierd6",
"priority": null
},
{
"key": "system.bonuses.damage.magical.dice",
"mode": 2,
"value": "@system.tierd6",
"value": "@tierd6",
"priority": null
}
],

View file

@ -16,7 +16,7 @@
{
"value": "reliable",
"effectIds": [
"HrbJ0bI7lMAYUCux"
"nRNnU57i7RMJoklC"
],
"actionIds": []
}
@ -109,14 +109,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "HrbJ0bI7lMAYUCux",
"_id": "nRNnU57i7RMJoklC",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753835307838,
"modifiedTime": 1753835307838,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754815224718,
"modifiedTime": 1754815224718,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!ijodu5yNBoMxpkHV.HrbJ0bI7lMAYUCux"
"_key": "!items.effects!ijodu5yNBoMxpkHV.nRNnU57i7RMJoklC"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753835285790,
"modifiedTime": 1753835317605,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754815224721,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!ijodu5yNBoMxpkHV"
}

View file

@ -2,7 +2,7 @@
"folder": "TyqMEXhSkjOUq5SA",
"name": "Advanced Arcane-Frame Wheelchair",
"type": "weapon",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/ArcaneWheelchair.webp",
"system": {
"description": "",
"actions": {},
@ -15,7 +15,7 @@
{
"value": "reliable",
"effectIds": [
"G561ymlNGmaFAYFB"
"VnV5X9MBMabhz47b"
],
"actionIds": []
}
@ -108,14 +108,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "G561ymlNGmaFAYFB",
"_id": "VnV5X9MBMabhz47b",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -131,12 +138,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"lastModifiedBy": null
"systemVersion": "1.0.0",
"createdTime": 1754815300372,
"modifiedTime": 1754815300372,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!la3sAWgnvadc4NvP.G561ymlNGmaFAYFB"
"_key": "!items.effects!la3sAWgnvadc4NvP.VnV5X9MBMabhz47b"
}
],
"ownership": {
@ -148,12 +157,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753836715885,
"modifiedTime": 1753836789197,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754845968271,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_id": "la3sAWgnvadc4NvP",
"sort": 0,

View file

@ -16,7 +16,7 @@
{
"value": "reliable",
"effectIds": [
"fRPKHzbKRz4yTHAF"
"wu2AmDvgeWI3hmRQ"
],
"actionIds": []
}
@ -109,14 +109,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "fRPKHzbKRz4yTHAF",
"_id": "wu2AmDvgeWI3hmRQ",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753831629563,
"modifiedTime": 1753831629563,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814950116,
"modifiedTime": 1754814950116,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!WtQAGz0TUgz8Xg70.fRPKHzbKRz4yTHAF"
"_key": "!items.effects!WtQAGz0TUgz8Xg70.wu2AmDvgeWI3hmRQ"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753831599435,
"modifiedTime": 1753831629573,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814950120,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!WtQAGz0TUgz8Xg70"
}

View file

@ -2,7 +2,7 @@
"folder": "TyqMEXhSkjOUq5SA",
"name": "Advanced Heavy-Frame Wheelchair",
"type": "weapon",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/HeavyWheelchair.webp",
"system": {
"description": "",
"actions": {},
@ -148,12 +148,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836675558,
"modifiedTime": 1753836795905,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754845996869,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_id": "eT2Qwb0RdrLX2hH1",
"sort": 0,

View file

@ -2,7 +2,7 @@
"folder": "TyqMEXhSkjOUq5SA",
"name": "Advanced Light-Frame Wheelchair",
"type": "weapon",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/LightWheelchair.webp",
"system": {
"description": "",
"actions": {
@ -141,12 +141,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836614032,
"modifiedTime": 1753836802197,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754846020904,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_id": "BuMfupnCzHbziQ8o",
"sort": 0,

View file

@ -16,7 +16,7 @@
{
"value": "paired",
"effectIds": [
"gJ7Ey9CfPZqYgxEO"
"MYgB3v3oQ5lIr3VE"
],
"actionIds": []
}
@ -114,9 +114,16 @@
"value": "ITEM.@system.tier + 1"
}
],
"_id": "gJ7Ey9CfPZqYgxEO",
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
}
},
"_id": "MYgB3v3oQ5lIr3VE",
"type": "base",
"system": {},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753794991410,
"modifiedTime": 1753794991410,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814673988,
"modifiedTime": 1754814673988,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!0thN0BpN05KT8Avx.gJ7Ey9CfPZqYgxEO"
"_key": "!items.effects!0thN0BpN05KT8Avx.MYgB3v3oQ5lIr3VE"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753794938643,
"modifiedTime": 1753794991413,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814673991,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!0thN0BpN05KT8Avx"
}

View file

@ -3,7 +3,7 @@
"name": "Arcane-Frame Wheelchair",
"type": "weapon",
"_id": "XRChepscgr75Uug7",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/ArcaneWheelchair.webp",
"system": {
"description": "",
"actions": {},
@ -16,7 +16,7 @@
{
"value": "reliable",
"effectIds": [
"G561ymlNGmaFAYFB"
"dXHsy9qr5FWZqsVq"
],
"actionIds": []
}
@ -109,14 +109,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "G561ymlNGmaFAYFB",
"_id": "dXHsy9qr5FWZqsVq",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836707582,
"modifiedTime": 1753836707582,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754815278217,
"modifiedTime": 1754815278217,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!XRChepscgr75Uug7.G561ymlNGmaFAYFB"
"_key": "!items.effects!XRChepscgr75Uug7.dXHsy9qr5FWZqsVq"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753836689082,
"modifiedTime": 1753836707594,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754845945327,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_key": "!items!XRChepscgr75Uug7"
}

View file

@ -16,7 +16,7 @@
{
"value": "reliable",
"effectIds": [
"GNwIa1EAaa0T0RZi"
"mqcpj2cFAprf2AmY"
],
"actionIds": []
}
@ -109,14 +109,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "GNwIa1EAaa0T0RZi",
"_id": "mqcpj2cFAprf2AmY",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753827762112,
"modifiedTime": 1753827762112,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814769818,
"modifiedTime": 1754814769818,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!1cwWNt4sqlgA8gCT.GNwIa1EAaa0T0RZi"
"_key": "!items.effects!1cwWNt4sqlgA8gCT.mqcpj2cFAprf2AmY"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753827734892,
"modifiedTime": 1753827762118,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814769821,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!1cwWNt4sqlgA8gCT"
}

View file

@ -3,7 +3,7 @@
"name": "Heavy-Frame Wheelchair",
"type": "weapon",
"_id": "XjPQjhRCH08VUIbr",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/HeavyWheelchair.webp",
"system": {
"description": "",
"actions": {},
@ -152,12 +152,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836652314,
"modifiedTime": 1753836667128,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754845988869,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_key": "!items!XjPQjhRCH08VUIbr"
}

View file

@ -2,7 +2,7 @@
"folder": "fFuMdvpD1F3UshmM",
"name": "Improved Arcane-Frame Wheelchair",
"type": "weapon",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/ArcaneWheelchair.webp",
"system": {
"description": "",
"actions": {},
@ -15,7 +15,7 @@
{
"value": "reliable",
"effectIds": [
"G561ymlNGmaFAYFB"
"1f6fFhOLwZrmA6e5"
],
"actionIds": []
}
@ -108,14 +108,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "G561ymlNGmaFAYFB",
"_id": "1f6fFhOLwZrmA6e5",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -131,12 +138,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"lastModifiedBy": null
"systemVersion": "1.0.0",
"createdTime": 1754815290648,
"modifiedTime": 1754815290648,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!N9P695V5KKlJbAY5.G561ymlNGmaFAYFB"
"_key": "!items.effects!N9P695V5KKlJbAY5.1f6fFhOLwZrmA6e5"
}
],
"ownership": {
@ -148,12 +157,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753836714712,
"modifiedTime": 1753836748404,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754845960700,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_id": "N9P695V5KKlJbAY5",
"sort": 0,

View file

@ -16,7 +16,7 @@
{
"value": "reliable",
"effectIds": [
"xU0DD5ydbwmXMKtF"
"228lcQpohdJ3Bbga"
],
"actionIds": []
}
@ -109,14 +109,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "xU0DD5ydbwmXMKtF",
"_id": "228lcQpohdJ3Bbga",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753829126416,
"modifiedTime": 1753829126416,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814935810,
"modifiedTime": 1754814935810,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!OcKeLJxvmdT81VBc.xU0DD5ydbwmXMKtF"
"_key": "!items.effects!OcKeLJxvmdT81VBc.228lcQpohdJ3Bbga"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753829098118,
"modifiedTime": 1753829367508,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814935815,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!OcKeLJxvmdT81VBc"
}

View file

@ -2,7 +2,7 @@
"folder": "fFuMdvpD1F3UshmM",
"name": "Improved Heavy-Frame Wheelchair",
"type": "weapon",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/HeavyWheelchair.webp",
"system": {
"description": "",
"actions": {},
@ -148,12 +148,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836674233,
"modifiedTime": 1753836769685,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754845992757,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_id": "L5KeCtrs768PmYWW",
"sort": 0,

View file

@ -2,7 +2,7 @@
"folder": "fFuMdvpD1F3UshmM",
"name": "Improved Light-Frame Wheelchair",
"type": "weapon",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/LightWheelchair.webp",
"system": {
"description": "",
"actions": {
@ -141,12 +141,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836612291,
"modifiedTime": 1753836778961,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754846018260,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_id": "ZJsetdHKV77ygtCE",
"sort": 0,

View file

@ -16,7 +16,7 @@
{
"value": "paired",
"effectIds": [
"cSmiIOXeuw0xpjel"
"9iHHwd9BxkBsV9lY"
],
"actionIds": []
}
@ -114,9 +114,16 @@
"value": "ITEM.@system.tier + 1"
}
],
"_id": "cSmiIOXeuw0xpjel",
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
}
},
"_id": "9iHHwd9BxkBsV9lY",
"type": "base",
"system": {},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753794021004,
"modifiedTime": 1753794021004,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814695260,
"modifiedTime": 1754814695260,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!rSyBNRwemBVuTo3H.cSmiIOXeuw0xpjel"
"_key": "!items.effects!rSyBNRwemBVuTo3H.9iHHwd9BxkBsV9lY"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753744566951,
"modifiedTime": 1753794021010,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814695265,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!rSyBNRwemBVuTo3H"
}

View file

@ -16,7 +16,7 @@
{
"value": "paired",
"effectIds": [
"rOjtLkrnI9EZHJm8"
"JHIUGyZH5q83ODvd"
],
"actionIds": []
}
@ -114,9 +114,16 @@
"value": "ITEM.@system.tier + 1"
}
],
"_id": "rOjtLkrnI9EZHJm8",
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
}
},
"_id": "JHIUGyZH5q83ODvd",
"type": "base",
"system": {},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753794340876,
"modifiedTime": 1753794340876,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814703717,
"modifiedTime": 1754814703717,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!nMuF8ZDZ2aXZVTg6.rOjtLkrnI9EZHJm8"
"_key": "!items.effects!nMuF8ZDZ2aXZVTg6.JHIUGyZH5q83ODvd"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753794291887,
"modifiedTime": 1753794340879,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814703719,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!nMuF8ZDZ2aXZVTg6"
}

View file

@ -16,7 +16,7 @@
{
"value": "reliable",
"effectIds": [
"FlmOrbhYbieIAVJL"
"LvxPAfrKuRfgubGV"
],
"actionIds": []
}
@ -109,14 +109,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "FlmOrbhYbieIAVJL",
"_id": "LvxPAfrKuRfgubGV",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753831441325,
"modifiedTime": 1753831441325,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754815023490,
"modifiedTime": 1754815023490,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!q382JqMkqLaaFLIr.FlmOrbhYbieIAVJL"
"_key": "!items.effects!q382JqMkqLaaFLIr.LvxPAfrKuRfgubGV"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753831418620,
"modifiedTime": 1753831441332,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754815023493,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!q382JqMkqLaaFLIr"
}

View file

@ -7,63 +7,22 @@
"system": {
"description": "",
"actions": {
"fRKcEeShWSLkoExh": {
"B0uT1D1WRidiHxyh": {
"type": "effect",
"actionType": "action",
"chatDisplay": true,
"name": "Double Up",
"description": "When you make an attack with your primary weapon, you can deal damage to another target within Melee range.",
"img": "icons/skills/melee/strike-slashes-orange.webp",
"_id": "fRKcEeShWSLkoExh",
"_id": "B0uT1D1WRidiHxyh",
"effects": [],
"systemPath": "actions",
"cost": [],
"uses": {
"value": null,
"max": null,
"recovery": null
},
"target": {
"type": "any",
"amount": null
}
},
"lVsEmJwjYgpYL9l4": {
"type": "effect",
"actionType": "action",
"chatDisplay": true,
"name": "Double Up",
"description": "When you make an attack with your primary weapon, you can deal damage to another target within Melee range.",
"img": "icons/skills/melee/strike-slashes-orange.webp",
"_id": "lVsEmJwjYgpYL9l4",
"effects": [],
"systemPath": "actions",
"cost": [],
"uses": {
"value": null,
"max": null,
"recovery": null
},
"target": {
"type": "any",
"amount": null
}
},
"2ndqofzTHsEUMxsm": {
"type": "effect",
"actionType": "action",
"chatDisplay": true,
"name": "Double Up",
"description": "When you make an attack with your primary weapon, you can deal damage to another target within Melee range.",
"img": "icons/skills/melee/strike-slashes-orange.webp",
"_id": "2ndqofzTHsEUMxsm",
"effects": [],
"systemPath": "actions",
"cost": [],
"uses": {
"value": null,
"max": null,
"recovery": null
"recovery": null,
"consumeOnSuccess": false
},
"target": {
"type": "any",
@ -81,7 +40,7 @@
"value": "doubledUp",
"effectIds": [],
"actionIds": [
"2ndqofzTHsEUMxsm"
"B0uT1D1WRidiHxyh"
]
}
],
@ -177,12 +136,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753797258168,
"modifiedTime": 1753798882899,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814600761,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!SFqganS8Du4aEKjQ"
}

View file

@ -2,7 +2,7 @@
"folder": "beilKE5ZPAihKg3O",
"name": "Legendary Arcane-Frame Wheelchair",
"type": "weapon",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/ArcaneWheelchair.webp",
"system": {
"description": "",
"actions": {},
@ -15,7 +15,7 @@
{
"value": "reliable",
"effectIds": [
"G561ymlNGmaFAYFB"
"TvsoAiqHCwgtYat1"
],
"actionIds": []
}
@ -108,14 +108,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "G561ymlNGmaFAYFB",
"_id": "TvsoAiqHCwgtYat1",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -131,12 +138,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"lastModifiedBy": null
"systemVersion": "1.0.0",
"createdTime": 1754815308723,
"modifiedTime": 1754815308723,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!gA2tiET9VHGhwMoO.G561ymlNGmaFAYFB"
"_key": "!items.effects!gA2tiET9VHGhwMoO.TvsoAiqHCwgtYat1"
}
],
"ownership": {
@ -148,12 +157,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753836717240,
"modifiedTime": 1753836812453,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754845972571,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_id": "gA2tiET9VHGhwMoO",
"sort": 0,

View file

@ -16,7 +16,7 @@
{
"value": "reliable",
"effectIds": [
"lmUzKw6J6RW3krRT"
"ujb6VAqjyXmfnnjy"
],
"actionIds": []
}
@ -109,14 +109,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "lmUzKw6J6RW3krRT",
"_id": "ujb6VAqjyXmfnnjy",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753834461846,
"modifiedTime": 1753834461846,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814961439,
"modifiedTime": 1754814961439,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!y3hfTPfZhMognyaJ.lmUzKw6J6RW3krRT"
"_key": "!items.effects!y3hfTPfZhMognyaJ.ujb6VAqjyXmfnnjy"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753834430378,
"modifiedTime": 1753834465538,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814961454,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!y3hfTPfZhMognyaJ"
}

View file

@ -2,7 +2,7 @@
"folder": "beilKE5ZPAihKg3O",
"name": "Legendary Heavy-Frame Wheelchair",
"type": "weapon",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/HeavyWheelchair.webp",
"system": {
"description": "",
"actions": {},
@ -148,12 +148,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836676831,
"modifiedTime": 1753836820180,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754846000470,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_id": "S6nB0CNlzdU05o5U",
"sort": 0,

View file

@ -2,7 +2,7 @@
"folder": "beilKE5ZPAihKg3O",
"name": "Legendary Light-Frame Wheelchair",
"type": "weapon",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/LightWheelchair.webp",
"system": {
"description": "",
"actions": {
@ -141,12 +141,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836615437,
"modifiedTime": 1753836826572,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754846023338,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_id": "Xt8tVSn5Fu6ly6LF",
"sort": 0,

View file

@ -16,7 +16,7 @@
{
"value": "paired",
"effectIds": [
"DgZQSBJx9JmoOngB"
"VFt61c2Apfbli2dG"
],
"actionIds": []
}
@ -114,9 +114,16 @@
"value": "ITEM.@system.tier + 1"
}
],
"_id": "DgZQSBJx9JmoOngB",
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
}
},
"_id": "VFt61c2Apfbli2dG",
"type": "base",
"system": {},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753796957432,
"modifiedTime": 1753796957432,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814544486,
"modifiedTime": 1754814544486,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!dEumq3BIZBk5xYTk.DgZQSBJx9JmoOngB"
"_key": "!items.effects!dEumq3BIZBk5xYTk.VFt61c2Apfbli2dG"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753796913551,
"modifiedTime": 1753796957439,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814544510,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!dEumq3BIZBk5xYTk"
}

View file

@ -16,7 +16,7 @@
{
"value": "paired",
"effectIds": [
"Wjl3MEwNdQPeY63u"
"rnVm0jSEtdWhKGCh"
],
"actionIds": []
}
@ -114,9 +114,16 @@
"value": "ITEM.@system.tier + 1"
}
],
"_id": "Wjl3MEwNdQPeY63u",
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
}
},
"_id": "rnVm0jSEtdWhKGCh",
"type": "base",
"system": {},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753797088930,
"modifiedTime": 1753797088930,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814562988,
"modifiedTime": 1754814562988,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!Px3Rh3kIvAqyISxJ.Wjl3MEwNdQPeY63u"
"_key": "!items.effects!Px3Rh3kIvAqyISxJ.rnVm0jSEtdWhKGCh"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753797057472,
"modifiedTime": 1753797088933,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814562995,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!Px3Rh3kIvAqyISxJ"
}

View file

@ -3,7 +3,7 @@
"name": "Light-Frame Wheelchair",
"type": "weapon",
"_id": "iaGnlUkShBgdeMo0",
"img": "icons/svg/item-bag.svg",
"img": "systems/daggerheart/assets/icons/documents/items/LightWheelchair.webp",
"system": {
"description": "",
"actions": {
@ -143,12 +143,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836579296,
"modifiedTime": 1753836587147,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754846015528,
"lastModifiedBy": "H02dtt2xvVJvYESk"
},
"_key": "!items!iaGnlUkShBgdeMo0"
}

View file

@ -7,21 +7,22 @@
"system": {
"description": "",
"actions": {
"KGJJgz0SMdY0f0em": {
"dNN2KOfUxGzQ2yjY": {
"type": "effect",
"actionType": "action",
"chatDisplay": true,
"name": "Lock On",
"description": "On a successful attack, your next attack against the same target with your primary weapon automatically succeeds.",
"img": "icons/skills/targeting/crosshair-arrowhead-blue.webp",
"_id": "KGJJgz0SMdY0f0em",
"_id": "dNN2KOfUxGzQ2yjY",
"effects": [],
"systemPath": "actions",
"cost": [],
"uses": {
"value": null,
"max": null,
"recovery": null
"recovery": null,
"consumeOnSuccess": false
},
"target": {
"type": "any",
@ -36,10 +37,10 @@
"burden": "oneHanded",
"weaponFeatures": [
{
"value": "lockedon",
"value": "lockedOn",
"effectIds": [],
"actionIds": [
"KGJJgz0SMdY0f0em"
"dNN2KOfUxGzQ2yjY"
]
}
],
@ -135,12 +136,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753797317938,
"modifiedTime": 1753797376548,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814518028,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!SxcblanBvqaest3A"
}

View file

@ -16,7 +16,7 @@
{
"value": "paired",
"effectIds": [
"VII5oRJrQTsSir0E"
"5RpOUFs0kDhzwltM"
],
"actionIds": []
}
@ -114,9 +114,16 @@
"value": "ITEM.@system.tier + 1"
}
],
"_id": "VII5oRJrQTsSir0E",
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
}
},
"_id": "5RpOUFs0kDhzwltM",
"type": "base",
"system": {},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753793980974,
"modifiedTime": 1753793980974,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814729443,
"modifiedTime": 1754814729443,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!cjGZpXCoshEqi1FI.VII5oRJrQTsSir0E"
"_key": "!items.effects!cjGZpXCoshEqi1FI.5RpOUFs0kDhzwltM"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753741549716,
"modifiedTime": 1753793980983,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814729447,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!cjGZpXCoshEqi1FI"
}

View file

@ -16,7 +16,7 @@
{
"value": "paired",
"effectIds": [
"2OLsxbZJqMgk680J"
"wK6ccFAirp9HYK5Q"
],
"actionIds": []
}
@ -114,9 +114,16 @@
"value": "ITEM.@system.tier + 1"
}
],
"_id": "2OLsxbZJqMgk680J",
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
}
},
"_id": "wK6ccFAirp9HYK5Q",
"type": "base",
"system": {},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753794165509,
"modifiedTime": 1753794165509,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814738851,
"modifiedTime": 1754814738851,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!wKklDxs5nkzILNp4.2OLsxbZJqMgk680J"
"_key": "!items.effects!wKklDxs5nkzILNp4.wK6ccFAirp9HYK5Q"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753744141625,
"modifiedTime": 1753794165511,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814738854,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!wKklDxs5nkzILNp4"
}

View file

@ -16,7 +16,7 @@
{
"value": "doubleDuty",
"effectIds": [
"qo4VPSV0VZha1ya2"
"d3TJtlpoHBCztbom"
],
"actionIds": []
}
@ -119,9 +119,16 @@
"value": "1"
}
],
"_id": "qo4VPSV0VZha1ya2",
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
}
},
"_id": "d3TJtlpoHBCztbom",
"type": "base",
"system": {},
"disabled": false,
"duration": {
"startTime": null,
@ -137,14 +144,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753794551639,
"modifiedTime": 1753794551639,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814481208,
"modifiedTime": 1754814481208,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!vzyzFwLUniWZV1rt.qo4VPSV0VZha1ya2"
"_key": "!items.effects!vzyzFwLUniWZV1rt.d3TJtlpoHBCztbom"
}
],
"sort": 0,
@ -157,12 +164,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753794535926,
"modifiedTime": 1753794665373,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814481212,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!vzyzFwLUniWZV1rt"
}

View file

@ -16,7 +16,7 @@
{
"value": "reliable",
"effectIds": [
"YA5tbB6XBISWsf0p"
"G9mMGxBSexwjWTYV"
],
"actionIds": []
}
@ -109,14 +109,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "YA5tbB6XBISWsf0p",
"_id": "G9mMGxBSexwjWTYV",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753836322206,
"modifiedTime": 1753836322206,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754815251133,
"modifiedTime": 1754815251133,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!I1nDGpulg29GpWOW.YA5tbB6XBISWsf0p"
"_key": "!items.effects!I1nDGpulg29GpWOW.G9mMGxBSexwjWTYV"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753836302436,
"modifiedTime": 1753836334493,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754815251135,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!I1nDGpulg29GpWOW"
}

View file

@ -16,7 +16,7 @@
{
"value": "reliable",
"effectIds": [
"Gt0tHtJDQwdSActw"
"cOYeI9TxHXpDwszu"
],
"actionIds": []
}
@ -109,14 +109,21 @@
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
"key": "system.bonuses.roll.primaryWeapon.bonus",
"mode": 2,
"value": "1"
}
],
"_id": "Gt0tHtJDQwdSActw",
"_id": "cOYeI9TxHXpDwszu",
"type": "base",
"system": {},
"system": {
"rangeDependence": {
"enabled": false,
"type": "withinRange",
"target": "hostile",
"range": "melee"
}
},
"disabled": false,
"duration": {
"startTime": null,
@ -132,14 +139,14 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1753829771677,
"modifiedTime": 1753829771677,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"systemVersion": "1.0.0",
"createdTime": 1754814992368,
"modifiedTime": 1754814992368,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items.effects!z6yEdFYQJ5IzgTX3.Gt0tHtJDQwdSActw"
"_key": "!items.effects!z6yEdFYQJ5IzgTX3.cOYeI9TxHXpDwszu"
}
],
"sort": 0,
@ -152,12 +159,12 @@
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.0",
"createdTime": 1753829740082,
"modifiedTime": 1753829771680,
"lastModifiedBy": "FecEtPuoQh6MpjQ0"
"modifiedTime": 1754814992370,
"lastModifiedBy": "MQSznptE5yLT7kj8"
},
"_key": "!items!z6yEdFYQJ5IzgTX3"
}

View file

@ -132,7 +132,7 @@
"image": {},
"text": {
"format": 1,
"content": "<blockquote><p>This product includes materials from the Daggerheart System Reference Document 1.0, © Critical Role, LLC. under the terms of the Darrington Press Community Gaming (DPCGL) License. More information can be found at <a href=\"https://www.daggerheart.com/\" title=\"Daggerheart Official Website\">https://www.daggerheart.com</a>. There are no previous modifications by others.</p><p></p></blockquote><h1>The Foundryborne Team</h1><p></p><p>The Foundryborne Team consists of:</p><p></p><ul><li><p><strong>@harryfuralle</strong></p></li><li><p><strong>@cptn_cosmo</strong></p></li><li><p><strong>@molilo</strong></p></li><li><p><strong>@joaquinp98</strong></p></li><li><p><strong>@dapoulp</strong></p></li><li><p>@ikraik</p></li><li><p>@irktheimp</p></li><li><p>@jacobwojo</p></li><li><p>@vyrth</p></li><li><p>@.ontaro</p></li><li><p>@saatsin</p></li><li><p>@david.xyz</p></li><li><p>@<span style=\"color:oklab(0.988044 0.0000450313 0.0000197887);font-family:'gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:oklab(0.262384 0.00252247 -0.00889932);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">lazjen</span></p></li></ul><p></p><p>With Art from:</p><p></p><ul><li><p>UsernameIsInUse</p></li></ul><p></p><p>And special thanks to our hard working community testers:<br /></p><ul><li><p><span style=\"color:oklab(0.988044 0.0000450313 0.0000197887);font-family:'gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:oklab(0.262384 0.00252247 -0.00889932);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">@lazjen</span></p></li></ul><p></p><p>We would also like to thank the FoundryVTT team for their support in publishing this system.</p><p>And, of course, special thanks to the teams at Critical Role and Darrington Press for making such a wonderful game and updating the license to allow a FoundryVTT version of the system.</p><p></p><h1>The Foundryborne Community</h1><p></p><p>Without our amazing community this project would not have been possible.</p><p>You kept us going with both direct contributions and just endless support!</p><p>We thank you with all our hearts.</p><p><a href=\"https://foundryborne.online/\" title=\"Foundryborne official website\">Come join us!</a></p>"
"content": "<blockquote><p>This product includes materials from the Daggerheart System Reference Document 1.0, © Critical Role, LLC. under the terms of the Darrington Press Community Gaming (DPCGL) License. More information can be found at <a href=\"https://www.daggerheart.com/\" title=\"Daggerheart Official Website\">https://www.daggerheart.com</a>. There are no previous modifications by others.</p><p></p></blockquote><h1>The Foundryborne Team</h1><p></p><p>The Foundryborne Team consists of:</p><p></p><ul><li><p>@harryfuralle</p></li><li><p>@cptn_cosmo</p></li><li><p>@molilo</p></li><li><p>@joaquinp98</p></li><li><p>@dapoulp</p></li><li><p>@ikraik</p></li><li><p>@irktheimp</p></li><li><p>@jacobwojo</p></li><li><p>@vyrth</p></li><li><p>@.ontaro</p></li><li><p>@saatsin</p></li><li><p>@david.xyz</p></li><li><p>@lazjen</p></li></ul><p></p><p>With Art from:</p><p></p><ul><li><p>@molilo (Foundryborne User Interface &amp; Domain Card Placeholder Artwork)</p></li><li><p>@UsernameIsInUse (Foundryborne Logo, Website Design, Duality Roll Icon</p></li><li><p>@CyrensMaps (Combat Wheelchair Icons)</p></li></ul><p></p><p>And special thanks to our hard working community testers:<br /></p><ul><li><p>@lazjen</p></li></ul><p></p><p>We would also like to thank the FoundryVTT team for their support in publishing this system, as well as providing countless Icons to be used in many places.</p><p>And, of course, special thanks to the teams at Critical Role and Darrington Press for making such a wonderful game and updating the license to allow a FoundryVTT version of the system.</p><p></p><h1>The Foundryborne Community</h1><p></p><p>Without our amazing community this project would not have been possible.</p><p>You kept us going with both direct contributions and just endless support!</p><p>We thank you with all our hearts.</p><p><a href=\"https://foundryborne.online/\" title=\"Foundryborne official website\">Come join us!</a></p>"
},
"video": {
"controls": true,
@ -153,8 +153,8 @@
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"createdTime": 1754225939902,
"modifiedTime": 1754668980876,
"lastModifiedBy": "Cf0YKwnZ1OHBZWl8"
"modifiedTime": 1754847043391,
"lastModifiedBy": "9GFCfEY8m5Co2mHo"
},
"_key": "!journal.pages!g7NhKvwltwafmMyR.dP6xSKEld4TSqHhK"
}

View file

@ -14,8 +14,14 @@
margin-bottom: 12px;
}
.feature-list {
.feature-list,
.features-dragger {
display: flex;
width: 100%;
font-family: @font-body;
}
.feature-list {
flex-direction: column;
gap: 10px;
@ -45,5 +51,16 @@
}
}
}
.features-dragger {
align-items: center;
justify-content: center;
box-sizing: border-box;
height: 40px;
margin-top: 10px;
border: 1px dashed light-dark(@dark-blue-50, @beige-50);
border-radius: 3px;
color: light-dark(@dark-blue-50, @beige-50);
}
}
}

View file

@ -10,7 +10,7 @@
}
.character-row .domains-section img {
filter: invert(88%) sepia(98%) saturate(1784%) hue-rotate(311deg) brightness(104%) contrast(91%);
filter: @golden-filter;
}
}
}, {
@ -20,7 +20,7 @@
}
.character-row .domains-section img {
filter: invert(87%) sepia(15%) saturate(343%) hue-rotate(333deg) brightness(110%) contrast(87%);
filter: brightness(0) saturate(100%);
}
}
});

View file

@ -2,43 +2,14 @@
.encounter-controls.combat {
justify-content: space-between;
.encounter-fear-controls {
.encounter-title {
text-align: left;
}
.inner-controls {
display: flex;
align-items: center;
gap: 8px;
.encounter-fear-dice-container {
display: flex;
gap: 2px;
.encounter-control-fear-container {
display: flex;
position: relative;
align-items: center;
justify-content: center;
color: black;
.dice {
height: 22px;
width: 22px;
}
.encounter-control-fear {
position: absolute;
font-size: 16px;
}
.encounter-control-counter {
position: absolute;
right: -10px;
color: var(--color-text-secondary);
}
}
}
.encounter-countdowns {
color: var(--content-link-icon-color);
}
gap: 4px;
}
.control-buttons {

View file

@ -108,7 +108,7 @@
box-shadow: unset;
border-color: transparent;
header,
.controls,
#resource-fear .controls,
.window-resize-handle {
opacity: 0;
}

View file

@ -44,6 +44,10 @@
"url": "https://github.com/joaquinpereyra98",
"email": "joaquinpereyra98@gmail.com",
"discord": "joaquinp98"
},
{
"name": "chrisryan10",
"discord": "lazjen"
}
],
"esmodules": ["build/daggerheart.js"],
@ -262,6 +266,7 @@
"abilityUse": {}
}
},
"background": "systems/daggerheart/assets/logos/FoundrybornBackgroundLogo.png",
"primaryTokenAttribute": "resources.hitPoints",
"secondaryTokenAttribute": "resources.stress",
"url": "https://your/hosted/system/repo/",

View file

@ -10,9 +10,7 @@
{{#each domainCards as |domainCard id|}}
<div class="selections-container domain-card" data-card="{{id}}">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" domainCard }}
{{#each @root.class.system.domains }}
<div>{{localize (concat "DAGGERHEART.GENERAL.Domain." this ".label")}}</div>
{{/each}}
{{#each @root.classDomains }}<div>{{this}}</div>{{/each}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
</div>
{{/each}}

View file

@ -24,7 +24,7 @@
<input type="text" value="{{extraFormula}}" name="roll.{{ @index }}.extraFormula" placeholder="Situational Bonus">
</div>
{{/each}}
{{#if @root.modifiers}}
{{#unless (empty @root.modifiers)}}
<fieldset class="modifier-container two-columns">
<legend>{{localize "DAGGERHEART.GENERAL.Modifier.plural"}}</legend>
{{#each @root.modifiers}}
@ -39,7 +39,7 @@
{{/if}}
{{/each}}
</fieldset>
{{/if}}
{{/unless}}
<div class="damage-section-controls">
{{#if directDamage}}
<select class="roll-mode-select" name="selectedRollMode">

View file

@ -5,19 +5,19 @@
>
<fieldset class="one-column">
<legend>{{localize "DAGGERHEART.GENERAL.basics"}}</legend>
{{formGroup systemFields.attack.fields.img value=document.system.attack.img label="DAGGERHEART.GENERAL.imagePath" name="system.attack.img" localize=true}}
{{formGroup systemFields.attack.fields.name value=document.system.attack.name label="DAGGERHEART.ACTIONS.Settings.attackName" name="system.attack.name" localize=true}}
{{formGroup systemFields.attack.fields.img value=document._source.system.attack.img label="DAGGERHEART.GENERAL.imagePath" name="system.attack.img" localize=true}}
{{formGroup systemFields.attack.fields.name value=document._source.system.attack.name label="DAGGERHEART.ACTIONS.Settings.attackName" name="system.attack.name" localize=true}}
</fieldset>
<fieldset class="flex">
<legend>{{localize "DAGGERHEART.GENERAL.attack"}}</legend>
{{formField systemFields.attack.fields.roll.fields.bonus value=document.system.attack.roll.bonus label="DAGGERHEART.ACTIONS.Settings.attackBonus" name="system.attack.roll.bonus" localize=true}}
{{formField systemFields.attack.fields.range value=document.system.attack.range label="DAGGERHEART.GENERAL.range" name="system.attack.range" localize=true}}
{{formField systemFields.attack.fields.roll.fields.bonus value=document._source.system.attack.roll.bonus label="DAGGERHEART.ACTIONS.Settings.attackBonus" name="system.attack.roll.bonus" localize=true}}
{{formField systemFields.attack.fields.range value=document._source.system.attack.range label="DAGGERHEART.GENERAL.range" name="system.attack.range" localize=true}}
{{#if systemFields.attack.fields.target.fields}}
{{ formField systemFields.attack.fields.target.fields.type value=document.system.attack.target.type label="DAGGERHEART.GENERAL.Target.single" name="system.attack.target.type" localize=true }}
{{#if (and document.system.attack.target.type (not (eq document.system.attack.target.type 'self')))}}
{{ formField systemFields.attack.fields.target.fields.amount value=document.system.attack.target.amount label="DAGGERHEART.GENERAL.amount" name="system.attack.target.amount" localize=true}}
{{ formField systemFields.attack.fields.target.fields.type value=document._source.system.attack.target.type label="DAGGERHEART.GENERAL.Target.single" name="system.attack.target.type" localize=true }}
{{#if (and document._source.system.attack.target.type (not (eq document._source.system.attack.target.type 'self')))}}
{{ formField systemFields.attack.fields.target.fields.amount value=document._source.system.attack.target.amount label="DAGGERHEART.GENERAL.amount" name="system.attack.target.amount" localize=true}}
{{/if}}
{{/if}}
</fieldset>
{{> 'systems/daggerheart/templates/actionTypes/damage.hbs' fields=systemFields.attack.fields.damage.fields.parts.element.fields source=document.system.attack.damage path="system.attack." horde=(eq document.system.type 'horde')}}
{{> 'systems/daggerheart/templates/actionTypes/damage.hbs' fields=systemFields.attack.fields.damage.fields.parts.element.fields source=document.system.attack.damage path="system.attack." horde=(eq document._source.system.type 'horde')}}
</section>

View file

@ -6,33 +6,33 @@
<fieldset class="one-column">
<legend>{{localize 'DAGGERHEART.GENERAL.basics'}}</legend>
<div class="nest-inputs">
{{formGroup systemFields.tier value=document.system.tier localize=true}}
{{formGroup systemFields.type value=document.system.type localize=true}}
{{#if (eq document.system.type 'horde')}}
{{formGroup systemFields.hordeHp value=document.system.hordeHp label=(localize "DAGGERHEART.ACTORS.Adversary.horderHp")}}
{{formGroup systemFields.tier value=document._source.system.tier localize=true}}
{{formGroup systemFields.type value=document._source.system.type localize=true}}
{{#if (eq document._source.system.type 'horde')}}
{{formGroup systemFields.hordeHp value=document._source.system.hordeHp label=(localize "DAGGERHEART.ACTORS.Adversary.horderHp")}}
{{/if}}
{{formGroup systemFields.difficulty value=document.system.difficulty localize=true}}
{{formGroup systemFields.difficulty value=document._source.system.difficulty localize=true}}
</div>
{{formField systemFields.description value=document.system.description label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.description.label")}}
{{formField systemFields.motivesAndTactics value=document.system.motivesAndTactics label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.motivesAndTactics.label")}}
{{formField systemFields.description value=document._source.system.description label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.description.label")}}
{{formField systemFields.motivesAndTactics value=document._source.system.motivesAndTactics label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.motivesAndTactics.label")}}
</fieldset>
<div class="fieldsets-section">
<fieldset class="flex">
<legend>{{localize "DAGGERHEART.GENERAL.HitPoints.plural"}}</legend>
{{formGroup systemFields.resources.fields.hitPoints.fields.value value=document.system.resources.hitPoints.value label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.resources.hitPoints.value.label")}}
{{formGroup systemFields.resources.fields.hitPoints.fields.max value=document.system.resources.hitPoints.max}}
{{formGroup systemFields.resources.fields.hitPoints.fields.value value=document._source.system.resources.hitPoints.value label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.resources.hitPoints.value.label")}}
{{formGroup systemFields.resources.fields.hitPoints.fields.max value=document._source.system.resources.hitPoints.max}}
</fieldset>
<fieldset class="flex">
<legend>{{localize "DAGGERHEART.GENERAL.stress"}}</legend>
{{formGroup systemFields.resources.fields.stress.fields.value value=document.system.resources.stress.value label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.resources.stress.value.label")}}
{{formGroup systemFields.resources.fields.stress.fields.max value=document.system.resources.stress.max}}
{{formGroup systemFields.resources.fields.stress.fields.value value=document._source.system.resources.stress.value label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.resources.stress.value.label")}}
{{formGroup systemFields.resources.fields.stress.fields.max value=document._source.system.resources.stress.max}}
</fieldset>
</div>
<fieldset class="flex">
<legend>{{localize "DAGGERHEART.GENERAL.DamageThresholds.title"}}</legend>
{{formGroup systemFields.damageThresholds.fields.major value=document.system.damageThresholds.major label=(localize "DAGGERHEART.GENERAL.DamageThresholds.majorThreshold")}}
{{formGroup systemFields.damageThresholds.fields.severe value=document.system.damageThresholds.severe label=(localize "DAGGERHEART.GENERAL.DamageThresholds.severeThreshold")}}
{{formGroup systemFields.damageThresholds.fields.major value=document._source.system.damageThresholds.major label=(localize "DAGGERHEART.GENERAL.DamageThresholds.majorThreshold")}}
{{formGroup systemFields.damageThresholds.fields.severe value=document._source.system.damageThresholds.severe label=(localize "DAGGERHEART.GENERAL.DamageThresholds.severeThreshold")}}
</fieldset>
</section>

View file

@ -10,7 +10,7 @@
<fieldset>
<legend>{{localize tabs.experiences.label}}</legend>
<ul class="experience-list">
{{#each document.system.experiences as |experience key|}}
{{#each document._source.system.experiences as |experience key|}}
<li class="experience-item">
<div class="experience-inner-item">
<input class="name" type="text" name="system.experiences.{{key}}.name" value="{{experience.name}}" />

View file

@ -10,7 +10,7 @@
<legend>{{localize tabs.features.label}}</legend>
<ul class="feature-list">
{{#each document.system.features as |feature|}}
<li class="feature-item" id="{{feature.id}}">
<li class="feature-item" id="{{feature.id}}" draggable="true">
<img src="{{feature.img}}" alt="">
<div class="label">
<span>{{feature.name}}</span>
@ -22,5 +22,8 @@
</li>
{{/each}}
</ul>
<div class="features-dragger">
{{localize "DAGGERHEART.GENERAL.dropFeaturesHere"}}
</div>
</fieldset>
</section>

View file

@ -5,16 +5,16 @@
>
<fieldset class="one-column">
<legend>{{localize "DAGGERHEART.GENERAL.basics"}}</legend>
{{formGroup systemFields.attack.fields.img value=document.system.attack.img label="DAGGERHEART.GENERAL.imagePath" name="system.attack.img" localize=true}}
{{formGroup systemFields.attack.fields.name value=document.system.attack.name label="DAGGERHEART.ACTIONS.Settings.attackName" name="system.attack.name" localize=true}}
{{formGroup systemFields.attack.fields.img value=document._source.system.attack.img label="DAGGERHEART.GENERAL.imagePath" name="system.attack.img" localize=true}}
{{formGroup systemFields.attack.fields.name value=document._source.system.attack.name label="DAGGERHEART.ACTIONS.Settings.attackName" name="system.attack.name" localize=true}}
</fieldset>
<fieldset class="flex">
<legend>{{localize "DAGGERHEART.GENERAL.attack"}}</legend>
{{formField systemFields.attack.fields.range value=document.system.attack.range label="DAGGERHEART.GENERAL.range" name="system.attack.range" localize=true}}
{{formField systemFields.attack.fields.range value=document._source.system.attack.range label="DAGGERHEART.GENERAL.range" name="system.attack.range" localize=true}}
{{#if systemFields.attack.fields.target.fields}}
{{ formField systemFields.attack.fields.target.fields.type value=document.system.attack.target.type label="DAGGERHEART.GENERAL.Target.single" name="system.attack.target.type" localize=true}}
{{#if (and document.system.attack.target.type (not (eq document.system.attack.target.type 'self')))}}
{{ formField systemFields.attack.fields.target.fields.amount value=document.system.attack.target.amount label="DAGGERHEART.GENERAL.amount" name="system.attack.target.amount" localize=true}}
{{ formField systemFields.attack.fields.target.fields.type value=document._source.system.attack.target.type label="DAGGERHEART.GENERAL.Target.single" name="system.attack.target.type" localize=true}}
{{#if (and document._source.system.attack.target.type (not (eq document._source.system.attack.target.type 'self')))}}
{{ formField systemFields.attack.fields.target.fields.amount value=document._source.system.attack.target.amount label="DAGGERHEART.GENERAL.amount" name="system.attack.target.amount" localize=true}}
{{/if}}
{{/if}}
</fieldset>

View file

@ -6,18 +6,18 @@
<fieldset class="one-column">
<legend>{{localize 'DAGGERHEART.GENERAL.basics'}}</legend>
<div class="nest-inputs">
{{formGroup systemFields.evasion value=document.system.evasion localize=true}}
{{formGroup systemFields.resources.fields.stress.fields.value value=document.system.resources.stress.value label='DAGGERHEART.ACTORS.Companion.FIELDS.resources.stress.currentStress.label' localize=true}}
{{formGroup systemFields.resources.fields.stress.fields.max value=document.system.resources.stress.max label='DAGGERHEART.ACTORS.Companion.FIELDS.resources.stress.maxStress.label' localize=true}}
{{formGroup systemFields.evasion value=document._source.system.evasion localize=true}}
{{formGroup systemFields.resources.fields.stress.fields.value value=document._source.system.resources.stress.value label='DAGGERHEART.ACTORS.Companion.FIELDS.resources.stress.currentStress.label' localize=true}}
{{formGroup systemFields.resources.fields.stress.fields.max value=document._source.system.resources.stress.max label='DAGGERHEART.ACTORS.Companion.FIELDS.resources.stress.maxStress.label' localize=true}}
</div>
<div class="form-group">
<div class="form-fields">
<label>{{localize "DAGGERHEART.ACTORS.Companion.FIELDS.partner.label"}}</label>
<select class="partner-value" name="system.partner">
{{selectOptions playerCharacters selected=document.system.partner.uuid labelAttr="name" valueAttr="key" blank=""}}
{{selectOptions playerCharacters selected=document._source.system.partner.uuid labelAttr="name" valueAttr="key" blank=""}}
</select>
</div>
</div>
</fieldset>
<button type="button" data-action="levelUp" {{#if (not document.system.levelData.canLevelUp)}}disabled{{/if}}>{{localize "DAGGERHEART.GENERAL.levelUp"}}</button>
<button type="button" data-action="levelUp" {{#if (not document._source.system.levelData.canLevelUp)}}disabled{{/if}}>{{localize "DAGGERHEART.GENERAL.levelUp"}}</button>
</section>

View file

@ -6,11 +6,11 @@
<fieldset class="one-column">
<legend>{{localize 'DAGGERHEART.GENERAL.basics'}}</legend>
<div class="nest-inputs">
{{formGroup systemFields.tier value=document.system.tier localize=true}}
{{formGroup systemFields.type value=document.system.type localize=true}}
{{formGroup systemFields.difficulty value=document.system.difficulty localize=true}}
{{formGroup systemFields.tier value=document._source.system.tier localize=true}}
{{formGroup systemFields.type value=document._source.system.type localize=true}}
{{formGroup systemFields.difficulty value=document._source.system.difficulty localize=true}}
</div>
{{formField systemFields.description value=document.system.description label=(localize "DAGGERHEART.ACTORS.Environment.FIELDS.description.label")}}
{{formField systemFields.impulses value=document.system.impulses label=(localize "DAGGERHEART.ACTORS.Environment.FIELDS.impulses.label")}}
{{formField systemFields.description value=document._source.system.description label=(localize "DAGGERHEART.ACTORS.Environment.FIELDS.description.label")}}
{{formField systemFields.impulses value=document._source.system.impulses label=(localize "DAGGERHEART.ACTORS.Environment.FIELDS.impulses.label")}}
</fieldset>
</section>

View file

@ -87,9 +87,9 @@
</div>
{{#if document.system.class.value}}
<div class="domains-section">
{{#each document.system.class.value.system.domains as |domain|}}
{{#each document.system.domainData as |data|}}
<div class="domain">
<img src="{{concat 'systems/daggerheart/assets/icons/domains/' domain '.svg'}}" alt="" data-tooltip="{{localize (concat 'DAGGERHEART.GENERAL.Domain.' domain '.label')}}" />
<img src="{{data.src}}" alt="" data-tooltip="{{data.label}}" />
</div>
{{/each}}
</div>

View file

@ -51,19 +51,6 @@
{{/if}}
<div class="encounter-controls {{#if hasCombat}}combat{{/if}}">
{{#if hasCombat}}
<div class="encounter-fear-controls">
<div class="encounter-fear-dice-container">
<div class="encounter-control-fear-container">
<img class="dice " src="../icons/svg/d12-grey.svg"/>
<i class="fas fa-skull encounter-control-fear"></i>
</div>
<div>{{fear}}</div>
</div>
<a class="encounter-countdowns" data-tooltip="{{localize "DAGGERHEART.APPLICATIONS.Countdown.title" type=(localize "DAGGERHEART.APPLICATIONS.Countdown.types.encounter")}}" data-action="openCountdowns"><i class="fa-solid fa-stopwatch"></i></a>
</div>
{{/if}}
{{!-- Combat Status --}}
<strong class="encounter-title">
{{#if combats.length}}
@ -78,14 +65,16 @@
</strong>
{{!-- Combat Controls --}}
{{#if hasCombat}}
<div class="control-buttons right flexrow">
<div class="spacer"></div>
<button type="button" class="encounter-context-menu inline-control combat-control icon fa-solid fa-ellipsis-vertical"
{{#unless (and user.isGM hasCombat)}}disabled{{/unless}}></button>
</div>
{{/if}}
<div class="inner-controls">
{{#if hasCombat}}
<button data-action="openCountdowns">{{localize "DAGGERHEART.APPLICATIONS.CombatTracker.openCountdowns"}}</button>
<div class="control-buttons right flexrow">
<div class="spacer"></div>
<button type="button" class="encounter-context-menu inline-control combat-control icon fa-solid fa-ellipsis-vertical"
{{#unless (and user.isGM hasCombat)}}disabled{{/unless}}></button>
</div>
{{/if}}
</div>
</div>
</header>