mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
Merged with main
This commit is contained in:
commit
7a12783a8c
43 changed files with 854 additions and 681 deletions
|
|
@ -284,6 +284,7 @@ const preloadHandlebarsTemplates = async function () {
|
|||
'systems/daggerheart/templates/sheets/pc/parts/heritageCard.hbs',
|
||||
'systems/daggerheart/templates/sheets/pc/parts/advancementCard.hbs',
|
||||
'systems/daggerheart/templates/views/parts/level.hbs',
|
||||
'systems/daggerheart/templates/components/slider.hbs'
|
||||
'systems/daggerheart/templates/components/slider.hbs',
|
||||
'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs'
|
||||
]);
|
||||
};
|
||||
|
|
|
|||
11
lang/en.json
11
lang/en.json
|
|
@ -316,9 +316,9 @@
|
|||
},
|
||||
"Domain": {
|
||||
"CardTypes": {
|
||||
"Ability": "Ability",
|
||||
"Spell": "Spell",
|
||||
"Grimoire": "Grimoire"
|
||||
"ability": "Ability",
|
||||
"spell": "Spell",
|
||||
"grimoire": "Grimoire"
|
||||
}
|
||||
},
|
||||
"LevelUp": {
|
||||
|
|
@ -1109,6 +1109,11 @@
|
|||
"Name": "Damage Roll"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"Tooltip": {
|
||||
"openItemWorld": "Open Item World",
|
||||
"delete": "Delete"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ export { default as DhpAdversarySheet } from './sheets/adversary.mjs';
|
|||
export { default as DhpClassSheet } from './sheets/class.mjs';
|
||||
export { default as DhpSubclass } from './sheets/subclass.mjs';
|
||||
export { default as DhpFeatureSheet } from './sheets/items/feature.mjs';
|
||||
export { default as DhpDomainCardSheet } from './sheets/domainCard.mjs';
|
||||
export { default as DhpAncestry } from './sheets/ancestry.mjs';
|
||||
export { default as DhpCommunity } from './sheets/community.mjs';
|
||||
export { default as DhpDomainCardSheet } from './sheets/items/domainCard.mjs';
|
||||
export { default as DhpAncestry } from './sheets/items/ancestry.mjs';
|
||||
export { default as DhpCommunity } from './sheets/items/community.mjs';
|
||||
export { default as DhpMiscellaneous } from './sheets/items/miscellaneous.mjs';
|
||||
export { default as DhpConsumable } from './sheets/items/consumable.mjs';
|
||||
export { default as DhpWeapon } from './sheets/items/weapon.mjs';
|
||||
|
|
|
|||
|
|
@ -1,122 +0,0 @@
|
|||
// import DhpApplicationMixin from '../daggerheart-sheet.mjs';
|
||||
|
||||
// export default class AncestrySheet extends DhpApplicationMixin(ItemSheet) {
|
||||
// static documentType = "ancestry";
|
||||
|
||||
// constructor(options){
|
||||
// super(options);
|
||||
// }
|
||||
|
||||
// /** @override */
|
||||
// static get defaultOptions() {
|
||||
// return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
// classes: ["daggerheart", "sheet", "heritage"],
|
||||
// width: 600,
|
||||
// height: 'auto',
|
||||
// dragDrop: [{ dragSelector: null, dropSelector: null }],
|
||||
// });
|
||||
// }
|
||||
|
||||
// /** @override */
|
||||
// getData() {
|
||||
// const context = super.getData();
|
||||
|
||||
// return context;
|
||||
// }
|
||||
|
||||
// async _handleAction(action, event, button) {
|
||||
// switch(action){
|
||||
// case 'editAbility':
|
||||
// this.editAbility(button);
|
||||
// break;
|
||||
// case 'deleteAbility':
|
||||
// this.deleteAbility(event);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
// async editAbility(button){
|
||||
// const feature = await fromUuid(button.dataset.ability);
|
||||
// feature.sheet.render(true);
|
||||
// }
|
||||
|
||||
// async deleteAbility(event){
|
||||
// event.preventDefault();
|
||||
// event.stopPropagation();
|
||||
// await this.item.update({ "system.abilities": this.item.system.abilities.filter(x => x.uuid !== event.currentTarget.dataset.ability) })
|
||||
// }
|
||||
|
||||
// async _onDrop(event) {
|
||||
// const data = TextEditor.getDragEventData(event);
|
||||
// const item = await fromUuid(data.uuid);
|
||||
// if(item.type === 'feature' && item.system.type === SYSTEM.ITEM.featureTypes.ancestry.id) {
|
||||
// await this.object.update({ "system.abilities": [...this.item.system.abilities, { img: item.img, name: item.name, uuid: item.uuid }] });
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
import DaggerheartSheet from './daggerheart-sheet.mjs';
|
||||
|
||||
const { ItemSheetV2 } = foundry.applications.sheets;
|
||||
export default class AncestrySheet extends DaggerheartSheet(ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'sheet', 'heritage'],
|
||||
position: { width: 600 },
|
||||
actions: {
|
||||
editAbility: this.editAbility,
|
||||
deleteAbility: this.deleteAbility
|
||||
},
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
submitOnChange: true,
|
||||
closeOnSubmit: false
|
||||
},
|
||||
dragDrop: [{ dragSelector: null, dropSelector: null }]
|
||||
};
|
||||
|
||||
static PARTS = {
|
||||
form: {
|
||||
id: 'feature',
|
||||
template: 'systems/daggerheart/templates/sheets/ancestry.hbs'
|
||||
}
|
||||
};
|
||||
|
||||
async _prepareContext(_options) {
|
||||
const context = await super._prepareContext(_options);
|
||||
context.document = this.document;
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
static async updateForm(event, _, formData) {
|
||||
await this.document.update(formData.object);
|
||||
this.render();
|
||||
}
|
||||
|
||||
static async editAbility(_, button) {
|
||||
const feature = await fromUuid(button.dataset.ability);
|
||||
feature.sheet.render(true);
|
||||
}
|
||||
|
||||
static async deleteAbility(event, button) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
await this.item.update({
|
||||
'system.abilities': this.item.system.abilities.filter(x => x.uuid !== button.dataset.ability)
|
||||
});
|
||||
}
|
||||
|
||||
async _onDrop(event) {
|
||||
const data = TextEditor.getDragEventData(event);
|
||||
const item = await fromUuid(data.uuid);
|
||||
if (item.type === 'feature' && item.system.type === SYSTEM.ITEM.featureTypes.ancestry.id) {
|
||||
await this.document.update({
|
||||
'system.abilities': [
|
||||
...this.document.system.abilities,
|
||||
{ img: item.img, name: item.name, uuid: item.uuid }
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,122 +0,0 @@
|
|||
// import DhpApplicationMixin from '../daggerheart-sheet.mjs';
|
||||
|
||||
// export default class CommunitySheet extends DhpApplicationMixin(ItemSheet) {
|
||||
// static documentType = "community";
|
||||
|
||||
// constructor(options){
|
||||
// super(options);
|
||||
// }
|
||||
|
||||
// /** @override */
|
||||
// static get defaultOptions() {
|
||||
// return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
// classes: ["daggerheart", "sheet", "heritage"],
|
||||
// width: 600,
|
||||
// height: 'auto',
|
||||
// dragDrop: [{ dragSelector: null, dropSelector: null }],
|
||||
// });
|
||||
// }
|
||||
|
||||
// /** @override */
|
||||
// getData() {
|
||||
// const context = super.getData();
|
||||
|
||||
// return context;
|
||||
// }
|
||||
|
||||
// async _handleAction(action, event, button) {
|
||||
// switch(action){
|
||||
// case 'editAbility':
|
||||
// this.editAbility(button);
|
||||
// break;
|
||||
// case 'deleteAbility':
|
||||
// this.deleteAbility(event);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
// async editAbility(button){
|
||||
// const feature = await fromUuid(button.dataset.ability);
|
||||
// feature.sheet.render(true);
|
||||
// }
|
||||
|
||||
// async deleteAbility(event){
|
||||
// event.preventDefault();
|
||||
// event.stopPropagation();
|
||||
// await this.item.update({ "system.abilities": this.item.system.abilities.filter(x => x.uuid !== event.currentTarget.dataset.ability) })
|
||||
// }
|
||||
|
||||
// async _onDrop(event) {
|
||||
// const data = TextEditor.getDragEventData(event);
|
||||
// const item = await fromUuid(data.uuid);
|
||||
// if(item.type === 'feature' && item.system.type === SYSTEM.ITEM.featureTypes.community.id) {
|
||||
// await this.object.update({ "system.abilities": [...this.item.system.abilities, { img: item.img, name: item.name, uuid: item.uuid }] });
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
import DaggerheartSheet from './daggerheart-sheet.mjs';
|
||||
|
||||
const { ItemSheetV2 } = foundry.applications.sheets;
|
||||
export default class CommunitySheet extends DaggerheartSheet(ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'sheet', 'heritage'],
|
||||
position: { width: 600 },
|
||||
actions: {
|
||||
editAbility: this.editAbility,
|
||||
deleteAbility: this.deleteAbility
|
||||
},
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
submitOnChange: true,
|
||||
closeOnSubmit: false
|
||||
},
|
||||
dragDrop: [{ dragSelector: null, dropSelector: null }]
|
||||
};
|
||||
|
||||
static PARTS = {
|
||||
form: {
|
||||
id: 'feature',
|
||||
template: 'systems/daggerheart/templates/sheets/community.hbs'
|
||||
}
|
||||
};
|
||||
|
||||
async _prepareContext(_options) {
|
||||
const context = await super._prepareContext(_options);
|
||||
context.document = this.document;
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
static async updateForm(event, _, formData) {
|
||||
await this.document.update(formData.object);
|
||||
this.render();
|
||||
}
|
||||
|
||||
static async editAbility(_, button) {
|
||||
const feature = await fromUuid(button.dataset.ability);
|
||||
feature.sheet.render(true);
|
||||
}
|
||||
|
||||
static async deleteAbility(event, button) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
await this.item.update({
|
||||
'system.abilities': this.item.system.abilities.filter(x => x.uuid !== button.dataset.ability)
|
||||
});
|
||||
}
|
||||
|
||||
async _onDrop(event) {
|
||||
const data = TextEditor.getDragEventData(event);
|
||||
const item = await fromUuid(data.uuid);
|
||||
if (item.type === 'feature' && item.system.type === SYSTEM.ITEM.featureTypes.community.id) {
|
||||
await this.document.update({
|
||||
'system.abilities': [
|
||||
...this.document.system.abilities,
|
||||
{ img: item.img, name: item.name, uuid: item.uuid }
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
88
module/applications/sheets/items/ancestry.mjs
Normal file
88
module/applications/sheets/items/ancestry.mjs
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
import DaggerheartSheet from '../daggerheart-sheet.mjs';
|
||||
|
||||
const { ItemSheetV2 } = foundry.applications.sheets;
|
||||
export default class AncestrySheet extends DaggerheartSheet(ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'sheet', 'item', 'dh-style', 'ancestry'],
|
||||
position: { width: 450, height: 700 },
|
||||
actions: {
|
||||
editFeature: this.editFeature,
|
||||
deleteFeature: this.deleteFeature
|
||||
},
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
submitOnChange: true,
|
||||
closeOnSubmit: false
|
||||
},
|
||||
dragDrop: [{ dragSelector: null, dropSelector: null }]
|
||||
};
|
||||
|
||||
static PARTS = {
|
||||
header: { template: 'systems/daggerheart/templates/sheets/items/ancestry/header.hbs' },
|
||||
tabs: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-navigation.hbs' },
|
||||
description: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-description.hbs' },
|
||||
features: {
|
||||
template: 'systems/daggerheart/templates/sheets/global/tabs/tab-feature-section.hbs',
|
||||
scrollable: ['.features']
|
||||
}
|
||||
};
|
||||
|
||||
static TABS = {
|
||||
description: {
|
||||
active: true,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'description',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.Sheets.Feature.Tabs.Description'
|
||||
},
|
||||
features: {
|
||||
active: false,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'features',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.Sheets.Feature.Tabs.Features'
|
||||
}
|
||||
};
|
||||
|
||||
async _prepareContext(_options) {
|
||||
const context = await super._prepareContext(_options);
|
||||
context.document = this.document;
|
||||
context.tabs = super._getTabs(this.constructor.TABS);
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
static async updateForm(event, _, formData) {
|
||||
await this.document.update(formData.object);
|
||||
this.render();
|
||||
}
|
||||
|
||||
static async editFeature(_, target) {
|
||||
const feature = await fromUuid(target.dataset.feature);
|
||||
feature.sheet.render(true);
|
||||
}
|
||||
|
||||
static async deleteFeature(event, target) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
await this.item.update({
|
||||
'system.abilities': this.item.system.abilities.filter(x => x.uuid !== target.dataset.feature)
|
||||
});
|
||||
}
|
||||
|
||||
async _onDrop(event) {
|
||||
const data = TextEditor.getDragEventData(event);
|
||||
const item = await fromUuid(data.uuid);
|
||||
if (item.type === 'feature' && item.system.type === SYSTEM.ITEM.featureTypes.ancestry.id) {
|
||||
await this.document.update({
|
||||
'system.abilities': [
|
||||
...this.document.system.abilities,
|
||||
{ img: item.img, name: item.name, uuid: item.uuid }
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@ const { ItemSheetV2 } = foundry.applications.sheets;
|
|||
export default class ArmorSheet extends DaggerheartSheet(ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'sheet', 'dh-style', 'armor'],
|
||||
classes: ['daggerheart', 'sheet', 'item', 'dh-style', 'armor'],
|
||||
position: { width: 600 },
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
|
|
|
|||
88
module/applications/sheets/items/community.mjs
Normal file
88
module/applications/sheets/items/community.mjs
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
import DaggerheartSheet from '../daggerheart-sheet.mjs';
|
||||
|
||||
const { ItemSheetV2 } = foundry.applications.sheets;
|
||||
export default class CommunitySheet extends DaggerheartSheet(ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'sheet', 'item', 'dh-style', 'community'],
|
||||
position: { width: 450, height: 700 },
|
||||
actions: {
|
||||
editFeature: this.editFeature,
|
||||
deleteFeature: this.deleteFeature
|
||||
},
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
submitOnChange: true,
|
||||
closeOnSubmit: false
|
||||
},
|
||||
dragDrop: [{ dragSelector: null, dropSelector: null }]
|
||||
};
|
||||
|
||||
static PARTS = {
|
||||
header: { template: 'systems/daggerheart/templates/sheets/items/community/header.hbs' },
|
||||
tabs: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-navigation.hbs' },
|
||||
description: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-description.hbs' },
|
||||
features: {
|
||||
template: 'systems/daggerheart/templates/sheets/global/tabs/tab-feature-section.hbs',
|
||||
scrollable: ['.features']
|
||||
}
|
||||
};
|
||||
|
||||
static TABS = {
|
||||
description: {
|
||||
active: true,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'description',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.Sheets.Feature.Tabs.Description'
|
||||
},
|
||||
features: {
|
||||
active: false,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'features',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.Sheets.Feature.Tabs.Features'
|
||||
}
|
||||
};
|
||||
|
||||
async _prepareContext(_options) {
|
||||
const context = await super._prepareContext(_options);
|
||||
context.document = this.document;
|
||||
context.tabs = super._getTabs(this.constructor.TABS);
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
static async updateForm(event, _, formData) {
|
||||
await this.document.update(formData.object);
|
||||
this.render();
|
||||
}
|
||||
|
||||
static async editFeature(_, target) {
|
||||
const feature = await fromUuid(target.dataset.feature);
|
||||
feature.sheet.render(true);
|
||||
}
|
||||
|
||||
static async deleteFeature(event, target) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
await this.item.update({
|
||||
'system.abilities': this.item.system.abilities.filter(x => x.uuid !== target.dataset.feature)
|
||||
});
|
||||
}
|
||||
|
||||
async _onDrop(event) {
|
||||
const data = TextEditor.getDragEventData(event);
|
||||
const item = await fromUuid(data.uuid);
|
||||
if (item.type === 'feature' && item.system.type === SYSTEM.ITEM.featureTypes.community.id) {
|
||||
await this.document.update({
|
||||
'system.abilities': [
|
||||
...this.document.system.abilities,
|
||||
{ img: item.img, name: item.name, uuid: item.uuid }
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@ const { ItemSheetV2 } = foundry.applications.sheets;
|
|||
export default class ConsumableSheet extends DaggerheartSheet(ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'sheet', 'dh-style', 'consumable'],
|
||||
classes: ['daggerheart', 'sheet', 'item', 'dh-style', 'consumable'],
|
||||
position: { width: 550 },
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
|
|
|
|||
|
|
@ -1,45 +1,13 @@
|
|||
// import DhpApplicationMixin from '../daggerheart-sheet.mjs';
|
||||
|
||||
// export default class DomainCardSheet extends DhpApplicationMixin(ItemSheet) {
|
||||
// static documentType = "domainCard";
|
||||
|
||||
// /** @override */
|
||||
// static get defaultOptions() {
|
||||
// return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
// classes: ["daggerheart", "sheet", "domain-card"],
|
||||
// width: 600,
|
||||
// height: 600,
|
||||
// tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "features" }]
|
||||
// });
|
||||
// }
|
||||
|
||||
// /** @override */
|
||||
// getData() {
|
||||
// const context = super.getData();
|
||||
// context.config = CONFIG.daggerheart;
|
||||
|
||||
// return context;
|
||||
// }
|
||||
|
||||
// async _handleAction(action, event, button) {
|
||||
// switch(action){
|
||||
// case 'attributeRoll':
|
||||
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
import DaggerheartAction from '../../data/action.mjs';
|
||||
import DaggerheartActionConfig from '../config/Action.mjs';
|
||||
import DaggerheartSheet from './daggerheart-sheet.mjs';
|
||||
import DaggerheartAction from '../../../data/action.mjs';
|
||||
import DaggerheartActionConfig from '../../config/Action.mjs';
|
||||
import DaggerheartSheet from '../daggerheart-sheet.mjs';
|
||||
|
||||
const { ItemSheetV2 } = foundry.applications.sheets;
|
||||
export default class DomainCardSheet extends DaggerheartSheet(ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'sheet', 'domain-card'],
|
||||
position: { width: 600, height: 600 },
|
||||
classes: ['daggerheart', 'sheet', 'item', 'dh-style', 'domain-card'],
|
||||
position: { width: 450, height: 700 },
|
||||
actions: {
|
||||
addAction: this.addAction,
|
||||
editAction: this.editAction,
|
||||
|
|
@ -53,29 +21,50 @@ export default class DomainCardSheet extends DaggerheartSheet(ItemSheetV2) {
|
|||
};
|
||||
|
||||
static PARTS = {
|
||||
form: {
|
||||
id: 'feature',
|
||||
template: 'systems/daggerheart/templates/sheets/domainCard.hbs'
|
||||
header: { template: 'systems/daggerheart/templates/sheets/items/domainCard/header.hbs' },
|
||||
tabs: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-navigation.hbs' },
|
||||
description: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-description.hbs' },
|
||||
actions: {
|
||||
template: 'systems/daggerheart/templates/sheets/global/tabs/tab-actions.hbs',
|
||||
scrollable: ['.actions']
|
||||
},
|
||||
settings: {
|
||||
template: 'systems/daggerheart/templates/sheets/items/domainCard/settings.hbs',
|
||||
scrollable: ['.settings']
|
||||
}
|
||||
};
|
||||
|
||||
_getTabs() {
|
||||
const tabs = {
|
||||
general: { active: true, cssClass: '', group: 'primary', id: 'general', icon: null, label: 'General' },
|
||||
actions: { active: false, cssClass: '', group: 'primary', id: 'actions', icon: null, label: 'Actions' }
|
||||
};
|
||||
for (const v of Object.values(tabs)) {
|
||||
v.active = this.tabGroups[v.group] ? this.tabGroups[v.group] === v.id : v.active;
|
||||
v.cssClass = v.active ? 'active' : '';
|
||||
static TABS = {
|
||||
description: {
|
||||
active: true,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'description',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.Sheets.Feature.Tabs.Description'
|
||||
},
|
||||
actions: {
|
||||
active: false,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'actions',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.Sheets.Feature.Tabs.Actions'
|
||||
},
|
||||
settings: {
|
||||
active: false,
|
||||
cssClass: '',
|
||||
group: 'primary',
|
||||
id: 'settings',
|
||||
icon: null,
|
||||
label: 'DAGGERHEART.Sheets.Feature.Tabs.Settings'
|
||||
}
|
||||
|
||||
return tabs;
|
||||
}
|
||||
};
|
||||
|
||||
async _prepareContext(_options) {
|
||||
const context = await super._prepareContext(_options);
|
||||
context.config = CONFIG.daggerheart;
|
||||
context.tabs = this._getTabs();
|
||||
context.tabs = super._getTabs(this.constructor.TABS);
|
||||
|
||||
return context;
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@ export default class FeatureSheet extends DaggerheartSheet(ItemSheetV2) {
|
|||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
id: 'daggerheart-feature',
|
||||
classes: ['daggerheart', 'sheet', 'dh-style', 'feature'],
|
||||
classes: ['daggerheart', 'sheet', 'item', 'dh-style', 'feature'],
|
||||
position: { width: 600, height: 600 },
|
||||
window: { resizable: true },
|
||||
actions: {
|
||||
|
|
@ -35,7 +35,7 @@ export default class FeatureSheet extends DaggerheartSheet(ItemSheetV2) {
|
|||
tabs: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-navigation.hbs' },
|
||||
description: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-description.hbs' },
|
||||
actions: {
|
||||
template: 'systems/daggerheart/templates/sheets/items/feature/actions.hbs',
|
||||
template: 'systems/daggerheart/templates/sheets/global/tabs/tab-actions.hbs',
|
||||
scrollable: ['.actions']
|
||||
},
|
||||
settings: {
|
||||
|
|
|
|||
|
|
@ -1,32 +1,10 @@
|
|||
// import DhpApplicationMixin from '../daggerheart-sheet.mjs';
|
||||
|
||||
// export default class MiscellaneousSheet extends DhpApplicationMixin(ItemSheet) {
|
||||
// static documentType = "miscellaneous";
|
||||
|
||||
// /** @override */
|
||||
// static get defaultOptions() {
|
||||
// return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
// classes: ["daggerheart", "sheet", "miscellaneous"],
|
||||
// width: 400,
|
||||
// height: 'auto',
|
||||
// });
|
||||
// }
|
||||
|
||||
// /** @override */
|
||||
// getData() {
|
||||
// const context = super.getData();
|
||||
|
||||
// return context;
|
||||
// }
|
||||
// }
|
||||
|
||||
import DaggerheartSheet from '../daggerheart-sheet.mjs';
|
||||
|
||||
const { ItemSheetV2 } = foundry.applications.sheets;
|
||||
export default class MiscellaneousSheet extends DaggerheartSheet(ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'sheet', 'dh-style', 'miscellaneous'],
|
||||
classes: ['daggerheart', 'sheet', 'item', 'dh-style', 'miscellaneous'],
|
||||
position: { width: 550 },
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ const { ItemSheetV2 } = foundry.applications.sheets;
|
|||
export default class WeaponSheet extends DaggerheartSheet(ItemSheetV2) {
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'sheet', 'dh-style', 'weapon'],
|
||||
classes: ['daggerheart', 'sheet', 'item', 'dh-style', 'weapon'],
|
||||
position: { width: 600 },
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
|
|
|
|||
|
|
@ -85,17 +85,17 @@ export const classMap = {
|
|||
export const cardTypes = {
|
||||
ability: {
|
||||
id: 'ability',
|
||||
label: 'DAGGERHEART.Domain.CardTypes.Ability',
|
||||
label: 'DAGGERHEART.Domain.CardTypes.ability',
|
||||
img: ''
|
||||
},
|
||||
spell: {
|
||||
id: 'spell',
|
||||
label: 'DAGGERHEART.Domain.CardTypes.Spell',
|
||||
label: 'DAGGERHEART.Domain.CardTypes.spell',
|
||||
img: ''
|
||||
},
|
||||
grimoire: {
|
||||
id: 'grimoire',
|
||||
label: 'DAGGERHEART.Domain.CardTypes.Grimoire',
|
||||
label: 'DAGGERHEART.Domain.CardTypes.grimoire',
|
||||
img: ''
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{
|
||||
"img": "icons/svg/item-bag.svg",
|
||||
"name": "Privilege",
|
||||
"uuid": "Compendium.world.community-features.Item.WoMZCTnDcK8GPSh1"
|
||||
"uuid": "Compendium.daggerheart.community-features.Item.AgJiUvad5tgeam57"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1747940320728,
|
||||
"modifiedTime": 1747990568291,
|
||||
"lastModifiedBy": "NqO2eQGMjrvUO6v9"
|
||||
"modifiedTime": 1748487208088,
|
||||
"lastModifiedBy": "c3xaFsDtL56heKoi"
|
||||
},
|
||||
"_key": "!items!8AcV556QwoIzkkea"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{
|
||||
"img": "icons/svg/item-bag.svg",
|
||||
"name": "Well-Read",
|
||||
"uuid": "Compendium.world.community-features.Item.MUfVlf8hoJ3HZidv"
|
||||
"uuid": "Compendium.daggerheart.community-features.Item.n2RA9iZNiVbGlxco"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1747940300210,
|
||||
"modifiedTime": 1747990671092,
|
||||
"lastModifiedBy": "NqO2eQGMjrvUO6v9"
|
||||
"modifiedTime": 1748487185921,
|
||||
"lastModifiedBy": "c3xaFsDtL56heKoi"
|
||||
},
|
||||
"_key": "!items!fgJHuCdoyXX4Q84O"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{
|
||||
"img": "icons/svg/item-bag.svg",
|
||||
"name": "Dedicated",
|
||||
"uuid": "Compendium.world.community-features.Item.b7LmL7ti1gL5kfGq"
|
||||
"uuid": "Compendium.daggerheart.community-features.Item.ZiBpJxtDSsh6wY3h"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1747940332147,
|
||||
"modifiedTime": 1747990820386,
|
||||
"lastModifiedBy": "NqO2eQGMjrvUO6v9"
|
||||
"modifiedTime": 1748487117035,
|
||||
"lastModifiedBy": "c3xaFsDtL56heKoi"
|
||||
},
|
||||
"_key": "!items!Cg39GoSa6lxhXndW"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{
|
||||
"img": "icons/svg/item-bag.svg",
|
||||
"name": "Steady",
|
||||
"uuid": "Compendium.world.community-features.Item.hKGv54dst9crq3Sw"
|
||||
"uuid": "Compendium.daggerheart.community-features.Item.Oky51ziMZp6bbuUQ"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1747940346633,
|
||||
"modifiedTime": 1747990891669,
|
||||
"lastModifiedBy": "NqO2eQGMjrvUO6v9"
|
||||
"modifiedTime": 1748487238072,
|
||||
"lastModifiedBy": "c3xaFsDtL56heKoi"
|
||||
},
|
||||
"_key": "!items!DAQoNvVlc9w7NmZd"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{
|
||||
"img": "icons/svg/item-bag.svg",
|
||||
"name": "Know the Tide",
|
||||
"uuid": "Compendium.world.community-features.Item.coBcBEFpXgtxD1Jt"
|
||||
"uuid": "Compendium.daggerheart.community-features.Item.0mdoYz7uZNWCcK5Z"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1747940375520,
|
||||
"modifiedTime": 1747990980804,
|
||||
"lastModifiedBy": "NqO2eQGMjrvUO6v9"
|
||||
"modifiedTime": 1748487248881,
|
||||
"lastModifiedBy": "c3xaFsDtL56heKoi"
|
||||
},
|
||||
"_key": "!items!ivrXToGxyuVdqZtG"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{
|
||||
"img": "icons/svg/item-bag.svg",
|
||||
"name": "Scoundrel",
|
||||
"uuid": "Compendium.world.community-features.Item.p2PipVUiMt0Cy0ws"
|
||||
"uuid": "Compendium.daggerheart.community-features.Item.5BUCiSPswsiB0RDW"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1747940388725,
|
||||
"modifiedTime": 1747991089836,
|
||||
"lastModifiedBy": "NqO2eQGMjrvUO6v9"
|
||||
"modifiedTime": 1748487260950,
|
||||
"lastModifiedBy": "c3xaFsDtL56heKoi"
|
||||
},
|
||||
"_key": "!items!rwsUCLenOkE9CS7v"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{
|
||||
"img": "icons/svg/item-bag.svg",
|
||||
"name": "Low-Light Living",
|
||||
"uuid": "Compendium.world.community-features.Item.p12Le1M3DPWXa0vh"
|
||||
"uuid": "Compendium.daggerheart.community-features.Item.hX85YvTQcMzc25hW"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1747940403160,
|
||||
"modifiedTime": 1747991158174,
|
||||
"lastModifiedBy": "NqO2eQGMjrvUO6v9"
|
||||
"modifiedTime": 1748487269990,
|
||||
"lastModifiedBy": "c3xaFsDtL56heKoi"
|
||||
},
|
||||
"_key": "!items!CXQN2zcQUIjUOx1i"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{
|
||||
"img": "icons/svg/item-bag.svg",
|
||||
"name": "Nomadic Pack",
|
||||
"uuid": "Compendium.world.community-features.Item.NeuBdFDpV0HTzOIM"
|
||||
"uuid": "Compendium.daggerheart.community-features.Item.o3Q88Rws9Eb5ae5D"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1747940414913,
|
||||
"modifiedTime": 1747991238462,
|
||||
"lastModifiedBy": "NqO2eQGMjrvUO6v9"
|
||||
"modifiedTime": 1748487280155,
|
||||
"lastModifiedBy": "c3xaFsDtL56heKoi"
|
||||
},
|
||||
"_key": "!items!DHB5uSzbBeJCJuvC"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{
|
||||
"img": "icons/svg/item-bag.svg",
|
||||
"name": "Lightfoot",
|
||||
"uuid": "Compendium.world.community-features.Item.4VaugxNAouI7SKKz"
|
||||
"uuid": "Compendium.daggerheart.community-features.Item.LY9c4DCgMcB1uEiv"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -29,8 +29,8 @@
|
|||
"systemId": "daggerheart",
|
||||
"systemVersion": "0.0.1",
|
||||
"createdTime": 1747940432585,
|
||||
"modifiedTime": 1747991300734,
|
||||
"lastModifiedBy": "NqO2eQGMjrvUO6v9"
|
||||
"modifiedTime": 1748487285826,
|
||||
"lastModifiedBy": "c3xaFsDtL56heKoi"
|
||||
},
|
||||
"_key": "!items!jUzXIVyBx0mlIFWa"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,26 +8,7 @@
|
|||
"spellcastingTrait": "presence",
|
||||
"foundationFeature": {
|
||||
"description": "<p><strong>Gifted Performer:</strong> Describe how you perform for others. You can play each song once per long rest:</p><p>• <strong>Relaxing Song:</strong> You and all allies within Close range clear a Hit Point.</p><p>• <strong>Epic Song:</strong> Make a target within Close range temporarily Vulnerable.</p><p>• <strong>Heartbreaking Song:</strong> You and all allies within Close range gain a Hope.</p>",
|
||||
"abilities": [
|
||||
{
|
||||
"actionType": "passive",
|
||||
"featureType": {
|
||||
"type": "normal",
|
||||
"data": {
|
||||
"property": "spellcastingTrait",
|
||||
"max": 1,
|
||||
"numbers": {}
|
||||
}
|
||||
},
|
||||
"refreshData": null,
|
||||
"multiclass": null,
|
||||
"disabled": false,
|
||||
"description": "<p>You are among the greatest of your craft and your skill is boundless. You can perform each of your “Gifted Performer” feature’s songs twice instead of once per long rest.</p>",
|
||||
"effects": {},
|
||||
"actions": [],
|
||||
"type": "subclass"
|
||||
}
|
||||
]
|
||||
"abilities": []
|
||||
},
|
||||
"specializationFeature": {
|
||||
"unlocked": false,
|
||||
|
|
|
|||
|
|
@ -2837,40 +2837,11 @@ div.daggerheart.views.multiclass {
|
|||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(#18162e, #f3c267) transparent;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style.feature .tab.actions .actions-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
gap: 5px;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style.feature .tab.actions .actions-list .action-item {
|
||||
display: grid;
|
||||
align-items: center;
|
||||
grid-template-columns: 1fr 4fr 1fr;
|
||||
cursor: pointer;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style.feature .tab.actions .actions-list .action-item h4 {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
font-weight: lighter;
|
||||
color: #efe6d8;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style.feature .tab.actions .actions-list .action-item .image {
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
object-fit: cover;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style.feature .tab.actions .actions-list .action-item .controls {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style.feature .tab.actions .actions-list .action-item .controls a {
|
||||
text-shadow: none;
|
||||
.application.sheet.daggerheart.dh-style.domain-card section.tab {
|
||||
height: 400px;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(#18162e, #f3c267) transparent;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Cinzel';
|
||||
|
|
@ -3186,6 +3157,41 @@ div.daggerheart.views.multiclass {
|
|||
text-shadow: none;
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
}
|
||||
.sheet.daggerheart.dh-style .tab.actions .actions-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
gap: 5px;
|
||||
}
|
||||
.sheet.daggerheart.dh-style .tab.actions .actions-list .action-item {
|
||||
display: grid;
|
||||
align-items: center;
|
||||
grid-template-columns: 1fr 4fr 1fr;
|
||||
cursor: pointer;
|
||||
}
|
||||
.sheet.daggerheart.dh-style .tab.actions .actions-list .action-item h4 {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
font-weight: lighter;
|
||||
color: #efe6d8;
|
||||
}
|
||||
.sheet.daggerheart.dh-style .tab.actions .actions-list .action-item .image {
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
object-fit: cover;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
.sheet.daggerheart.dh-style .tab.actions .actions-list .action-item .controls {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.sheet.daggerheart.dh-style .tab.actions .actions-list .action-item .controls a {
|
||||
text-shadow: none;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-sheet-header {
|
||||
display: flex;
|
||||
}
|
||||
|
|
@ -3229,6 +3235,135 @@ div.daggerheart.views.multiclass {
|
|||
.application.sheet.daggerheart.dh-style .item-sheet-header .item-info h3 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: start;
|
||||
text-align: center;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .profile {
|
||||
height: 300px;
|
||||
width: 100%;
|
||||
object-fit: cover;
|
||||
mask-image: linear-gradient(0deg, transparent 0%, black 10%);
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-icons-list {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
top: 50px;
|
||||
right: 10px;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-icons-list .item-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: end;
|
||||
text-align: center;
|
||||
padding-right: 8px;
|
||||
max-width: 50px;
|
||||
height: 50px;
|
||||
font-size: 1.2rem;
|
||||
background: light-dark(rgba(0, 0, 0, 0.3), rgba(24, 22, 46, 0.33));
|
||||
border: 4px double light-dark(#efe6d8, #f3c267);
|
||||
color: light-dark(#efe6d8, #f3c267);
|
||||
border-radius: 999px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-icons-list .item-icon .recall-label {
|
||||
font-size: 14px;
|
||||
opacity: 0;
|
||||
margin-right: 0.3rem;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-icons-list .item-icon i {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-icons-list .item-icon:hover {
|
||||
max-width: 300px;
|
||||
padding: 0 10px;
|
||||
border-radius: 60px;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-icons-list .item-icon:hover .recall-label {
|
||||
opacity: 1;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-info {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
top: -25px;
|
||||
gap: 5px;
|
||||
margin-bottom: -20px;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-info .item-name input[type='text'] {
|
||||
font-size: 32px;
|
||||
height: 42px;
|
||||
text-align: center;
|
||||
width: 90%;
|
||||
transition: all 0.3s ease;
|
||||
outline: 2px solid transparent;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-info .item-name input[type='text']:hover[type='text'],
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-info .item-name input[type='text']:focus[type='text'] {
|
||||
box-shadow: none;
|
||||
outline: 2px solid light-dark(#18162e, #f3c267);
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-info .item-description {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style .item-card-header .item-info h3 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
.sheet.daggerheart.dh-style.item .tab.features {
|
||||
padding: 0 10px;
|
||||
max-height: 265px;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(#18162e, #f3c267) transparent;
|
||||
}
|
||||
.sheet.daggerheart.dh-style.item .tab.features .feature-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.sheet.daggerheart.dh-style.item .tab.features .feature-list .feature-item {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.sheet.daggerheart.dh-style.item .tab.features .feature-list .feature-item:last-child {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.sheet.daggerheart.dh-style.item .tab.features .feature-list .feature-item .feature-line {
|
||||
display: grid;
|
||||
align-items: center;
|
||||
grid-template-columns: 1fr 4fr 1fr;
|
||||
}
|
||||
.sheet.daggerheart.dh-style.item .tab.features .feature-list .feature-item .feature-line h4 {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
font-weight: lighter;
|
||||
color: light-dark(#222, #efe6d8);
|
||||
}
|
||||
.sheet.daggerheart.dh-style.item .tab.features .feature-list .feature-item .feature-line .image {
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
object-fit: cover;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
.sheet.daggerheart.dh-style.item .tab.features .feature-list .feature-item .feature-line .controls {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.sheet.daggerheart.dh-style.item .tab.features .feature-list .feature-item .feature-line .controls a {
|
||||
text-shadow: none;
|
||||
}
|
||||
#logo {
|
||||
content: url(../assets/DaggerheartLogo.webp);
|
||||
height: 50px;
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@
|
|||
|
||||
// new styles imports
|
||||
@import './less/items/feature.less';
|
||||
@import './less/items/ancestry.less';
|
||||
@import './less/items/domainCard.less';
|
||||
|
||||
@import './less/utils/colors.less';
|
||||
@import './less/utils/fonts.less';
|
||||
|
|
@ -21,7 +23,9 @@
|
|||
@import './less/global/sheet.less';
|
||||
@import './less/global/elements.less';
|
||||
@import './less/global/tab-navigation.less';
|
||||
@import './less/global/tab-actions.less';
|
||||
@import './less/global/item-header.less';
|
||||
@import './less/global/feature-section.less';
|
||||
|
||||
#logo {
|
||||
content: url(../assets/DaggerheartLogo.webp);
|
||||
|
|
|
|||
51
styles/less/global/feature-section.less
Normal file
51
styles/less/global/feature-section.less
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
@import '../utils/colors.less';
|
||||
@import '../utils/fonts.less';
|
||||
|
||||
.sheet.daggerheart.dh-style.item {
|
||||
.tab.features {
|
||||
padding: 0 10px;
|
||||
max-height: 265px;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
|
||||
.feature-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
.feature-item {
|
||||
margin-bottom: 10px;
|
||||
&:last-child {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.feature-line {
|
||||
display: grid;
|
||||
align-items: center;
|
||||
grid-template-columns: 1fr 4fr 1fr;
|
||||
h4 {
|
||||
font-family: @font-body;
|
||||
font-weight: lighter;
|
||||
color: light-dark(@dark, @beige);
|
||||
}
|
||||
.image {
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
object-fit: cover;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
.controls {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
a {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -50,4 +50,103 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item-card-header {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: start;
|
||||
text-align: center;
|
||||
|
||||
.profile {
|
||||
height: 300px;
|
||||
width: 100%;
|
||||
object-fit: cover;
|
||||
mask-image: linear-gradient(0deg, transparent 0%, black 10%);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.item-icons-list {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
top: 50px;
|
||||
right: 10px;
|
||||
|
||||
.item-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: end;
|
||||
text-align: center;
|
||||
padding-right: 8px;
|
||||
max-width: 50px;
|
||||
height: 50px;
|
||||
font-size: 1.2rem;
|
||||
background: light-dark(@light-black, @semi-transparent-dark-blue);
|
||||
border: 4px double light-dark(@beige, @golden);
|
||||
color: light-dark(@beige, @golden);
|
||||
border-radius: 999px;
|
||||
transition: all 0.3s ease;
|
||||
|
||||
.recall-label {
|
||||
font-size: 14px;
|
||||
opacity: 0;
|
||||
margin-right: 0.3rem;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
i {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
max-width: 300px;
|
||||
padding: 0 10px;
|
||||
border-radius: 60px;
|
||||
|
||||
.recall-label {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item-info {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
top: -25px;
|
||||
gap: 5px;
|
||||
margin-bottom: -20px;
|
||||
|
||||
.item-name {
|
||||
input[type='text'] {
|
||||
font-size: 32px;
|
||||
height: 42px;
|
||||
text-align: center;
|
||||
width: 90%;
|
||||
transition: all 0.3s ease;
|
||||
outline: 2px solid transparent;
|
||||
border: 1px solid transparent;
|
||||
|
||||
&:hover[type='text'],
|
||||
&:focus[type='text'] {
|
||||
box-shadow: none;
|
||||
outline: 2px solid light-dark(@dark-blue, @golden);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item-description {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,81 +1,80 @@
|
|||
@import '../utils/colors.less';
|
||||
@import '../utils/fonts.less';
|
||||
|
||||
.application.sheet.dh-style .window-header {
|
||||
background: transparent;
|
||||
border-bottom: none;
|
||||
justify-content: end;
|
||||
|
||||
h1 {
|
||||
color: light-dark(@dark-blue, @beige);
|
||||
font-family: @font-body;
|
||||
}
|
||||
|
||||
button {
|
||||
background: light-dark(transparent, @deep-black);
|
||||
color: light-dark(@dark-blue, @beige);
|
||||
border: 1px solid light-dark(@dark-blue, transparent);
|
||||
padding: 0;
|
||||
|
||||
&:hover {
|
||||
border: 1px solid light-dark(@dark-blue, @golden);
|
||||
color: light-dark(@dark-blue, @golden);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.application.sheet.dh-style:not(.minimized) {
|
||||
.window-title,
|
||||
.window-icon {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
}
|
||||
|
||||
.application.sheet.dh-style.minimized {
|
||||
.window-content {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.1s ease;
|
||||
}
|
||||
}
|
||||
|
||||
.application.sheet.dh-style:not(.minimized) {
|
||||
.window-content {
|
||||
opacity: 1;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
}
|
||||
|
||||
.application.sheet.dh-style .window-content {
|
||||
overflow: initial;
|
||||
backdrop-filter: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.theme-dark {
|
||||
.application.sheet.dh-style {
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
}
|
||||
|
||||
.theme-light {
|
||||
.application.sheet.dh-style {
|
||||
background-image: url('../assets/parchments/dh-parchment-light.png');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
}
|
||||
// D:\Foundry\v13\data\Data\systems\daggerheart\assets\parchments\dh-parchment-light.png
|
||||
|
||||
.application.sheet.daggerheart.dh-style {
|
||||
.window-content {
|
||||
position: relative;
|
||||
top: -36px;
|
||||
|
||||
.tab {
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@import '../utils/colors.less';
|
||||
@import '../utils/fonts.less';
|
||||
|
||||
.application.sheet.dh-style .window-header {
|
||||
background: transparent;
|
||||
border-bottom: none;
|
||||
justify-content: end;
|
||||
|
||||
h1 {
|
||||
color: light-dark(@dark-blue, @beige);
|
||||
font-family: @font-body;
|
||||
}
|
||||
|
||||
button {
|
||||
background: light-dark(transparent, @deep-black);
|
||||
color: light-dark(@dark-blue, @beige);
|
||||
border: 1px solid light-dark(@dark-blue, transparent);
|
||||
padding: 0;
|
||||
|
||||
&:hover {
|
||||
border: 1px solid light-dark(@dark-blue, @golden);
|
||||
color: light-dark(@dark-blue, @golden);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.application.sheet.dh-style:not(.minimized) {
|
||||
.window-title,
|
||||
.window-icon {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
}
|
||||
|
||||
.application.sheet.dh-style.minimized {
|
||||
.window-content {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.1s ease;
|
||||
}
|
||||
}
|
||||
|
||||
.application.sheet.dh-style:not(.minimized) {
|
||||
.window-content {
|
||||
opacity: 1;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
}
|
||||
|
||||
.application.sheet.dh-style .window-content {
|
||||
overflow: initial;
|
||||
backdrop-filter: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.theme-dark {
|
||||
.application.sheet.dh-style {
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
}
|
||||
|
||||
.theme-light {
|
||||
.application.sheet.dh-style {
|
||||
background-image: url('../assets/parchments/dh-parchment-light.png');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
}
|
||||
|
||||
.application.sheet.daggerheart.dh-style {
|
||||
.window-content {
|
||||
position: relative;
|
||||
top: -36px;
|
||||
|
||||
.tab {
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
46
styles/less/global/tab-actions.less
Normal file
46
styles/less/global/tab-actions.less
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
@import '../utils/colors.less';
|
||||
@import '../utils/fonts.less';
|
||||
|
||||
.sheet.daggerheart.dh-style {
|
||||
.tab.actions {
|
||||
.actions-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
gap: 5px;
|
||||
|
||||
.action-item {
|
||||
display: grid;
|
||||
align-items: center;
|
||||
grid-template-columns: 1fr 4fr 1fr;
|
||||
cursor: pointer;
|
||||
|
||||
h4 {
|
||||
font-family: @font-body;
|
||||
font-weight: lighter;
|
||||
color: @beige;
|
||||
}
|
||||
|
||||
.image {
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
object-fit: cover;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.controls {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
a {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
11
styles/less/items/domainCard.less
Normal file
11
styles/less/items/domainCard.less
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
@import '../utils/colors.less';
|
||||
@import '../utils/fonts.less';
|
||||
|
||||
.application.sheet.daggerheart.dh-style.domain-card {
|
||||
section.tab {
|
||||
height: 400px;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,62 +1,20 @@
|
|||
@import '../utils/colors.less';
|
||||
@import '../utils/fonts.less';
|
||||
|
||||
.application.sheet.daggerheart.dh-style.feature {
|
||||
.item-sheet-header {
|
||||
display: flex;
|
||||
|
||||
.profile {
|
||||
height: 130px;
|
||||
width: 130px;
|
||||
}
|
||||
}
|
||||
|
||||
section.tab {
|
||||
height: 400px;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
|
||||
}
|
||||
|
||||
.tab.actions {
|
||||
.actions-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
gap: 5px;
|
||||
|
||||
.action-item {
|
||||
display: grid;
|
||||
align-items: center;
|
||||
grid-template-columns: 1fr 4fr 1fr;
|
||||
cursor: pointer;
|
||||
|
||||
h4 {
|
||||
font-family: @font-body;
|
||||
font-weight: lighter;
|
||||
color: @beige;
|
||||
}
|
||||
|
||||
.image {
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
object-fit: cover;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.controls {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
a {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@import '../utils/colors.less';
|
||||
@import '../utils/fonts.less';
|
||||
|
||||
.application.sheet.daggerheart.dh-style.feature {
|
||||
.item-sheet-header {
|
||||
display: flex;
|
||||
|
||||
.profile {
|
||||
height: 130px;
|
||||
width: 130px;
|
||||
}
|
||||
}
|
||||
|
||||
section.tab {
|
||||
height: 400px;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
<div>
|
||||
<header class="flexcol">
|
||||
<div class="title-container">
|
||||
<img class="flex0" src="{{document.img}}" data-edit="img" data-action="onEditImage" title="{{document.name}}" height="64" width="64"/>
|
||||
<div class="title-name">
|
||||
{{formInput fields.name value=source.name rootId=partId}}
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
{{> "systems/daggerheart/templates/sheets/parts/heritage.hbs" }}
|
||||
</div>
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
<div>
|
||||
<header class="flexcol">
|
||||
<div class="title-container">
|
||||
<img class="flex0" src="{{document.img}}" data-edit="img" data-action="onEditImage" title="{{document.name}}" height="64" width="64"/>
|
||||
<div class="title-name">
|
||||
{{formInput fields.name value=source.name rootId=partId}}
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
{{> "systems/daggerheart/templates/sheets/parts/heritage.hbs" }}
|
||||
</div>
|
||||
|
|
@ -1,101 +0,0 @@
|
|||
<div>
|
||||
<header class="flexcol">
|
||||
<div class="title-container">
|
||||
<img class="flex0" src="{{source.img}}" data-edit="img" data-action="onEditImage" title="{{source.name}}" height="64" width="64"/>
|
||||
<div class="title-name">
|
||||
{{formInput fields.name value=source.name rootId=partId}}
|
||||
</div>
|
||||
</div>
|
||||
<nav class="sheet-tabs tabs">
|
||||
{{#each tabs as |tab|}}
|
||||
<a class="{{tab.cssClass}}" data-action="tab" data-group="{{tab.group}}" data-tab="{{tab.id}}">
|
||||
<i class="{{tab.icon}}"></i>
|
||||
<label>{{localize tab.label}}</label>
|
||||
</a>
|
||||
{{/each}}
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<section class="sheet-body">
|
||||
<div class="tab {{this.tabs.general.cssClass}}" data-group="primary" data-tab="general">
|
||||
{{formField systemFields.type value=source.system.type label="Type" localize=true blank=""}}
|
||||
{{formField systemFields.foundation value=source.system.foundation label="Foundation" }}
|
||||
{{formField systemFields.domain value=source.system.domain label="Domain" localize=true blank=""}}
|
||||
{{formField systemFields.level value=source.system.level label="level" data-dtype="Number"}}
|
||||
{{formField systemFields.recallCost value=source.system.recallCost label="Recall Cost" data-dtype="Number"}}
|
||||
{{formField systemFields.effect value=source.system.effect label="Description" enriched=source.system.effect toggled=true}}
|
||||
</div>
|
||||
|
||||
<div class="tab {{this.tabs.actions.cssClass}}" data-group="primary" data-tab="actions">
|
||||
<h2>{{localize "Actions"}} <i class="fa-solid fa-plus icon-button" data-action="addAction"></i></h2>
|
||||
<div class="flexrow">
|
||||
{{#each source.system.actions as |action index|}}
|
||||
<div data-action="editAction" data-index="{{index}}" class="ability-chip">
|
||||
<img src="{{action.img}}" />
|
||||
<div>{{action.name}}</div>
|
||||
<button data-action="removeAction" data-index="{{index}}"><i class="fa-solid fa-x"></i></button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
{{!-- <form class={{cssClass}} autocomplete="off">
|
||||
<header class="flexcol">
|
||||
<div class="flexrow">
|
||||
<img class="flex0" src="{{item.img}}" data-edit="img" title="{{item.name}}" height="64" width="64"/>
|
||||
<div class="title-name">
|
||||
<h2><input name="name" type="text" value="{{item.name}}" placeholder="{{ localize 'Name' }}"/></h2>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section class="sheet-body">
|
||||
<div class="form-group">
|
||||
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Category"}}</label>
|
||||
<div class="form-fields">
|
||||
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Type"}}</label>
|
||||
<select name="system.type">
|
||||
{{selectOptions config.DOMAIN.cardTypes selected=item.system.type labelAttr="name" localize=true blank=""}}
|
||||
</select>
|
||||
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Foundation"}}</label>
|
||||
<input name="system.foundation" type="checkbox" {{checked item.system.foundation}} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Domain"}}</label>
|
||||
<div class="form-fields">
|
||||
<select name="system.domain">
|
||||
{{selectOptions config.DOMAIN.domains selected=item.system.domain labelAttr="name" localize=true blank=""}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Costs"}}</label>
|
||||
<div class="form-fields">
|
||||
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Level"}}</label>
|
||||
<input name="system.level" value="{{item.system.level}}" type="text" data-dtype="Number" />
|
||||
<label>{{localize "DAGGERHEART.Sheets.DomainCard.RecallCost"}}</label>
|
||||
<input name="system.recallCost" value="{{item.system.recallCost}}" type="text" data-dtype="Number" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="domain-card-description">
|
||||
<h2>{{localize "DAGGERHEART.Sheets.DomainCard.Description"}}</h2>
|
||||
{{editor item.system.effect target="system.effect" button=true}}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<h2>{{localize "Actions"}} <i class="fa-solid fa-plus icon-button" data-action="addAction"></i></h2>
|
||||
<div class="flexrow">
|
||||
{{#each this.actions as |action index|}}
|
||||
<div data-action="editAction" data-index="{{index}}" class="ability-chip">
|
||||
<img src="{{action.img}}" />
|
||||
<div>{{action.name}}</div>
|
||||
<button data-action="removeAction" data-index="{{index}}"><i class="fa-solid fa-x"></i></button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</form> --}}
|
||||
28
templates/sheets/global/partials/feature-section-item.hbs
Normal file
28
templates/sheets/global/partials/feature-section-item.hbs
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<li class='feature-item' data-feature-id='{{feature.id}}'>
|
||||
<div class='feature-line'>
|
||||
<img class='image' src='{{feature.img}}' />
|
||||
<h4>
|
||||
{{feature.name}}
|
||||
</h4>
|
||||
{{#unless hideContrals}}
|
||||
<div class='controls'>
|
||||
<a
|
||||
class='effect-control'
|
||||
data-action='editFeature'
|
||||
data-feature={{feature.uuid}}
|
||||
data-tooltip='{{localize "DAGGERHEART.Tooltip.openItemWorld"}}'
|
||||
>
|
||||
<i class="fa-solid fa-globe"></i>
|
||||
</a>
|
||||
<a
|
||||
class='effect-control'
|
||||
data-action='deleteFeature'
|
||||
data-feature={{feature.uuid}}
|
||||
data-tooltip='{{localize "DAGGERHEART.Tooltip.delete"}}'
|
||||
>
|
||||
<i class='fas fa-trash'></i>
|
||||
</a>
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</li>
|
||||
0
templates/sheets/items/feature/actions.hbs → templates/sheets/global/tabs/tab-actions.hbs
Executable file → Normal file
0
templates/sheets/items/feature/actions.hbs → templates/sheets/global/tabs/tab-actions.hbs
Executable file → Normal file
|
|
@ -6,5 +6,6 @@
|
|||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Feature.Description"}}</legend>
|
||||
{{formInput systemFields.description value=source.system.description enriched=source.system.description localize=true toggled=true}}
|
||||
{{formField systemFields.effect value=source.system.effect enriched=source.system.effect toggled=true}}
|
||||
</fieldset>
|
||||
</section>
|
||||
14
templates/sheets/global/tabs/tab-feature-section.hbs
Normal file
14
templates/sheets/global/tabs/tab-feature-section.hbs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<section
|
||||
class='tab {{tabs.features.cssClass}} {{tabs.features.id}}'
|
||||
data-tab='{{tabs.features.id}}'
|
||||
data-group='{{tabs.features.group}}'
|
||||
>
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Feature.Tabs.Features"}}</legend>
|
||||
<div class="feature-list">
|
||||
{{#each source.system.abilities as |feature key|}}
|
||||
{{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' feature=feature}}
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
</section>
|
||||
9
templates/sheets/items/ancestry/header.hbs
Normal file
9
templates/sheets/items/ancestry/header.hbs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<header class='item-card-header'>
|
||||
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
||||
<div class='item-info'>
|
||||
<h1 class='item-name'><input type='text' name='name' value='{{source.name}}' /></h1>
|
||||
<div class='item-description'>
|
||||
<h3>{{localize 'TYPES.Item.ancestry'}}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
9
templates/sheets/items/community/header.hbs
Normal file
9
templates/sheets/items/community/header.hbs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<header class='item-card-header'>
|
||||
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
||||
<div class='item-info'>
|
||||
<h1 class='item-name'><input type='text' name='name' value='{{source.name}}' /></h1>
|
||||
<div class='item-description'>
|
||||
<h3>{{localize 'TYPES.Item.community'}}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
26
templates/sheets/items/domainCard/header.hbs
Normal file
26
templates/sheets/items/domainCard/header.hbs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<header class='item-card-header'>
|
||||
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
||||
<div class="item-icons-list">
|
||||
<span class="item-icon">
|
||||
<span class="recall-label">{{localize "DAGGERHEART.Sheets.DomainCard.RecallCost"}}</span>
|
||||
<span class="recall-value">{{source.system.recallCost}}</span>
|
||||
<i class="fa-solid fa-bolt"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class='item-info'>
|
||||
<h1 class='item-name'><input type='text' name='name' value='{{source.name}}' /></h1>
|
||||
<div class='item-description'>
|
||||
<h3>{{localize 'TYPES.Item.domainCard'}}</h3>
|
||||
<h3>
|
||||
{{localize (concat 'DAGGERHEART.Domain.CardTypes.' source.system.type)}}
|
||||
<span>-</span>
|
||||
{{source.system.domain}}
|
||||
<span>-</span>
|
||||
<span>
|
||||
{{localize "DAGGERHEART.Sheets.DomainCard.Level"}}:
|
||||
{{source.system.level}}
|
||||
</span>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
20
templates/sheets/items/domainCard/settings.hbs
Normal file
20
templates/sheets/items/domainCard/settings.hbs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<section
|
||||
class='tab {{tabs.settings.cssClass}} {{tabs.settings.id}}'
|
||||
data-tab='{{tabs.settings.id}}'
|
||||
data-group='{{tabs.settings.group}}'
|
||||
>
|
||||
<fieldset class="two-columns">
|
||||
<legend>{{localize tabs.settings.label}}</legend>
|
||||
|
||||
<span>{{localize "DAGGERHEART.Sheets.DomainCard.Type"}}</span>
|
||||
{{formField systemFields.type value=source.system.type localize=true blank=""}}
|
||||
<span>{{localize "DAGGERHEART.Sheets.DomainCard.Foundation"}}</span>
|
||||
{{formField systemFields.foundation value=source.system.foundation }}
|
||||
<span>{{localize "DAGGERHEART.Sheets.DomainCard.Domain"}}</span>
|
||||
{{formField systemFields.domain value=source.system.domain localize=true blank=""}}
|
||||
<span>{{localize "DAGGERHEART.Sheets.DomainCard.Level"}}</span>
|
||||
{{formField systemFields.level value=source.system.level data-dtype="Number"}}
|
||||
<span>{{localize "DAGGERHEART.Sheets.DomainCard.RecallCost"}}</span>
|
||||
{{formField systemFields.recallCost value=source.system.recallCost data-dtype="Number"}}
|
||||
</fieldset>
|
||||
</section>
|
||||
Loading…
Add table
Add a link
Reference in a new issue