mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-17 15:39:02 +01:00
Merge branch 'hotfix' into joaquinpereyra98/issue764
This commit is contained in:
commit
5fe290b52a
43 changed files with 299 additions and 269 deletions
BIN
assets/icons/documents/items/ArcaneWheelchair.webp
Normal file
BIN
assets/icons/documents/items/ArcaneWheelchair.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/icons/documents/items/HeavyWheelchair.webp
Normal file
BIN
assets/icons/documents/items/HeavyWheelchair.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
BIN
assets/icons/documents/items/LightWheelchair.webp
Normal file
BIN
assets/icons/documents/items/LightWheelchair.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
|
|
@ -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",
|
||||
|
|
@ -1899,6 +1900,7 @@
|
|||
"difficulty": "Difficulty",
|
||||
"downtime": "Downtime",
|
||||
"dropActorsHere": "Drop Actors here",
|
||||
"dropFeaturesHere": "Drop Features here",
|
||||
"duality": "Duality",
|
||||
"dualityRoll": "Duality Roll",
|
||||
"enabled": "Enabled",
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -60,17 +60,6 @@ export default class DHClass extends BaseDataItem {
|
|||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
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 hopeFeatures() {
|
||||
return this.features.filter(x => x.type === CONFIG.DH.ITEM.featureSubTypes.hope).map(x => x.item);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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'));
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ export default class DualityRoll extends D20Roll {
|
|||
|
||||
get title() {
|
||||
return game.i18n.localize(
|
||||
"DAGGERHEART.GENERAL.dualityRoll"
|
||||
`DAGGERHEART.GENERAL.${this.options?.roll?.type === CONFIG.DH.ITEM.actionTypes.reaction.id ? 'reactionRoll' : 'dualityRoll'}`
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -125,10 +125,7 @@ export default class DualityRoll extends D20Roll {
|
|||
}
|
||||
|
||||
createBaseDice() {
|
||||
if (
|
||||
this.dice[0] instanceof foundry.dice.terms.Die &&
|
||||
this.dice[1] instanceof foundry.dice.terms.Die
|
||||
) {
|
||||
if (this.dice[0] instanceof foundry.dice.terms.Die && this.dice[1] instanceof foundry.dice.terms.Die) {
|
||||
this.terms = [this.terms[0], this.terms[1], this.terms[2]];
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,13 +85,12 @@ export const chunkify = (array, chunkSize, mappingFunc) => {
|
|||
|
||||
export const tagifyElement = (element, baseOptions, onChange, tagifyOptions = {}) => {
|
||||
const { maxTags } = tagifyOptions;
|
||||
const options =
|
||||
typeof baseOptions === 'object'
|
||||
? Object.keys(baseOptions).map(optionKey => ({
|
||||
...baseOptions[optionKey],
|
||||
id: optionKey
|
||||
}))
|
||||
: baseOptions;
|
||||
const options = Array.isArray(baseOptions)
|
||||
? baseOptions
|
||||
: Object.keys(baseOptions).map(optionKey => ({
|
||||
...baseOptions[optionKey],
|
||||
id: optionKey
|
||||
}));
|
||||
|
||||
const tagifyElement = new Tagify(element, {
|
||||
tagTextProp: 'name',
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"type": "Item",
|
||||
"type": "Actor",
|
||||
"folder": null,
|
||||
"name": "Tier 1",
|
||||
"color": null,
|
||||
|
|
@ -14,10 +14,7 @@
|
|||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1752684226915,
|
||||
"modifiedTime": 1752684226915,
|
||||
"lastModifiedBy": "k0gmQFlvrPvlTtbh"
|
||||
"systemVersion": "0.0.1"
|
||||
},
|
||||
"_key": "!folders!sxvlEwi25uAoB2C5"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"type": "Item",
|
||||
"type": "Actor",
|
||||
"folder": null,
|
||||
"name": "Tier 2",
|
||||
"color": null,
|
||||
|
|
@ -14,10 +14,7 @@
|
|||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1752684230275,
|
||||
"modifiedTime": 1752684230275,
|
||||
"lastModifiedBy": "k0gmQFlvrPvlTtbh"
|
||||
"systemVersion": "0.0.1"
|
||||
},
|
||||
"_key": "!folders!OgzrmfH1ZbpljX7k"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"type": "Item",
|
||||
"type": "Actor",
|
||||
"folder": null,
|
||||
"name": "Tier 3",
|
||||
"color": null,
|
||||
|
|
@ -14,10 +14,7 @@
|
|||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1752684233122,
|
||||
"modifiedTime": 1752684233122,
|
||||
"lastModifiedBy": "k0gmQFlvrPvlTtbh"
|
||||
"systemVersion": "0.0.1"
|
||||
},
|
||||
"_key": "!folders!wTI7nZkPhKxl7Wwq"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"type": "Item",
|
||||
"type": "Actor",
|
||||
"folder": null,
|
||||
"name": "Tier 4",
|
||||
"color": null,
|
||||
|
|
@ -14,10 +14,7 @@
|
|||
"exportSource": null,
|
||||
"coreVersion": "13.346",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1752684235596,
|
||||
"modifiedTime": 1752684235596,
|
||||
"lastModifiedBy": "k0gmQFlvrPvlTtbh"
|
||||
"systemVersion": "0.0.1"
|
||||
},
|
||||
"_key": "!folders!7XHlANCPz18yvl5L"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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": {},
|
||||
|
|
@ -161,8 +161,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.0",
|
||||
"createdTime": 1753836715885,
|
||||
"modifiedTime": 1754815300375,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"modifiedTime": 1754845968271,
|
||||
"lastModifiedBy": "H02dtt2xvVJvYESk"
|
||||
},
|
||||
"_id": "la3sAWgnvadc4NvP",
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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": {},
|
||||
|
|
@ -163,8 +163,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.0",
|
||||
"createdTime": 1753836689082,
|
||||
"modifiedTime": 1754815278220,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"modifiedTime": 1754845945327,
|
||||
"lastModifiedBy": "H02dtt2xvVJvYESk"
|
||||
},
|
||||
"_key": "!items!XRChepscgr75Uug7"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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": {},
|
||||
|
|
@ -161,8 +161,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.0",
|
||||
"createdTime": 1753836714712,
|
||||
"modifiedTime": 1754815290653,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"modifiedTime": 1754845960700,
|
||||
"lastModifiedBy": "H02dtt2xvVJvYESk"
|
||||
},
|
||||
"_id": "N9P695V5KKlJbAY5",
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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": {},
|
||||
|
|
@ -161,8 +161,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.0.0",
|
||||
"createdTime": 1753836717240,
|
||||
"modifiedTime": 1754815308726,
|
||||
"lastModifiedBy": "MQSznptE5yLT7kj8"
|
||||
"modifiedTime": 1754845972571,
|
||||
"lastModifiedBy": "H02dtt2xvVJvYESk"
|
||||
},
|
||||
"_id": "gA2tiET9VHGhwMoO",
|
||||
"sort": 0,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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}}" />
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
</div>
|
||||
{{#if document.system.class.value}}
|
||||
<div class="domains-section">
|
||||
{{#each document.system.class.value.system.domainData as |data|}}
|
||||
{{#each document.system.domainData as |data|}}
|
||||
<div class="domain">
|
||||
<img src="{{data.src}}" alt="" data-tooltip="{{data.label}}" />
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@
|
|||
<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 +77,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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue