mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-06-05 20:34:15 +02:00
Compare commits
No commits in common. "ddf4747310cdb39de9ca95738aa6084e0f1a7f89" and "273f66678496fdde7478e988c54723a076710b12" have entirely different histories.
ddf4747310
...
273f666784
84 changed files with 512 additions and 592 deletions
|
|
@ -778,9 +778,7 @@
|
||||||
"title": "Group Roll"
|
"title": "Group Roll"
|
||||||
},
|
},
|
||||||
"TokenConfig": {
|
"TokenConfig": {
|
||||||
"actorSizeUsed": "Actor size is set, determining the dimensions",
|
"actorSizeUsed": "Actor size is set, determining the dimensions"
|
||||||
"tokenSize": "Token Size",
|
|
||||||
"sizeCategory": "Size Category"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"CLASS": {
|
"CLASS": {
|
||||||
|
|
@ -2567,11 +2565,10 @@
|
||||||
"tokenImg": { "label": "Token Image" },
|
"tokenImg": { "label": "Token Image" },
|
||||||
"tokenRingImg": { "label": "Subject Texture" },
|
"tokenRingImg": { "label": "Subject Texture" },
|
||||||
"tokenSize": {
|
"tokenSize": {
|
||||||
"placeholder": "Token Size",
|
"placeholder": "Using character dimensions",
|
||||||
"disabledPlaceholder": "Token Size",
|
"disabledPlaceholder": "Set by character size",
|
||||||
"height": { "label": "Height" },
|
"height": { "label": "Height" },
|
||||||
"width": { "label": "Width" },
|
"width": { "label": "Width" },
|
||||||
"depth": { "label": "Depth" },
|
|
||||||
"scale": { "label": "Token Scale" }
|
"scale": { "label": "Token Scale" }
|
||||||
},
|
},
|
||||||
"evolved": {
|
"evolved": {
|
||||||
|
|
|
||||||
|
|
@ -175,14 +175,14 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
|
||||||
this.disadvantage = advantage === -1;
|
this.disadvantage = advantage === -1;
|
||||||
|
|
||||||
this.config.roll.advantage = this.config.roll.advantage === advantage ? 0 : advantage;
|
this.config.roll.advantage = this.config.roll.advantage === advantage ? 0 : advantage;
|
||||||
if (this.config.roll.advantage === 0) return this.render();
|
|
||||||
|
|
||||||
const defaultFaces =
|
if (this.config.roll.advantage === 1 && this.config.data.rules.roll.defaultAdvantageDice) {
|
||||||
this.config.roll.advantage === 1
|
const faces = Number.parseInt(this.config.data.rules.roll.defaultAdvantageDice);
|
||||||
? this.config.data.rules.roll.defaultAdvantageDice
|
this.roll.advantageFaces = Number.isNaN(faces) ? this.roll.advantageFaces : faces;
|
||||||
: this.config.data.rules.roll.defaultDisadvantageDice;
|
} else if (this.config.roll.advantage === -1 && this.config.data.rules.roll.defaultDisadvantageDice) {
|
||||||
const faces = Number.parseInt(defaultFaces);
|
const faces = Number.parseInt(this.config.data.rules.roll.defaultDisadvantageDice);
|
||||||
this.roll.advantageFaces = Number.isNaN(faces) ? this.roll.advantageFaces : faces;
|
this.roll.advantageFaces = Number.isNaN(faces) ? this.roll.advantageFaces : faces;
|
||||||
|
}
|
||||||
|
|
||||||
this.render();
|
this.render();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -204,7 +204,7 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.action.parent.metadata.isInventoryItem) {
|
if (this.action.parent.metadata?.isQuantifiable) {
|
||||||
options.quantity = {
|
options.quantity = {
|
||||||
label: 'DAGGERHEART.GENERAL.itemQuantity',
|
label: 'DAGGERHEART.GENERAL.itemQuantity',
|
||||||
group: 'Global'
|
group: 'Global'
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,6 @@ export default class DhActiveEffectConfig extends foundry.applications.sheets.Ac
|
||||||
const partContext = await super._preparePartContext(partId, context);
|
const partContext = await super._preparePartContext(partId, context);
|
||||||
switch (partId) {
|
switch (partId) {
|
||||||
case 'details':
|
case 'details':
|
||||||
partContext.isItemEffect = partContext.isItemEffect || this.options.isSetting;
|
|
||||||
const useGeneric = game.settings.get(
|
const useGeneric = game.settings.get(
|
||||||
CONFIG.DH.id,
|
CONFIG.DH.id,
|
||||||
CONFIG.DH.SETTINGS.gameSettings.appearance
|
CONFIG.DH.SETTINGS.gameSettings.appearance
|
||||||
|
|
|
||||||
|
|
@ -184,9 +184,6 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
for (const input of form.querySelectorAll('input:not([type=search]), .editor.prosemirror')) {
|
for (const input of form.querySelectorAll('input:not([type=search]), .editor.prosemirror')) {
|
||||||
input.disabled = disabled;
|
input.disabled = disabled;
|
||||||
}
|
}
|
||||||
for (const element of form.querySelectorAll('.input[contenteditable]')) {
|
|
||||||
element.classList.toggle('disabled', disabled);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @inheritDoc */
|
/** @inheritDoc */
|
||||||
|
|
@ -371,7 +368,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
const doc = getDocFromElementSync(target);
|
const doc = getDocFromElementSync(target);
|
||||||
return doc?.isOwner && !isItemWizardManaged(doc);
|
return doc?.isOwner && !isItemWizardManaged(doc);
|
||||||
},
|
},
|
||||||
onClick: async (event, target) => {
|
callback: async (target, event) => {
|
||||||
const doc = await getDocFromElement(target);
|
const doc = await getDocFromElement(target);
|
||||||
if (event.shiftKey) return doc.delete();
|
if (event.shiftKey) return doc.delete();
|
||||||
else return doc.deleteDialog();
|
else return doc.deleteDialog();
|
||||||
|
|
@ -396,7 +393,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
const doc = getDocFromElementSync(target);
|
const doc = getDocFromElementSync(target);
|
||||||
return doc?.isOwner && doc.system.inVault;
|
return doc?.isOwner && doc.system.inVault;
|
||||||
},
|
},
|
||||||
onClick: async (_, target) => {
|
callback: async target => {
|
||||||
const doc = await getDocFromElement(target);
|
const doc = await getDocFromElement(target);
|
||||||
const actorLoadout = doc.actor.system.loadoutSlot;
|
const actorLoadout = doc.actor.system.loadoutSlot;
|
||||||
if (actorLoadout.available) return doc.update({ 'system.inVault': false });
|
if (actorLoadout.available) return doc.update({ 'system.inVault': false });
|
||||||
|
|
@ -410,7 +407,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
const doc = getDocFromElementSync(target);
|
const doc = getDocFromElementSync(target);
|
||||||
return doc?.isOwner && doc.system.inVault;
|
return doc?.isOwner && doc.system.inVault;
|
||||||
},
|
},
|
||||||
onClick: async (event, target) => {
|
callback: async (target, event) => {
|
||||||
const doc = await getDocFromElement(target);
|
const doc = await getDocFromElement(target);
|
||||||
const actorLoadout = doc.actor.system.loadoutSlot;
|
const actorLoadout = doc.actor.system.loadoutSlot;
|
||||||
if (!actorLoadout.available) {
|
if (!actorLoadout.available) {
|
||||||
|
|
@ -449,7 +446,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
const doc = getDocFromElementSync(target);
|
const doc = getDocFromElementSync(target);
|
||||||
return doc?.isOwner && !doc.system.inVault;
|
return doc?.isOwner && !doc.system.inVault;
|
||||||
},
|
},
|
||||||
onClick: async (_, target) => (await getDocFromElement(target)).update({ 'system.inVault': true })
|
callback: async target => (await getDocFromElement(target)).update({ 'system.inVault': true })
|
||||||
}
|
}
|
||||||
].map(option => ({
|
].map(option => ({
|
||||||
...option,
|
...option,
|
||||||
|
|
@ -475,7 +472,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
const doc = getDocFromElementSync(target);
|
const doc = getDocFromElementSync(target);
|
||||||
return doc.isOwner && doc && !doc.system.equipped;
|
return doc.isOwner && doc && !doc.system.equipped;
|
||||||
},
|
},
|
||||||
onClick: (event, target) => CharacterSheet.#toggleEquipItem.call(this, event, target)
|
callback: (target, event) => CharacterSheet.#toggleEquipItem.call(this, event, target)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'unequip',
|
label: 'unequip',
|
||||||
|
|
@ -484,7 +481,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
const doc = getDocFromElementSync(target);
|
const doc = getDocFromElementSync(target);
|
||||||
return doc.isOwner && doc && doc.system.equipped;
|
return doc.isOwner && doc && doc.system.equipped;
|
||||||
},
|
},
|
||||||
onClick: (event, target) => CharacterSheet.#toggleEquipItem.call(this, event, target)
|
callback: (target, event) => CharacterSheet.#toggleEquipItem.call(this, event, target)
|
||||||
}
|
}
|
||||||
].map(option => ({
|
].map(option => ({
|
||||||
...option,
|
...option,
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ export default class Party extends DHBaseActorSheet {
|
||||||
actions: {
|
actions: {
|
||||||
openDocument: Party.#openDocument,
|
openDocument: Party.#openDocument,
|
||||||
deletePartyMember: Party.#deletePartyMember,
|
deletePartyMember: Party.#deletePartyMember,
|
||||||
|
deleteItem: Party.#deleteItem,
|
||||||
toggleHope: Party.#toggleHope,
|
toggleHope: Party.#toggleHope,
|
||||||
toggleHitPoints: Party.#toggleHitPoints,
|
toggleHitPoints: Party.#toggleHitPoints,
|
||||||
toggleStress: Party.#toggleStress,
|
toggleStress: Party.#toggleStress,
|
||||||
|
|
@ -508,4 +509,23 @@ export default class Party extends DHBaseActorSheet {
|
||||||
const newMembersList = currentMembers.filter(uuid => uuid !== doc.uuid);
|
const newMembersList = currentMembers.filter(uuid => uuid !== doc.uuid);
|
||||||
await this.document.update({ 'system.partyMembers': newMembersList });
|
await this.document.update({ 'system.partyMembers': newMembersList });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async #deleteItem(event, target) {
|
||||||
|
const doc = await getDocFromElement(target.closest('.inventory-item'));
|
||||||
|
if (!event.shiftKey) {
|
||||||
|
const confirmed = await foundry.applications.api.DialogV2.confirm({
|
||||||
|
window: {
|
||||||
|
title: game.i18n.format('DAGGERHEART.APPLICATIONS.DeleteConfirmation.title', {
|
||||||
|
type: game.i18n.localize('TYPES.Actor.party'),
|
||||||
|
name: doc.name
|
||||||
|
})
|
||||||
|
},
|
||||||
|
content: game.i18n.format('DAGGERHEART.APPLICATIONS.DeleteConfirmation.text', { name: doc.name })
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!confirmed) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.document.deleteEmbeddedDocuments('Item', [doc.id]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -424,7 +424,7 @@ export default function DHApplicationMixin(Base) {
|
||||||
const target = element.closest('[data-item-uuid]');
|
const target = element.closest('[data-item-uuid]');
|
||||||
return !target.dataset.disabled && target.dataset.itemType !== 'beastform';
|
return !target.dataset.disabled && target.dataset.itemType !== 'beastform';
|
||||||
},
|
},
|
||||||
onClick: async (_, target) => (await getDocFromElement(target)).update({ disabled: true })
|
callback: async target => (await getDocFromElement(target)).update({ disabled: true })
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'enableEffect',
|
label: 'enableEffect',
|
||||||
|
|
@ -433,7 +433,7 @@ export default function DHApplicationMixin(Base) {
|
||||||
const target = element.closest('[data-item-uuid]');
|
const target = element.closest('[data-item-uuid]');
|
||||||
return target.dataset.disabled && target.dataset.itemType !== 'beastform';
|
return target.dataset.disabled && target.dataset.itemType !== 'beastform';
|
||||||
},
|
},
|
||||||
onClick: async (_, target) => (await getDocFromElement(target)).update({ disabled: false })
|
callback: async target => (await getDocFromElement(target)).update({ disabled: false })
|
||||||
}
|
}
|
||||||
].map(option => ({
|
].map(option => ({
|
||||||
...option,
|
...option,
|
||||||
|
|
@ -478,9 +478,7 @@ export default function DHApplicationMixin(Base) {
|
||||||
(doc?.isOwner && (!doc?.hasOwnProperty('systemPath') || doc?.inCollection))
|
(doc?.isOwner && (!doc?.hasOwnProperty('systemPath') || doc?.inCollection))
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
onClick: async (_, target) => {
|
callback: async target => (await getDocFromElement(target)).sheet.render({ force: true })
|
||||||
return (await getDocFromElement(target)).sheet.render({ force: true });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -495,7 +493,7 @@ export default function DHApplicationMixin(Base) {
|
||||||
!foundry.utils.isEmpty(doc?.damage?.parts);
|
!foundry.utils.isEmpty(doc?.damage?.parts);
|
||||||
return doc?.isOwner && hasDamage;
|
return doc?.isOwner && hasDamage;
|
||||||
},
|
},
|
||||||
onClick: async (event, target) => {
|
callback: async (target, event) => {
|
||||||
const doc = await getDocFromElement(target),
|
const doc = await getDocFromElement(target),
|
||||||
action = doc?.system?.attack ?? doc;
|
action = doc?.system?.attack ?? doc;
|
||||||
const config = action.prepareConfig(event);
|
const config = action.prepareConfig(event);
|
||||||
|
|
@ -515,7 +513,7 @@ export default function DHApplicationMixin(Base) {
|
||||||
const doc = getDocFromElementSync(target);
|
const doc = getDocFromElementSync(target);
|
||||||
return doc?.isOwner && !(doc.type === 'domainCard' && doc.system.inVault);
|
return doc?.isOwner && !(doc.type === 'domainCard' && doc.system.inVault);
|
||||||
},
|
},
|
||||||
onClick: async (event, target) => (await getDocFromElement(target)).use(event)
|
callback: async (target, event) => (await getDocFromElement(target)).use(event)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -523,7 +521,7 @@ export default function DHApplicationMixin(Base) {
|
||||||
options.push({
|
options.push({
|
||||||
label: 'DAGGERHEART.APPLICATIONS.ContextMenu.sendToChat',
|
label: 'DAGGERHEART.APPLICATIONS.ContextMenu.sendToChat',
|
||||||
icon: 'fa-solid fa-message',
|
icon: 'fa-solid fa-message',
|
||||||
onClick: async (_, target) => (await getDocFromElement(target)).toChat(this.document.uuid)
|
callback: async target => (await getDocFromElement(target)).toChat(this.document.uuid)
|
||||||
});
|
});
|
||||||
|
|
||||||
if (deletable)
|
if (deletable)
|
||||||
|
|
@ -535,7 +533,7 @@ export default function DHApplicationMixin(Base) {
|
||||||
const doc = getDocFromElementSync(target);
|
const doc = getDocFromElementSync(target);
|
||||||
return doc?.isOwner !== false && target.dataset.itemType !== 'beastform';
|
return doc?.isOwner !== false && target.dataset.itemType !== 'beastform';
|
||||||
},
|
},
|
||||||
onClick: async (event, target) => {
|
callback: async (target, event) => {
|
||||||
const doc = await getDocFromElement(target);
|
const doc = await getDocFromElement(target);
|
||||||
if (event.shiftKey) return doc.delete();
|
if (event.shiftKey) return doc.delete();
|
||||||
else return doc.deleteDialog();
|
else return doc.deleteDialog();
|
||||||
|
|
|
||||||
|
|
@ -166,15 +166,6 @@ export default class DHBaseActorSheet extends DHApplicationMixin(ActorSheetV2) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Add support for input content editables */
|
|
||||||
_toggleDisabled(disabled) {
|
|
||||||
super._toggleDisabled(disabled);
|
|
||||||
const form = this.form;
|
|
||||||
for (const element of form.querySelectorAll('.input[contenteditable]')) {
|
|
||||||
element.classList.toggle('disabled', disabled);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Context Menu */
|
/* Context Menu */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ export default class DHBaseItemSheet extends DHApplicationMixin(ItemSheetV2) {
|
||||||
options.push({
|
options.push({
|
||||||
name: 'CONTROLS.CommonDelete',
|
name: 'CONTROLS.CommonDelete',
|
||||||
icon: '<i class="fa-solid fa-trash"></i>',
|
icon: '<i class="fa-solid fa-trash"></i>',
|
||||||
onClick: async (_, target) => {
|
callback: async target => {
|
||||||
const feature = await getDocFromElement(target);
|
const feature = await getDocFromElement(target);
|
||||||
if (!feature) return;
|
if (!feature) return;
|
||||||
const confirmed = await foundry.applications.api.DialogV2.confirm({
|
const confirmed = await foundry.applications.api.DialogV2.confirm({
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
import { getDocFromElement } from '../../helpers/utils.mjs';
|
|
||||||
import { RefreshType, socketEvent } from '../../systemRegistration/socket.mjs';
|
import { RefreshType, socketEvent } from '../../systemRegistration/socket.mjs';
|
||||||
|
|
||||||
const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api;
|
const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api;
|
||||||
|
|
@ -48,8 +47,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||||
expandContent: this.expandContent,
|
expandContent: this.expandContent,
|
||||||
resetFilters: this.resetFilters,
|
resetFilters: this.resetFilters,
|
||||||
sortList: this.sortList,
|
sortList: this.sortList,
|
||||||
openSettings: this.openSettings,
|
openSettings: this.openSettings
|
||||||
viewSheet: this.#onViewSheet
|
|
||||||
},
|
},
|
||||||
position: {
|
position: {
|
||||||
left: 100,
|
left: 100,
|
||||||
|
|
@ -308,8 +306,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||||
{
|
{
|
||||||
items: this.items,
|
items: this.items,
|
||||||
menu: this.selectedMenu,
|
menu: this.selectedMenu,
|
||||||
formatLabel: this.formatLabel,
|
formatLabel: this.formatLabel
|
||||||
viewSheet: this.items[0] instanceof Actor
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -571,11 +568,6 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static async #onViewSheet(_, target) {
|
|
||||||
const document = await getDocFromElement(target);
|
|
||||||
document?.sheet?.render(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
_createDragProcess() {
|
_createDragProcess() {
|
||||||
new foundry.applications.ux.DragDrop.implementation({
|
new foundry.applications.ux.DragDrop.implementation({
|
||||||
dragSelector: '.item-container',
|
dragSelector: '.item-container',
|
||||||
|
|
@ -614,16 +606,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||||
items: {
|
items: {
|
||||||
folder: 'equipments',
|
folder: 'equipments',
|
||||||
render: {
|
render: {
|
||||||
folders: [
|
noFolder: true
|
||||||
'equipments',
|
|
||||||
'ancestries',
|
|
||||||
'classes',
|
|
||||||
'subclasses',
|
|
||||||
'domains',
|
|
||||||
'communities',
|
|
||||||
'beastforms'
|
|
||||||
// excluded: features
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
compendium: {}
|
compendium: {}
|
||||||
|
|
|
||||||
|
|
@ -148,14 +148,10 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
|
||||||
: null;
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Returns true if the action is usable */
|
||||||
* Returns true if the action is usable.
|
|
||||||
* An action is usable on any actor type. For example, an adversary might have a base attack action.
|
|
||||||
*/
|
|
||||||
get usable() {
|
get usable() {
|
||||||
const actor = this.actor;
|
const actor = this.actor;
|
||||||
const pack = actor?.pack ? game.packs.get(actor.pack) : null;
|
return this.isOwner && actor?.type === 'character';
|
||||||
return !pack?.locked && this.isOwner;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static getRollType(parent) {
|
static getRollType(parent) {
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,6 @@ export default class BeastformEffect extends BaseEffect {
|
||||||
static migrateData(source) {
|
static migrateData(source) {
|
||||||
if (!source.characterTokenData.tokenSize.height) source.characterTokenData.tokenSize.height = 1;
|
if (!source.characterTokenData.tokenSize.height) source.characterTokenData.tokenSize.height = 1;
|
||||||
if (!source.characterTokenData.tokenSize.width) source.characterTokenData.tokenSize.width = 1;
|
if (!source.characterTokenData.tokenSize.width) source.characterTokenData.tokenSize.width = 1;
|
||||||
if (!source.characterTokenData.tokenSize.depth) source.characterTokenData.tokenSize.depth = 1;
|
|
||||||
|
|
||||||
return super.migrateData(source);
|
return super.migrateData(source);
|
||||||
}
|
}
|
||||||
|
|
@ -53,8 +52,7 @@ export default class BeastformEffect extends BaseEffect {
|
||||||
if (this.parent.parent.type === 'character') {
|
if (this.parent.parent.type === 'character') {
|
||||||
const baseUpdate = {
|
const baseUpdate = {
|
||||||
height: this.characterTokenData.tokenSize.height,
|
height: this.characterTokenData.tokenSize.height,
|
||||||
width: this.characterTokenData.tokenSize.width,
|
width: this.characterTokenData.tokenSize.width
|
||||||
depth: this.characterTokenData.tokenSize.depth
|
|
||||||
};
|
};
|
||||||
const update = {
|
const update = {
|
||||||
...baseUpdate,
|
...baseUpdate,
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ export default class CostField extends fields.ArrayField {
|
||||||
static calcCosts(costs) {
|
static calcCosts(costs) {
|
||||||
const resources = CostField.getResources.call(this, costs);
|
const resources = CostField.getResources.call(this, costs);
|
||||||
let filteredCosts = costs;
|
let filteredCosts = costs;
|
||||||
if (this.parent?.isInventoryItem && this.parent.consumeOnUse === false) {
|
if (this.parent?.metadata.isQuantifiable && this.parent.consumeOnUse === false) {
|
||||||
filteredCosts = filteredCosts.filter(c => c.key !== 'quantity');
|
filteredCosts = filteredCosts.filter(c => c.key !== 'quantity');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,8 +51,7 @@ export default class DHBeastform extends BaseDataItem {
|
||||||
}),
|
}),
|
||||||
scale: new fields.NumberField({ nullable: false, min: 0.2, max: 3, step: 0.05, initial: 1 }),
|
scale: new fields.NumberField({ nullable: false, min: 0.2, max: 3, step: 0.05, initial: 1 }),
|
||||||
height: new fields.NumberField({ integer: true, min: 1, initial: null, nullable: true }),
|
height: new fields.NumberField({ integer: true, min: 1, initial: null, nullable: true }),
|
||||||
width: new fields.NumberField({ integer: true, min: 1, initial: null, nullable: true }),
|
width: new fields.NumberField({ integer: true, min: 1, initial: null, nullable: true })
|
||||||
depth: new fields.NumberField({ integer: true, min: 1, initial: null, nullable: true })
|
|
||||||
}),
|
}),
|
||||||
mainTrait: new fields.StringField({
|
mainTrait: new fields.StringField({
|
||||||
required: true,
|
required: true,
|
||||||
|
|
@ -193,8 +192,7 @@ export default class DHBeastform extends BaseDataItem {
|
||||||
tokenSize: {
|
tokenSize: {
|
||||||
scale: this.parent.parent.prototypeToken.texture.scaleX,
|
scale: this.parent.parent.prototypeToken.texture.scaleX,
|
||||||
height: this.parent.parent.prototypeToken.height,
|
height: this.parent.parent.prototypeToken.height,
|
||||||
width: this.parent.parent.prototypeToken.width,
|
width: this.parent.parent.prototypeToken.width
|
||||||
depth: this.parent.parent.prototypeToken.depth
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
advantageOn: this.advantageOn,
|
advantageOn: this.advantageOn,
|
||||||
|
|
@ -213,12 +211,10 @@ export default class DHBeastform extends BaseDataItem {
|
||||||
: null;
|
: null;
|
||||||
const width = autoTokenSize ?? this.tokenSize.width;
|
const width = autoTokenSize ?? this.tokenSize.width;
|
||||||
const height = autoTokenSize ?? this.tokenSize.height;
|
const height = autoTokenSize ?? this.tokenSize.height;
|
||||||
const depth = autoTokenSize ?? this.tokenSize.depth;
|
|
||||||
|
|
||||||
const prototypeTokenUpdate = {
|
const prototypeTokenUpdate = {
|
||||||
height,
|
height,
|
||||||
width,
|
width,
|
||||||
depth,
|
|
||||||
texture: {
|
texture: {
|
||||||
src: this.tokenImg,
|
src: this.tokenImg,
|
||||||
scaleX: this.tokenSize.scale,
|
scaleX: this.tokenSize.scale,
|
||||||
|
|
|
||||||
|
|
@ -148,22 +148,14 @@ export default class DualityRoll extends D20Roll {
|
||||||
}
|
}
|
||||||
|
|
||||||
applyAdvantage() {
|
applyAdvantage() {
|
||||||
const advDieClass = this.hasAdvantage
|
if (this.hasAdvantage || this.hasDisadvantage) {
|
||||||
? game.system.api.dice.diceTypes.AdvantageDie
|
const dieFaces = this.advantageFaces,
|
||||||
: this.hasDisadvantage
|
advDie = new foundry.dice.terms.Die({ faces: dieFaces, number: this.advantageNumber });
|
||||||
? game.system.api.dice.diceTypes.DisadvantageDie
|
if (this.advantageNumber > 1) advDie.modifiers = ['kh'];
|
||||||
: null;
|
this.terms.push(
|
||||||
if (advDieClass) {
|
new foundry.dice.terms.OperatorTerm({ operator: this.hasDisadvantage ? '-' : '+' }),
|
||||||
const advDie = new advDieClass({ faces: this.advantageFaces, number: this.advantageNumber });
|
advDie
|
||||||
if (this.terms.length < 4) {
|
);
|
||||||
if (this.advantageNumber > 1) advDie.modifiers = ['kh'];
|
|
||||||
this.terms.push(
|
|
||||||
new foundry.dice.terms.OperatorTerm({ operator: this.hasDisadvantage ? '-' : '+' }),
|
|
||||||
advDie
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
this.terms[4] = advDie;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (this.rallyFaces)
|
if (this.rallyFaces)
|
||||||
this.terms.push(
|
this.terms.push(
|
||||||
|
|
|
||||||
|
|
@ -73,10 +73,8 @@ export default class DHItem extends foundry.documents.Item {
|
||||||
/** Returns true if the item can be used */
|
/** Returns true if the item can be used */
|
||||||
get usable() {
|
get usable() {
|
||||||
const actor = this.actor;
|
const actor = this.actor;
|
||||||
const pack = actor?.pack ? game.packs.get(actor.pack) : null;
|
const actionsList = this.system.actionsList;
|
||||||
const hasActions = this.system.actionsList?.size || this.system.actionsList?.length;
|
return this.isOwner && actor?.type === 'character' && (actionsList?.size || actionsList?.length);
|
||||||
const isValidType = actor?.type === 'character' || this.type === 'feature';
|
|
||||||
return !pack?.locked && this.isOwner && isValidType && hasActions;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @inheritdoc */
|
/** @inheritdoc */
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ export default class DhScene extends Scene {
|
||||||
const prototype = tokenDoc.actor?.prototypeToken ?? tokenDoc;
|
const prototype = tokenDoc.actor?.prototypeToken ?? tokenDoc;
|
||||||
this.#sizeSyncBatch.set(tokenDoc.id, {
|
this.#sizeSyncBatch.set(tokenDoc.id, {
|
||||||
size: tokenSize,
|
size: tokenSize,
|
||||||
prototypeSize: { width: prototype.width, height: prototype.height, depth: prototype.depth },
|
prototypeSize: { width: prototype.width, height: prototype.height },
|
||||||
position: { x: tokenDoc.x, y: tokenDoc.y, elevation: tokenDoc.elevation }
|
position: { x: tokenDoc.x, y: tokenDoc.y, elevation: tokenDoc.elevation }
|
||||||
});
|
});
|
||||||
this.#processSyncBatch();
|
this.#processSyncBatch();
|
||||||
|
|
@ -36,13 +36,11 @@ export default class DhScene extends Scene {
|
||||||
const tokenSize = tokenSizes[size];
|
const tokenSize = tokenSizes[size];
|
||||||
const width = size !== CONFIG.DH.ACTOR.tokenSize.custom.id ? tokenSize : prototypeSize.width;
|
const width = size !== CONFIG.DH.ACTOR.tokenSize.custom.id ? tokenSize : prototypeSize.width;
|
||||||
const height = size !== CONFIG.DH.ACTOR.tokenSize.custom.id ? tokenSize : prototypeSize.height;
|
const height = size !== CONFIG.DH.ACTOR.tokenSize.custom.id ? tokenSize : prototypeSize.height;
|
||||||
const depth = size !== CONFIG.DH.ACTOR.tokenSize.custom.id ? tokenSize : prototypeSize.depth;
|
|
||||||
const updatedPosition = DHToken.getSnappedPositionInSquareGrid(this.grid, position, width, height);
|
const updatedPosition = DHToken.getSnappedPositionInSquareGrid(this.grid, position, width, height);
|
||||||
return {
|
return {
|
||||||
_id,
|
_id,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
depth,
|
|
||||||
...updatedPosition
|
...updatedPosition
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -66,8 +66,7 @@ export default class DHToken extends CONFIG.Token.documentClass {
|
||||||
if (tokenSize && actor.system.size !== CONFIG.DH.ACTOR.tokenSize.custom.id) {
|
if (tokenSize && actor.system.size !== CONFIG.DH.ACTOR.tokenSize.custom.id) {
|
||||||
document.updateSource({
|
document.updateSource({
|
||||||
width: tokenSize,
|
width: tokenSize,
|
||||||
height: tokenSize,
|
height: tokenSize
|
||||||
depth: tokenSize
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -91,7 +90,7 @@ export default class DHToken extends CONFIG.Token.documentClass {
|
||||||
) {
|
) {
|
||||||
const tokenSizes = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).tokenSizes;
|
const tokenSizes = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).tokenSizes;
|
||||||
const tokenSize = tokenSizes[update.system.size];
|
const tokenSize = tokenSizes[update.system.size];
|
||||||
if (tokenSize !== this.width || tokenSize !== this.height || tokenSize !== this.depth) {
|
if (tokenSize !== this.width || tokenSize !== this.height) {
|
||||||
this.parent?.syncTokenDimensions(this, update.system.size);
|
this.parent?.syncTokenDimensions(this, update.system.size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ export default class DhTokenManager {
|
||||||
if (tokenSize && actor.system.size !== CONFIG.DH.ACTOR.tokenSize.custom.id) {
|
if (tokenSize && actor.system.size !== CONFIG.DH.ACTOR.tokenSize.custom.id) {
|
||||||
tokenData.width = tokenSize;
|
tokenData.width = tokenSize;
|
||||||
tokenData.height = tokenSize;
|
tokenData.height = tokenSize;
|
||||||
tokenData.depth = tokenSize;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: var(--font-size-16);
|
font-size: var(--font-size-16);
|
||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
|
@ -58,7 +58,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
|
|
@ -164,7 +164,7 @@
|
||||||
|
|
||||||
.hybrid-data {
|
.hybrid-data {
|
||||||
padding: 0 2px;
|
padding: 0 2px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
|
@ -191,7 +191,7 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
|
@ -226,7 +226,7 @@
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
|
|
||||||
.trait-card {
|
.trait-card {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
padding: 0 2px;
|
padding: 0 2px;
|
||||||
background-image: url(../assets/parchments/dh-parchment-light.png);
|
background-image: url(../assets/parchments/dh-parchment-light.png);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@beige, @dark);
|
color: light-dark(@beige, @dark);
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
|
|
@ -203,7 +203,7 @@
|
||||||
height: 16px;
|
height: 16px;
|
||||||
width: 110px;
|
width: 110px;
|
||||||
min-height: unset;
|
min-height: unset;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
color: light-dark(@beige, @beige);
|
color: light-dark(@beige, @beige);
|
||||||
background-color: light-dark(var(--color-warm-3), var(--color-warm-3));
|
background-color: light-dark(var(--color-warm-3), var(--color-warm-3));
|
||||||
|
|
||||||
|
|
@ -230,7 +230,7 @@
|
||||||
.suggested-trait-container {
|
.suggested-trait-container {
|
||||||
width: 56px;
|
width: 56px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@beige, @dark);
|
color: light-dark(@beige, @dark);
|
||||||
background-image: url('../assets/parchments/dh-parchment-light.png');
|
background-image: url('../assets/parchments/dh-parchment-light.png');
|
||||||
|
|
@ -345,7 +345,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
|
||||||
.nav-section-text {
|
.nav-section-text {
|
||||||
|
|
@ -383,7 +383,7 @@
|
||||||
width: 56px;
|
width: 56px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@beige, @dark);
|
color: light-dark(@beige, @dark);
|
||||||
background-image: url(../assets/parchments/dh-parchment-light.png);
|
background-image: url(../assets/parchments/dh-parchment-light.png);
|
||||||
|
|
@ -447,7 +447,7 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
.simple-equipment {
|
.simple-equipment {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -466,7 +466,7 @@
|
||||||
top: -8px;
|
top: -8px;
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: @dark;
|
color: @dark;
|
||||||
background-image: url('../assets/parchments/dh-parchment-light.png');
|
background-image: url('../assets/parchments/dh-parchment-light.png');
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
border-top: 0;
|
border-top: 0;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&[disabled] {
|
&[disabled] {
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,7 @@
|
||||||
|
|
||||||
i {
|
i {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
// color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@
|
||||||
|
|
||||||
.mark-container {
|
.mark-container {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
padding: 0 1px;
|
padding: 0 1px;
|
||||||
|
|
@ -126,7 +126,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.chip-inner-container {
|
.chip-inner-container {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
@ -129,7 +129,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
.activity-marker {
|
.activity-marker {
|
||||||
font-size: 0.5rem;
|
font-size: 0.5rem;
|
||||||
flex: none;
|
flex: none;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
|
|
||||||
.activity-selected-marker {
|
.activity-selected-marker {
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
||||||
|
|
@ -78,7 +78,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.refreshable-container {
|
.refreshable-container {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
h1 {
|
h1 {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font: 700 var(--font-size-24) var(--dh-font-subtitle);
|
font: 700 var(--font-size-24) var(--dh-font-subtitle);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
button {
|
button {
|
||||||
--button-text-color: @color-text-primary;
|
--button-text-color: var(--color-text-primary);
|
||||||
--button-size: 1.5em;
|
--button-size: 1.5em;
|
||||||
padding: 0 var(--spacer-4);
|
padding: 0 var(--spacer-4);
|
||||||
img {
|
img {
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
img {
|
img {
|
||||||
width: 136px;
|
width: 136px;
|
||||||
height: 136px;
|
height: 136px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
a,
|
a,
|
||||||
span {
|
span {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.selected {
|
&.selected {
|
||||||
background: light-dark(@dark-blue-40, @golden-40);
|
background: light-dark(@dark-blue-40, @golden-40);
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 4px 4px;
|
padding: 4px 4px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
@import '../../utils/mixin.less';
|
|
||||||
|
|
||||||
.theme-light .daggerheart.dialog.dh-style.views.tag-team-dialog {
|
.theme-light .daggerheart.dialog.dh-style.views.tag-team-dialog {
|
||||||
.initialization-container .members-container .member-container {
|
.initialization-container .members-container .member-container {
|
||||||
.member-name {
|
.member-name {
|
||||||
|
|
@ -36,7 +34,7 @@
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 11.5rem;
|
height: 11.5rem;
|
||||||
width: 122px;
|
width: 122px;
|
||||||
|
|
@ -62,9 +60,19 @@
|
||||||
padding: 5rem 4px var(--spacer-8) 4px;
|
padding: 5rem 4px var(--spacer-8) 4px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
color: @color-text-primary;
|
color: var(--color-text-primary);
|
||||||
text-shadow: 1px 1px 2px var(--shadow-color), 0 0 10px var(--shadow-color);
|
text-shadow: 1px 1px 2px var(--shadow-color), 0 0 10px var(--shadow-color);
|
||||||
.smooth-gradient-ease-in-out(background-image, to bottom, var(--shadow-color), 100%);
|
|
||||||
|
// Basic "scrim" gradient
|
||||||
|
background-image: linear-gradient(
|
||||||
|
to top,
|
||||||
|
var(--shadow-color),
|
||||||
|
rgba(from var(--shadow-color) r g b / 0.834) 10.6%,
|
||||||
|
rgba(from var(--shadow-color) r g b / 0.541) 34%,
|
||||||
|
rgba(from var(--shadow-color) r g b / 0.382) 47%,
|
||||||
|
rgba(from var(--shadow-color) r g b / 0.194) 65%,
|
||||||
|
transparent 100%
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
.daggerheart.dialog.dh-style.views.tag-team-dialog .window-content {
|
.daggerheart.dialog.dh-style.views.tag-team-dialog .window-content {
|
||||||
h1 {
|
h1 {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font: 700 var(--font-size-24) var(--dh-font-subtitle);
|
font: 700 var(--font-size-24) var(--dh-font-subtitle);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
img {
|
img {
|
||||||
height: 64px;
|
height: 64px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
.member-name {
|
.member-name {
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
.roll-title {
|
.roll-title {
|
||||||
font-size: var(--font-size-20);
|
font-size: var(--font-size-20);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -72,7 +72,7 @@
|
||||||
|
|
||||||
&::before,
|
&::before,
|
||||||
&::after {
|
&::after {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
content: '';
|
content: '';
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
|
|
@ -202,7 +202,7 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
i {
|
i {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-size: 48px;
|
font-size: 48px;
|
||||||
|
|
||||||
&.inactive {
|
&.inactive {
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,8 @@
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -81,7 +81,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
@import '../utils/fonts.less';
|
@import '../utils/fonts.less';
|
||||||
|
|
||||||
.dh-style {
|
.dh-style {
|
||||||
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
input[type='text'],
|
input[type='text'],
|
||||||
input[type='number'],
|
input[type='number'],
|
||||||
textarea,
|
textarea,
|
||||||
|
|
@ -12,12 +14,12 @@
|
||||||
box-shadow: 0 4px 30px @soft-shadow;
|
box-shadow: 0 4px 30px @soft-shadow;
|
||||||
backdrop-filter: blur(9.5px);
|
backdrop-filter: blur(9.5px);
|
||||||
outline: 2px solid transparent;
|
outline: 2px solid transparent;
|
||||||
color: @input-color-text;
|
color: light-dark(@dark-blue, @golden);
|
||||||
border: 1px solid @input-color-border;
|
border: 1px solid light-dark(@dark, @beige);
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
&::placeholder {
|
&::placeholder {
|
||||||
color: @color-text-subtle;
|
color: light-dark(@dark-40, @beige-50);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
|
|
@ -28,7 +30,7 @@
|
||||||
&:focus[type='number'] {
|
&:focus[type='number'] {
|
||||||
background: light-dark(@soft-shadow, @semi-transparent-dark-blue);
|
background: light-dark(@soft-shadow, @semi-transparent-dark-blue);
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
outline: 2px solid @input-color-border;
|
outline: 2px solid light-dark(@dark, @beige);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:disabled[type='text'],
|
&:disabled[type='text'],
|
||||||
|
|
@ -45,7 +47,7 @@
|
||||||
.input[contenteditable] {
|
.input[contenteditable] {
|
||||||
cursor: var(--cursor-text);
|
cursor: var(--cursor-text);
|
||||||
&:empty:before {
|
&:empty:before {
|
||||||
color: @color-text-subtle;
|
color: light-dark(@dark-40, @beige-50);
|
||||||
content: attr(placeholder);
|
content: attr(placeholder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +107,7 @@
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: light-dark(@light-black, @dark-blue);
|
background: light-dark(@light-black, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.glow {
|
&.glow {
|
||||||
|
|
@ -126,7 +128,7 @@
|
||||||
|
|
||||||
&.reverted {
|
&.reverted {
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
border: 1px solid light-dark(@dark, transparent);
|
border: 1px solid light-dark(@dark, transparent);
|
||||||
&:hover {
|
&:hover {
|
||||||
background: light-dark(transparent, @golden);
|
background: light-dark(transparent, @golden);
|
||||||
|
|
@ -173,7 +175,7 @@
|
||||||
height: inherit;
|
height: inherit;
|
||||||
.tag {
|
.tag {
|
||||||
padding: 0.3rem 0.5rem;
|
padding: 0.3rem 0.5rem;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
background-color: light-dark(@dark-blue-10, @golden-40);
|
background-color: light-dark(@dark-blue-10, @golden-40);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
transition: 0.13s ease-out;
|
transition: 0.13s ease-out;
|
||||||
|
|
@ -263,7 +265,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
border-color: @color-fieldset-border;
|
border-color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.glassy {
|
&.glassy {
|
||||||
background-color: light-dark(@dark-blue-10, @golden-10);
|
background-color: light-dark(@dark-blue-10, @golden-10);
|
||||||
|
|
@ -272,7 +274,7 @@
|
||||||
legend {
|
legend {
|
||||||
padding: 2px 12px;
|
padding: 2px 12px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background-color: @color-fieldset-border;
|
background-color: light-dark(@dark-blue, @golden);
|
||||||
color: light-dark(@beige, @dark-blue);
|
color: light-dark(@beige, @dark-blue);
|
||||||
margin-bottom: var(--spacer-4);
|
margin-bottom: var(--spacer-4);
|
||||||
}
|
}
|
||||||
|
|
@ -351,7 +353,7 @@
|
||||||
|
|
||||||
legend {
|
legend {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.with-icon {
|
&.with-icon {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -363,6 +365,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input[type='text'],
|
||||||
|
input[type='number'] {
|
||||||
|
color: light-dark(@dark, @beige);
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
outline: 2px solid transparent;
|
||||||
|
|
||||||
|
&:focus,
|
||||||
|
&:hover {
|
||||||
|
outline: 2px solid light-dark(@dark, @beige);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&[disabled],
|
&[disabled],
|
||||||
&.child-disabled .form-group,
|
&.child-disabled .form-group,
|
||||||
select[disabled],
|
select[disabled],
|
||||||
|
|
@ -500,7 +514,7 @@
|
||||||
display: block;
|
display: block;
|
||||||
height: 1px;
|
height: 1px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-bottom: 1px solid @color-border;
|
border-bottom: 1px solid light-dark(@dark-blue, @golden);
|
||||||
mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
|
mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -508,7 +522,7 @@
|
||||||
display: block;
|
display: block;
|
||||||
height: 1px;
|
height: 1px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-bottom: 1px solid @color-border;
|
border-bottom: 1px solid light-dark(@dark-blue, @golden);
|
||||||
mask-image: linear-gradient(270deg, transparent 0%, black 100%);
|
mask-image: linear-gradient(270deg, transparent 0%, black 100%);
|
||||||
|
|
||||||
&.invert {
|
&.invert {
|
||||||
|
|
@ -557,7 +571,7 @@
|
||||||
border: 0;
|
border: 0;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:not(:first-child) {
|
&:not(:first-child) {
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
legend {
|
legend {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
button {
|
button {
|
||||||
background: light-dark(@light-black, @dark-blue);
|
background: light-dark(@light-black, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
outline: none;
|
outline: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: 1px solid light-dark(@dark-blue, @dark-blue);
|
border: 1px solid light-dark(@dark-blue, @dark-blue);
|
||||||
|
|
|
||||||
|
|
@ -287,7 +287,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
width: 98px;
|
width: 98px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,16 +50,16 @@
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 5px;
|
gap: 5px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
||||||
.slot {
|
.slot {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
@ -148,7 +148,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
// Theme handling
|
// Theme handling
|
||||||
.appTheme({
|
.appTheme({
|
||||||
background: @dark-blue-c0;
|
background: @dark-blue-d0;
|
||||||
backdrop-filter: blur(7px);
|
backdrop-filter: blur(7px);
|
||||||
}, {
|
}, {
|
||||||
background: url('../assets/parchments/dh-parchment-light.png') no-repeat center;
|
background: url('../assets/parchments/dh-parchment-light.png') no-repeat center;
|
||||||
|
|
@ -43,7 +43,7 @@ body.game:is(.performance-low, .noblur) {
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
border-color: light-dark(@dark-blue, @golden);
|
border-color: light-dark(@dark-blue, @golden);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
.palette-category-title {
|
.palette-category-title {
|
||||||
grid-column: span var(--effect-columns);
|
grid-column: span var(--effect-columns);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,17 @@
|
||||||
@import '../../utils/colors.less';
|
@import '../../utils/colors.less';
|
||||||
|
|
||||||
.appTheme({}, {
|
.theme-light .application.daggerheart.dh-style.dialog {
|
||||||
&.dialog.character-settings {
|
.tab.details {
|
||||||
.tab.details {
|
.traits-inner-container .trait-container {
|
||||||
.traits-inner-container .trait-container {
|
background: url('../assets/svg/trait-shield-light.svg') no-repeat;
|
||||||
background: url('../assets/svg/trait-shield-light.svg') no-repeat;
|
|
||||||
|
|
||||||
div {
|
div {
|
||||||
filter: drop-shadow(0 0 3px @beige);
|
filter: drop-shadow(0 0 3px @beige);
|
||||||
text-shadow: 0 0 3px @beige;
|
text-shadow: 0 0 3px @beige;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
.application.daggerheart.dh-style.dialog {
|
.application.daggerheart.dh-style.dialog {
|
||||||
.tab.details {
|
.tab.details {
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
font-size: var(--font-size-24);
|
font-size: var(--font-size-24);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
.attribution-header-label {
|
.attribution-header-label {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-family: @font-body;
|
font-family: @font-body;
|
||||||
color: @color-text-subtle;
|
color: light-dark(@chat-blue-bg, @beige-50);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab.inventory {
|
.tab.inventory {
|
||||||
|
|
@ -127,7 +127,7 @@
|
||||||
.title-name {
|
.title-name {
|
||||||
text-align: start;
|
text-align: start;
|
||||||
font-size: var(--font-size-28);
|
font-size: var(--font-size-28);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -180,9 +180,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -194,7 +194,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
.domain {
|
.domain {
|
||||||
|
|
@ -206,7 +206,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|
@ -230,7 +230,7 @@
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
min-width: 90px;
|
min-width: 90px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
background-color: light-dark(@dark-blue-10, @golden-40);
|
background-color: light-dark(@dark-blue-10, @golden-40);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.threshold-value {
|
&.threshold-value {
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
|
|
@ -191,7 +191,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
|
|
@ -237,7 +237,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.missing-header-feature {
|
.missing-header-feature {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
|
|
@ -170,9 +170,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -182,7 +182,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -195,7 +195,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|
@ -226,6 +226,7 @@
|
||||||
padding-left: 0.5rem;
|
padding-left: 0.5rem;
|
||||||
|
|
||||||
.trait {
|
.trait {
|
||||||
|
--color-border: light-dark(@semi-transparent-dark-blue, @golden-60);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
|
@ -237,10 +238,10 @@
|
||||||
|
|
||||||
.trait-name {
|
.trait-name {
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: @trait-color-bg;
|
background-color: light-dark(@semi-transparent-dark-blue, @golden-40);
|
||||||
border: 1px solid @trait-color-border;
|
border: 1px solid var(--color-border);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(var(--color-light-1), @golden);
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
height: 1rem;
|
height: 1rem;
|
||||||
|
|
@ -249,7 +250,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0 0.1876px 0 0.375rem;
|
padding: 0 0.1876px 0 0.375rem;
|
||||||
margin-right: 0.125rem; /* makes it center SLIGHTLY */
|
margin-right: 0.125rem; /* makes it center SLIGHTLY */
|
||||||
text-shadow: 1px 1px 3px @color-text-shadow-contrast;
|
text-shadow: 1px 1px 2px @light-black;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -258,7 +259,7 @@
|
||||||
.tier-mark {
|
.tier-mark {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background-color: @dark-blue;
|
background-color: @dark-blue;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
width: 1rem;
|
width: 1rem;
|
||||||
height: 1rem;
|
height: 1rem;
|
||||||
|
|
@ -278,7 +279,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.trait-value-area {
|
.trait-value-area {
|
||||||
--color-border: @trait-color-border;
|
|
||||||
--background: light-dark(#e8e6e3, @dark-blue);
|
--background: light-dark(#e8e6e3, @dark-blue);
|
||||||
display: flex;
|
display: flex;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -298,7 +298,7 @@
|
||||||
|
|
||||||
.spellcasting-mark {
|
.spellcasting-mark {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
color: @golden;
|
color: @golden;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
|
|
||||||
.btn-toggle-view {
|
.btn-toggle-view {
|
||||||
background: light-dark(@dark-blue-10, @dark-blue);
|
background: light-dark(@dark-blue-10, @dark-blue);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
gap: 0;
|
gap: 0;
|
||||||
|
|
@ -54,7 +54,7 @@
|
||||||
span {
|
span {
|
||||||
margin: 1px;
|
margin: 1px;
|
||||||
width: 26px;
|
width: 26px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.list-icon {
|
&.list-icon {
|
||||||
i {
|
i {
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
.application.sheet.dh-style .character-sidebar-sheet {
|
.application.sheet.dh-style .character-sidebar-sheet {
|
||||||
width: 275px;
|
width: 275px;
|
||||||
min-width: 275px;
|
min-width: 275px;
|
||||||
border-right: 1px solid @color-border;
|
border-right: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.portrait {
|
.portrait {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -168,7 +168,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
|
|
@ -282,11 +282,11 @@
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: light-dark(@light-black, @dark-blue);
|
background: light-dark(@light-black, @dark-blue);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
h4,
|
h4,
|
||||||
i {
|
i {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -309,12 +309,12 @@
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.armor-slot {
|
.armor-slot {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
@ -343,12 +343,12 @@
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: light-dark(@light-black, @dark-blue);
|
background: light-dark(@light-black, @dark-blue);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label,
|
.label,
|
||||||
.value,
|
.value,
|
||||||
i {
|
i {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -375,7 +375,7 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
color: light-dark(@dark-blue, @beige);
|
color: light-dark(@dark-blue, @beige);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
|
|
||||||
|
|
@ -411,7 +411,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: light-dark(transparent, @dark-blue);
|
background: light-dark(transparent, @dark-blue);
|
||||||
|
|
@ -450,7 +450,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
|
|
@ -513,9 +513,9 @@
|
||||||
align-self: center;
|
align-self: center;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -525,7 +525,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.threshold-value {
|
&.threshold-value {
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
.profile {
|
.profile {
|
||||||
height: 235px;
|
height: 235px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
.smooth-gradient-ease-in-out(mask-image, to top, black, 2.25rem);
|
mask-image: linear-gradient(0deg, transparent 0%, black 10%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.actor-name {
|
.actor-name {
|
||||||
|
|
@ -24,20 +24,15 @@
|
||||||
margin-bottom: -30px;
|
margin-bottom: -30px;
|
||||||
|
|
||||||
input[type='text'] {
|
input[type='text'] {
|
||||||
backdrop-filter: none;
|
|
||||||
border: none;
|
|
||||||
font-family: @font-title;
|
|
||||||
font-size: var(--font-size-24);
|
font-size: var(--font-size-24);
|
||||||
outline: 2px solid transparent;
|
height: 32px;
|
||||||
box-shadow: unset;
|
|
||||||
text-shadow: 0 0 4px @color-text-shadow-contrast, 0 0 8px @color-text-shadow-contrast, 0 0 14px @color-text-shadow-contrast;
|
|
||||||
|
|
||||||
height: 2rem;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
outline: 2px solid transparent;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
outline: 2px solid @color-border;
|
outline: 2px solid light-dark(@dark, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -68,7 +63,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
|
|
@ -100,6 +95,104 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// .status-bar {
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: center;
|
||||||
|
// position: relative;
|
||||||
|
// width: 100px;
|
||||||
|
// height: 40px;
|
||||||
|
|
||||||
|
// .status-label {
|
||||||
|
// position: relative;
|
||||||
|
// top: 40px;
|
||||||
|
// height: 22px;
|
||||||
|
// width: 79px;
|
||||||
|
// clip-path: path('M0 0H79L74 16.5L39 22L4 16.5L0 0Z');
|
||||||
|
// background: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
|
// h4 {
|
||||||
|
// font-weight: bold;
|
||||||
|
// text-align: center;
|
||||||
|
// line-height: 18px;
|
||||||
|
// color: light-dark(@beige, @dark-blue);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// .status-value {
|
||||||
|
// position: absolute;
|
||||||
|
// display: flex;
|
||||||
|
// padding: 0 6px;
|
||||||
|
// font-size: 1.5rem;
|
||||||
|
// align-items: center;
|
||||||
|
// width: 100px;
|
||||||
|
// height: 40px;
|
||||||
|
// justify-content: center;
|
||||||
|
// text-align: center;
|
||||||
|
// z-index: 2;
|
||||||
|
// color: @beige;
|
||||||
|
|
||||||
|
// input[type='number'] {
|
||||||
|
// background: transparent;
|
||||||
|
// font-size: 1.5rem;
|
||||||
|
// width: 40px;
|
||||||
|
// height: 30px;
|
||||||
|
// text-align: center;
|
||||||
|
// border: none;
|
||||||
|
// outline: 2px solid transparent;
|
||||||
|
// color: @beige;
|
||||||
|
|
||||||
|
// &.bar-input {
|
||||||
|
// padding: 0;
|
||||||
|
// color: @beige;
|
||||||
|
// backdrop-filter: none;
|
||||||
|
// background: transparent;
|
||||||
|
// transition: all 0.3s ease;
|
||||||
|
|
||||||
|
// &:hover,
|
||||||
|
// &:focus {
|
||||||
|
// background: @semi-transparent-dark-blue;
|
||||||
|
// backdrop-filter: blur(9.5px);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .bar-label {
|
||||||
|
// width: 40px;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// .progress-bar {
|
||||||
|
// position: absolute;
|
||||||
|
// appearance: none;
|
||||||
|
// width: 100px;
|
||||||
|
// height: 40px;
|
||||||
|
// border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
// border-radius: 6px;
|
||||||
|
// z-index: 1;
|
||||||
|
// background: @dark-blue;
|
||||||
|
|
||||||
|
// &::-webkit-progress-bar {
|
||||||
|
// border: none;
|
||||||
|
// background: @dark-blue;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// &::-webkit-progress-value {
|
||||||
|
// background: @gradient-hp;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// &.stress-color::-webkit-progress-value {
|
||||||
|
// background: @gradient-stress;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// &::-moz-progress-bar {
|
||||||
|
// background: @gradient-hp;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// &.stress-color::-moz-progress-bar {
|
||||||
|
// background: @gradient-stress;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
.level-div {
|
.level-div {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -150,7 +243,7 @@
|
||||||
.companion-navigation {
|
.companion-navigation {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
align-items: baseline;
|
align-items: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
@import '../../../utils/colors.less';
|
@import '../../../utils/colors.less';
|
||||||
@import '../../../utils/fonts.less';
|
@import '../../../utils/fonts.less';
|
||||||
@import '../../../utils/mixin.less';
|
|
||||||
|
|
||||||
.application.sheet.daggerheart.actor.dh-style.environment {
|
.application.sheet.daggerheart.actor.dh-style.environment {
|
||||||
.environment-header-sheet {
|
.environment-header-sheet {
|
||||||
|
|
@ -11,82 +10,60 @@
|
||||||
|
|
||||||
.profile {
|
.profile {
|
||||||
height: 235px;
|
height: 235px;
|
||||||
|
mask-image: linear-gradient(0deg, transparent 0%, black 10%);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
.smooth-gradient-ease-in-out(mask-image, to top, black, 3.5rem);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-container {
|
.item-container {
|
||||||
display: grid;
|
display: flex;
|
||||||
grid-auto-flow: row;
|
|
||||||
grid-template-columns: 1fr min-content;
|
|
||||||
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -36px;
|
top: -45px;
|
||||||
gap: 0 var(--spacer-12);
|
gap: 20px;
|
||||||
padding: 0 20px;
|
padding: 0 20px;
|
||||||
margin-bottom: -26px;
|
margin-bottom: -30px;
|
||||||
|
|
||||||
.item-name input[type='text'] {
|
.item-info {
|
||||||
backdrop-filter: none;
|
|
||||||
border: none;
|
|
||||||
font-family: @font-title;
|
|
||||||
font-size: var(--font-size-32);
|
|
||||||
text-align: start;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
outline: 2px solid transparent;
|
|
||||||
box-shadow: none;
|
|
||||||
text-shadow: 0 0 4px @color-text-shadow-contrast, 0 0 8px @color-text-shadow-contrast, 0 0 14px @color-text-shadow-contrast;
|
|
||||||
padding-left: 0;
|
|
||||||
height: 2.625rem;
|
|
||||||
|
|
||||||
&:hover[type='text'],
|
|
||||||
&:focus[type='text'] {
|
|
||||||
box-shadow: none;
|
|
||||||
outline: 2px solid @color-border;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.flexrow {
|
|
||||||
align-items: baseline;
|
|
||||||
grid-column: span 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tags {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
flex-direction: column;
|
||||||
padding-bottom: 0;
|
gap: 8px;
|
||||||
flex: 0;
|
|
||||||
|
|
||||||
.tag {
|
.tags {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
gap: 10px;
|
||||||
justify-content: center;
|
padding-bottom: 0;
|
||||||
align-items: center;
|
|
||||||
padding: 3px 5px;
|
|
||||||
font-size: var(--font-size-12);
|
|
||||||
font: @font-body;
|
|
||||||
white-space: nowrap;
|
|
||||||
|
|
||||||
background: light-dark(@dark-15, @beige-15);
|
.tag {
|
||||||
border: 1px solid light-dark(@dark, @beige);
|
display: flex;
|
||||||
border-radius: 3px;
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 3px 5px;
|
||||||
|
font-size: var(--font-size-12);
|
||||||
|
font: @font-body;
|
||||||
|
|
||||||
|
background: light-dark(@dark-15, @beige-15);
|
||||||
|
border: 1px solid light-dark(@dark, @beige);
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: var(--font-size-12);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.label {
|
.attribution-header-label {
|
||||||
display: flex;
|
text-align: left;
|
||||||
flex-direction: row;
|
position: relative;
|
||||||
justify-content: center;
|
top: 4px;
|
||||||
align-items: center;
|
margin-bottom: -6px;
|
||||||
font-size: var(--font-size-12);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribution-header-label {
|
|
||||||
text-align: right;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.status-number {
|
.status-number {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -97,14 +74,14 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
background: light-dark(#e8e6e3, @dark-blue);
|
background: light-dark(transparent, @dark-blue);
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|
||||||
&.armor-slots {
|
&.armor-slots {
|
||||||
|
|
@ -116,7 +93,7 @@
|
||||||
.status-label {
|
.status-label {
|
||||||
padding: 2px 10px;
|
padding: 2px 10px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 0 0 3px 3px;
|
border-radius: 3px;
|
||||||
background: light-dark(@dark-blue, @golden);
|
background: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
|
|
@ -128,23 +105,37 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.item-name {
|
||||||
|
input[type='text'] {
|
||||||
|
font-size: var(--font-size-32);
|
||||||
|
height: 42px;
|
||||||
|
text-align: start;
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.environment-info {
|
.environment-info {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: var(--spacer-8);
|
gap: 12px;
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.environment-navigation {
|
.environment-navigation {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 20px;
|
gap: 20px;
|
||||||
align-items: baseline;
|
align-items: center;
|
||||||
padding: 0 20px;
|
padding: 0 20px;
|
||||||
.tab-navigation {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
.appTheme({
|
.appTheme({
|
||||||
&.environment {
|
&.environment {
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
|
||||||
|
.attribution-header-label {
|
||||||
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
&.environment {
|
&.environment {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
@import '../../../utils/colors.less';
|
@import '../../../utils/colors.less';
|
||||||
@import '../../../utils/fonts.less';
|
@import '../../../utils/fonts.less';
|
||||||
@import '../../../utils/mixin.less';
|
|
||||||
|
|
||||||
.party-header-sheet {
|
.party-header-sheet {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -10,31 +9,26 @@
|
||||||
|
|
||||||
.profile {
|
.profile {
|
||||||
height: 235px;
|
height: 235px;
|
||||||
|
mask-image: linear-gradient(0deg, transparent 0%, black 10%);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
.smooth-gradient-ease-in-out(mask-image, to top, black, 3.5rem);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-container {
|
.item-container {
|
||||||
margin-top: -2rem;
|
.item-name {
|
||||||
z-index: 1;
|
padding: 0 20px;
|
||||||
input.item-name[type='text'] {
|
input[type='text'] {
|
||||||
backdrop-filter: none;
|
font-size: 32px;
|
||||||
border: none;
|
height: 42px;
|
||||||
color: @color-text-emphatic;
|
text-align: center;
|
||||||
font-family: @font-title;
|
transition: all 0.3s ease;
|
||||||
font-size: var(--font-size-32);
|
outline: 2px solid transparent;
|
||||||
outline: 2px solid transparent;
|
border: 1px solid transparent;
|
||||||
box-shadow: unset;
|
|
||||||
text-shadow: 0 0 4px @color-text-shadow-contrast, 0 0 8px @color-text-shadow-contrast, 0 0 14px @color-text-shadow-contrast;
|
|
||||||
|
|
||||||
text-align: center;
|
&:hover[type='text'],
|
||||||
transition: all 0.3s ease;
|
&:focus[type='text'] {
|
||||||
width: calc(100% - 40px);
|
box-shadow: none;
|
||||||
height: 2.625rem;
|
outline: 2px solid light-dark(@dark-blue, @golden);
|
||||||
|
}
|
||||||
&:hover[type='text'],
|
|
||||||
&:focus[type='text'] {
|
|
||||||
outline: 2px solid @color-border;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -79,9 +79,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
background-color: light-dark(var(--color-light-1), @dark-blue);
|
background-color: light-dark(var(--color-light-1), @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 4px 6px;
|
padding: 4px 6px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
align-items: baseline;
|
align-items: baseline;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -93,7 +93,7 @@
|
||||||
|
|
||||||
&.threshold-label {
|
&.threshold-label {
|
||||||
font-size: var(--font-size-10);
|
font-size: var(--font-size-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.threshold-value {
|
&.threshold-value {
|
||||||
|
|
@ -116,7 +116,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
font-size: var(--font-size-20);
|
font-size: var(--font-size-20);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -132,9 +132,9 @@
|
||||||
.hope-section {
|
.hope-section {
|
||||||
display: flex;
|
display: flex;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 3px 6px;
|
padding: 3px 6px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -144,7 +144,7 @@
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -212,9 +212,9 @@
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
|
|
||||||
background-color: light-dark(@dark-blue-10, @dark-blue);
|
background-color: light-dark(@dark-blue-10, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 0 6px 6px 0;
|
border-radius: 0 6px 6px 0;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
min-height: 22px;
|
min-height: 22px;
|
||||||
|
|
@ -232,7 +232,7 @@
|
||||||
.slot {
|
.slot {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
@ -248,7 +248,7 @@
|
||||||
|
|
||||||
.traits {
|
.traits {
|
||||||
background-color: light-dark(@dark-blue-10, @dark-blue);
|
background-color: light-dark(@dark-blue-10, @dark-blue);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
|
@ -260,7 +260,7 @@
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
gap: 3px;
|
gap: 3px;
|
||||||
.label {
|
.label {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
.value {
|
.value {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
i {
|
i {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -71,7 +71,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.main-value {
|
.main-value {
|
||||||
font-size: var(--font-size-24);
|
font-size: var(--font-size-24);
|
||||||
|
|
@ -153,7 +153,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.finished {
|
&.finished {
|
||||||
background-color: initial;
|
background-color: initial;
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
a[href] {
|
a[href] {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
a[href]:hover,
|
a[href]:hover,
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
border: 0;
|
border: 0;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
color: @color-text-primary;
|
color: var(--color-text-primary);
|
||||||
width: 300px;
|
width: 300px;
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
align-self: flex-end;
|
align-self: flex-end;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
.effect-container {
|
.effect-container {
|
||||||
position: relative;
|
position: relative;
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,7 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background-color: light-dark(@dark-blue-40, @golden-40);
|
background-color: light-dark(@dark-blue-40, @golden-40);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
.subfolder-list {
|
.subfolder-list {
|
||||||
|
|
@ -218,7 +218,7 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background-color: light-dark(@dark-blue-10, @golden-10);
|
background-color: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
|
|
@ -245,7 +245,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-list-header,
|
.item-list-header,
|
||||||
.item-list .item-info[data-action] {
|
.item-list [data-action='expandContent'] {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
> * {
|
> * {
|
||||||
|
|
@ -265,8 +265,8 @@
|
||||||
.item-list-header {
|
.item-list-header {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background-color: light-dark(@dark-15, @dark-golden-80);
|
background-color: light-dark(@dark-15, @dark-golden-80);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
min-height: 30px;
|
min-height: 30px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
|
||||||
&.selectable {
|
&.selectable {
|
||||||
|
|
@ -76,7 +76,7 @@
|
||||||
.domain-label {
|
.domain-label {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 4px;
|
top: 4px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 0 2px;
|
padding: 0 2px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
i {
|
i {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
@import '../../utils/colors.less';
|
@import '../../utils/colors.less';
|
||||||
|
|
||||||
.daggerheart.dh-style.setting {
|
.daggerheart.dh-style.setting {
|
||||||
--color-form-label: @color-text-primary;
|
--color-form-label: var(--color-text-primary);
|
||||||
|
|
||||||
h2,
|
h2,
|
||||||
h3,
|
h3,
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@
|
||||||
--dark-blue-50: #18162e50;
|
--dark-blue-50: #18162e50;
|
||||||
--dark-blue-60: #18162e60;
|
--dark-blue-60: #18162e60;
|
||||||
--dark-blue-90: #18162e90;
|
--dark-blue-90: #18162e90;
|
||||||
--dark-blue-c0: #18162ec0;
|
--dark-blue-d0: #18162ed0;
|
||||||
--semi-transparent-dark-blue: rgba(24, 22, 46, 0.33);
|
--semi-transparent-dark-blue: rgba(24, 22, 46, 0.33);
|
||||||
|
|
||||||
--dark: #222222;
|
--dark: #222222;
|
||||||
|
|
@ -71,7 +71,6 @@
|
||||||
--beige-filter: brightness(0) saturate(100%) invert(87%) sepia(25%) saturate(164%) hue-rotate(339deg) brightness(106%) contrast(87%);
|
--beige-filter: brightness(0) saturate(100%) invert(87%) sepia(25%) saturate(164%) hue-rotate(339deg) brightness(106%) contrast(87%);
|
||||||
--bright-beige-filter: brightness(0) saturate(100%) invert(87%) sepia(15%) saturate(343%) hue-rotate(333deg) brightness(110%) contrast(87%);
|
--bright-beige-filter: brightness(0) saturate(100%) invert(87%) sepia(15%) saturate(343%) hue-rotate(333deg) brightness(110%) contrast(87%);
|
||||||
|
|
||||||
--light-white: rgba(255, 255, 255, 0.3);
|
|
||||||
--soft-white-shadow: rgba(255, 255, 255, 0.05);
|
--soft-white-shadow: rgba(255, 255, 255, 0.05);
|
||||||
|
|
||||||
--light-black: rgba(0, 0, 0, 0.3);
|
--light-black: rgba(0, 0, 0, 0.3);
|
||||||
|
|
@ -86,47 +85,6 @@
|
||||||
--primary-color-fear: rgba(9, 71, 179, 0.75);
|
--primary-color-fear: rgba(9, 71, 179, 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Override core foundry color variables in theme scopes, and add some new theme specific variants.
|
|
||||||
* These are intended to be more representative of its use case, so avoid naming these after the color.
|
|
||||||
* Some foundry variables are heavily scoped and we need to redefine them (https://github.com/foundryvtt/foundryvtt/issues/12893)
|
|
||||||
* Convention for the redefined ones is --dh-{element}-color-{thing}
|
|
||||||
*/
|
|
||||||
@scope (.theme-light) to (.themed) {
|
|
||||||
.dh-style :scope,
|
|
||||||
:scope.dh-style,
|
|
||||||
.dh-style,
|
|
||||||
.duality {
|
|
||||||
--color-border: @dark-blue;
|
|
||||||
--color-fieldset-border: @dark-blue;
|
|
||||||
--color-text-emphatic: @dark-blue;
|
|
||||||
--color-text-subtle: #555;
|
|
||||||
|
|
||||||
--dh-color-text-shadow-contrast: #ffffffa0;
|
|
||||||
--dh-input-color-border: @dark;
|
|
||||||
--dh-input-color-text: @dark;
|
|
||||||
--dh-trait-color-bg: #b1afb6;
|
|
||||||
--dh-trait-color-border: #8e8d96;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@scope (.theme-dark) to (.themed) {
|
|
||||||
.dh-style :scope,
|
|
||||||
:scope.dh-style,
|
|
||||||
.dh-style,
|
|
||||||
.duality {
|
|
||||||
--color-border: @golden;
|
|
||||||
--color-fieldset-border: @golden;
|
|
||||||
--color-text-emphatic: @golden;
|
|
||||||
--color-text-subtle: #a29086;
|
|
||||||
|
|
||||||
--dh-color-text-shadow-contrast: @dark-80;
|
|
||||||
--dh-input-color-border: @beige;
|
|
||||||
--dh-input-color-text: @beige;
|
|
||||||
--dh-trait-color-bg: #50433F;
|
|
||||||
--dh-trait-color-border: #927952;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@primary-blue: var(--primary-blue, #1488cc);
|
@primary-blue: var(--primary-blue, #1488cc);
|
||||||
@secondary-blue: var(--secondary-blue, #2b32b2);
|
@secondary-blue: var(--secondary-blue, #2b32b2);
|
||||||
|
|
||||||
|
|
@ -179,7 +137,7 @@
|
||||||
@dark-blue-50: var(--dark-blue-50, #18162e50);
|
@dark-blue-50: var(--dark-blue-50, #18162e50);
|
||||||
@dark-blue-60: var(--dark-blue-60, #18162e60);
|
@dark-blue-60: var(--dark-blue-60, #18162e60);
|
||||||
@dark-blue-90: var(--dark-blue-90, #18162e90);
|
@dark-blue-90: var(--dark-blue-90, #18162e90);
|
||||||
@dark-blue-c0: var(--dark-blue-c0, #18162ec0);
|
@dark-blue-d0: var(--dark-blue-d0, #18162ed0);
|
||||||
@semi-transparent-dark-blue: var(--semi-transparent-dark-blue, rgba(24, 22, 46, 0.33));
|
@semi-transparent-dark-blue: var(--semi-transparent-dark-blue, rgba(24, 22, 46, 0.33));
|
||||||
|
|
||||||
@dark: var(--dark, #222222);
|
@dark: var(--dark, #222222);
|
||||||
|
|
@ -201,7 +159,6 @@
|
||||||
|
|
||||||
@soft-white-shadow: var(--soft-white-shadow, rgba(255, 255, 255, 0.05));
|
@soft-white-shadow: var(--soft-white-shadow, rgba(255, 255, 255, 0.05));
|
||||||
|
|
||||||
@light-white: var(--light-white, rgba(255, 255, 255, 0.3));
|
|
||||||
@light-black: var(--light-black, rgba(0, 0, 0, 0.3));
|
@light-black: var(--light-black, rgba(0, 0, 0, 0.3));
|
||||||
@soft-shadow: var(--soft-shadow, rgba(0, 0, 0, 0.05));
|
@soft-shadow: var(--soft-shadow, rgba(0, 0, 0, 0.05));
|
||||||
|
|
||||||
|
|
@ -233,15 +190,3 @@
|
||||||
box-shadow: 0 0 2px 2px @dark-blue;
|
box-shadow: 0 0 2px 2px @dark-blue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// LESS variable versions of core foundry color variables
|
|
||||||
@color-border: var(--color-border);
|
|
||||||
@color-fieldset-border: var(--color-fieldset-border);
|
|
||||||
@color-text-emphatic: var(--color-text-emphatic);
|
|
||||||
@color-text-primary: var(--color-text-primary);
|
|
||||||
@color-text-subtle: var(--color-text-subtle);
|
|
||||||
@color-text-shadow-contrast: var(--dh-color-text-shadow-contrast);
|
|
||||||
@input-color-border: var(--dh-input-color-border);
|
|
||||||
@input-color-text: var(--dh-input-color-text);
|
|
||||||
@trait-color-bg: var(--dh-trait-color-bg);
|
|
||||||
@trait-color-border: var(--dh-trait-color-border);
|
|
||||||
|
|
@ -5,16 +5,16 @@
|
||||||
*/
|
*/
|
||||||
.appTheme(@darkRules, @lightRules) {
|
.appTheme(@darkRules, @lightRules) {
|
||||||
// Dark theme selectors
|
// Dark theme selectors
|
||||||
.themed.theme-dark .application.daggerheart.dh-style,
|
.themed.theme-dark .application.daggerheart.sheet.dh-style,
|
||||||
.themed.theme-dark.application.daggerheart.dh-style,
|
.themed.theme-dark.application.daggerheart.sheet.dh-style,
|
||||||
body.theme-dark .application.daggerheart,
|
body.theme-dark .application.daggerheart,
|
||||||
body.theme-dark.application.daggerheart {
|
body.theme-dark.application.daggerheart {
|
||||||
@darkRules();
|
@darkRules();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Light theme selectors
|
// Light theme selectors
|
||||||
.themed.theme-light .application.daggerheart.dh-style,
|
.themed.theme-light .application.daggerheart.sheet.dh-style,
|
||||||
.themed.theme-light.application.daggerheart.dh-style,
|
.themed.theme-light.application.daggerheart.sheet.dh-style,
|
||||||
body.theme-light .application.daggerheart,
|
body.theme-light .application.daggerheart,
|
||||||
body.theme-light.application.daggerheart {
|
body.theme-light.application.daggerheart {
|
||||||
@lightRules();
|
@lightRules();
|
||||||
|
|
@ -50,15 +50,14 @@
|
||||||
*/
|
*/
|
||||||
.dh-typography() {
|
.dh-typography() {
|
||||||
h1 {
|
h1 {
|
||||||
--dh-input-color-text: @color-text-emphatic;
|
|
||||||
font-family: @font-title;
|
font-family: @font-title;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
border: none;
|
border: none;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
input[type='text'],
|
}
|
||||||
.input[contenteditable] {
|
|
||||||
font-family: @font-title;
|
h1 input[type='text'] {
|
||||||
}
|
font-family: @font-title;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2,
|
h2,
|
||||||
|
|
@ -115,48 +114,3 @@
|
||||||
font-family: @font-body;
|
font-family: @font-body;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// A simple ease-out mask
|
|
||||||
.smooth-gradient-ease-out(@param, @to, @destination, @length) {
|
|
||||||
@{param}+: linear-gradient(
|
|
||||||
@to,
|
|
||||||
transparent 0%,
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.013)") calc(0.008 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.049)") calc(0.029 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.104)") calc(0.064 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.259)") calc(0.166 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.45)") calc(0.304 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.741)") calc(0.554 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.825)") calc(0.644 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.896)") calc(0.735 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.951)") calc(0.825 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.987)") calc(0.914 * @length),
|
|
||||||
@destination @length
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A simple ease in and out mask.
|
|
||||||
* @param - the parameter to add to
|
|
||||||
* @param - direction, such as "to top"
|
|
||||||
* @destination - the color at the destination. The origin is always transparent
|
|
||||||
* @length - the value at the destination
|
|
||||||
*/
|
|
||||||
.smooth-gradient-ease-in-out(@param, @to, @destination, @length: 100%) {
|
|
||||||
@{param}+: linear-gradient(
|
|
||||||
@to,
|
|
||||||
transparent 0%,
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.013)") calc(0.081 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.049)") calc(0.155 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.104)") calc(0.225 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.259)") calc(0.353 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.45)") calc(0.471 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.741)") calc(0.647 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.825)") calc(0.71 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.896)") calc(0.775 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.951)") calc(0.845 * @length),
|
|
||||||
rgb(from @destination r g b / ~"calc(alpha * 0.987)") calc(0.914 * @length),
|
|
||||||
@destination @length
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
|
|
@ -118,13 +118,13 @@
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
min-height: 30px;
|
min-height: 30px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip),
|
||||||
#tooltip.bordered-tooltip {
|
#tooltip.bordered-tooltip {
|
||||||
.tooltip-title {
|
.tooltip-title {
|
||||||
font-size: var(--font-size-20);
|
font-size: var(--font-size-20);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip.card-style) {
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
background: light-dark(@dark-blue-60, @rustic-brown-80);
|
background: light-dark(@dark-blue-60, @rustic-brown-80);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
@ -238,7 +238,7 @@ aside[role='tooltip'].locked-tooltip:has(div.daggerheart.dh-style.tooltip.card-s
|
||||||
.tooltip-chip {
|
.tooltip-chip {
|
||||||
font-size: var(--font-size-18);
|
font-size: var(--font-size-18);
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,15 @@
|
||||||
"id": "daggerheart",
|
"id": "daggerheart",
|
||||||
"title": "Daggerheart",
|
"title": "Daggerheart",
|
||||||
"description": "An unofficial implementation of the Daggerheart system",
|
"description": "An unofficial implementation of the Daggerheart system",
|
||||||
"version": "2.2.7",
|
"version": "2.2.6",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "14.361",
|
"minimum": "14.361",
|
||||||
"verified": "14.363",
|
"verified": "14.361",
|
||||||
"maximum": "14"
|
"maximum": "14"
|
||||||
},
|
},
|
||||||
"url": "https://github.com/Foundryborne/daggerheart",
|
"url": "https://github.com/Foundryborne/daggerheart",
|
||||||
"manifest": "https://raw.githubusercontent.com/Foundryborne/daggerheart/v14/system.json",
|
"manifest": "https://raw.githubusercontent.com/Foundryborne/daggerheart/v14/system.json",
|
||||||
"download": "https://github.com/Foundryborne/daggerheart/releases/download/2.2.7/system.zip",
|
"download": "https://github.com/Foundryborne/daggerheart/releases/download/2.2.6/system.zip",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "WBHarry"
|
"name": "WBHarry"
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<button type="button" class="control-icon" data-action="sort" data-tooltip aria-label="HUD.ToFrontOrBack">
|
<button type="button" class="control-icon" data-action="sort" data-tooltip aria-label="HUD.ToFrontOrBack">
|
||||||
<i class="fa-solid fa-bring-forward" inert></i>
|
<i class="fa-solid fa-arrow-down-arrow-up" inert></i>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
{{#if hasCompanion}}
|
{{#if hasCompanion}}
|
||||||
|
|
@ -26,13 +26,6 @@
|
||||||
</button>
|
</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if isGM}}
|
|
||||||
<button type="button" class="control-icon {{lockedClass}}" data-action="locked"
|
|
||||||
data-tooltip aria-label="{{localize (ifThen lockedClass "HUD.Unlock" "HUD.Lock")}}">
|
|
||||||
<i class="fa-solid {{ifThen lockedClass "fa-lock" "fa-lock-open"}}" inert></i>
|
|
||||||
</button>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{#if canConfigure}}
|
{{#if canConfigure}}
|
||||||
<button type="button" class="control-icon" data-action="config" data-tooltip aria-label="HUD.OpenConfig">
|
<button type="button" class="control-icon" data-action="config" data-tooltip aria-label="HUD.OpenConfig">
|
||||||
<i class="fa-solid fa-gear" inert></i>
|
<i class="fa-solid fa-gear" inert></i>
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,20 @@
|
||||||
<div class="tab scrollable{{#if tab.active}} active{{/if}}" data-group="{{tab.group}}" data-tab="{{tab.id}}">
|
<div class="tab scrollable{{#if tab.active}} active{{/if}}" data-group="{{tab.group}}" data-tab="{{tab.id}}">
|
||||||
<div class="token-image-group">
|
{{formGroup fields.texture.fields.src value=source.texture.src rootId=rootId}}
|
||||||
{{formGroup fields.texture.fields.src value=source.texture.src rootId=rootId}}
|
{{#if randomImgEnabled}}
|
||||||
{{#if randomImgEnabled}}
|
{{formGroup fields.randomImg value=source.randomImg classes="slim" rootId=rootId}}
|
||||||
{{formGroup fields.randomImg value=source.randomImg classes="slim" rootId=rootId}}
|
{{else if hasAlternates}}
|
||||||
{{else if hasAlternates}}
|
<div class="form-group">
|
||||||
<div class="form-group">
|
<label for="{{rootId}}-alternateImages">{{localize "TOKEN.ImageAlts"}}</label>
|
||||||
<label for="{{rootId}}-alternateImages">{{localize "TOKEN.ImageAlts"}}</label>
|
<select id="{{rootId}}-alternateImages" class="alternate-images" name="alternateImages">
|
||||||
<select id="{{rootId}}-alternateImages" class="alternate-images" name="alternateImages">
|
{{selectOptions alternateImages selected=source.texture.src blank=""}}
|
||||||
{{selectOptions alternateImages selected=source.texture.src blank=""}}
|
</select>
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{#if imagePreview}}
|
|
||||||
<div class="{{imagePreview.cls}}">
|
|
||||||
{{#if imagePreview.isVideo}}
|
|
||||||
<video class="token-image-thumb" src="{{imagePreview.src}}" autoplay muted loop playsinline
|
|
||||||
disablepictureinpicture></video>
|
|
||||||
{{else}}
|
|
||||||
<img class="token-image-thumb" src="{{imagePreview.src}}" alt="{{localize "TOKEN.ImagePreview"}}">
|
|
||||||
{{/if}}
|
|
||||||
<div class="token-image-controls">
|
|
||||||
<button type="button" class="cycle-prev icon fa-solid fa-chevron-left" data-action="cycleImage"
|
|
||||||
data-delta="-1" aria-label="{{localize "TOKEN.ImageCyclePrev"}}"
|
|
||||||
{{#unless imagePreview.hasPrev}} disabled{{/unless}}></button>
|
|
||||||
<span class="counter">{{imagePreview.current}} / {{imagePreview.total}}</span>
|
|
||||||
<button type="button" class="cycle-next icon fa-solid fa-chevron-right" data-action="cycleImage"
|
|
||||||
data-delta="1" aria-label="{{localize "TOKEN.ImageCycleNext"}}"
|
|
||||||
{{#unless imagePreview.hasNext}} disabled{{/unless}}></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
</div>
|
||||||
|
{{/if}}
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{{localize "DAGGERHEART.APPLICATIONS.TokenConfig.tokenSize"}}</legend>
|
<legend>{{localize "Token Size"}}</legend>
|
||||||
{{#if usesActorSize}}
|
{{#if usesActorSize}}
|
||||||
<div class="form-group slim">
|
<div class="form-group lim">
|
||||||
<label>{{localize "DAGGERHEART.APPLICATIONS.TokenConfig.sizeCategory"}}</label>
|
<label>{{localize "Size Category"}}</label>
|
||||||
|
|
||||||
<select id="dhTokenSize">
|
<select id="dhTokenSize">
|
||||||
{{selectOptions tokenSizes selected=tokenSize valueAttr="id" labelAttr="label" localize=true}}
|
{{selectOptions tokenSizes selected=tokenSize valueAttr="id" labelAttr="label" localize=true}}
|
||||||
|
|
@ -46,17 +23,15 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<div id="tokenSizeDimensions" class="form-group slim" {{#if actorSizeDisable}}data-tooltip="{{localize "DAGGERHEART.APPLICATIONS.TokenConfig.actorSizeUsed"}}"{{/if}}>
|
<div id="tokenSizeDimensions" class="form-group slim" {{#if actorSizeDisable}}data-tooltip="{{localize "DAGGERHEART.APPLICATIONS.TokenConfig.actorSizeUsed"}}"{{/if}}>
|
||||||
<span class="label">
|
<label>
|
||||||
{{localize "TOKEN.Size"}}
|
{{localize "TOKEN.Dimensions"}} <span class="units">({{localize "GridSpaces"}})</span>
|
||||||
<span class="units">({{localize "MEASUREMENT.GridSpaces"}})</span>
|
<i class="fa-solid fa-lock" {{#unless actorSizeDisable}}style="opacity: 0%;"{{/unless}}></i>
|
||||||
</span>
|
</label>
|
||||||
<div class="form-group slim">
|
<div class="form-fields">
|
||||||
<label for="{{rootId}}-width">{{localize "DOCUMENT.FIELDS.width.label"}}</label>
|
<label for="{{rootId}}-width">{{localize "DOCUMENT.FIELDS.width.label"}}</label>
|
||||||
{{formInput fields.width value=source.width id=(concat rootId "-width") disabled=actorSizeDisable}}
|
{{formInput fields.width value=source.width id=(concat rootId "-width") disabled=actorSizeDisable}}
|
||||||
<label for="{{rootId}}-height">{{localize "DOCUMENT.FIELDS.height.label"}}</label>
|
<label for="{{rootId}}-height">{{localize "DOCUMENT.FIELDS.height.label"}}</label>
|
||||||
{{formInput fields.height value=source.height id=(concat rootId "-height") disabled=actorSizeDisable}}
|
{{formInput fields.height value=source.height id=(concat rootId "-height") disabled=actorSizeDisable}}
|
||||||
<label for="{{rootId}}-depth">Z</label>
|
|
||||||
{{formInput fields.depth value=source.depth id=(concat rootId "-depth") disabled=actorSizeDisable}}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,16 @@
|
||||||
{{formGroup systemFields.targetDispositions value=source.system.targetDispositions name=(concat "system.targetDispositions") localize=true}}
|
{{formGroup systemFields.targetDispositions value=source.system.targetDispositions name=(concat "system.targetDispositions") localize=true}}
|
||||||
|
|
||||||
{{#if isActorEffect}}
|
{{#if isActorEffect}}
|
||||||
{{formGroup fields.origin value=source.origin rootId=rootId disabled=true}}
|
<div class="form-group">
|
||||||
{{else if isItemEffect}}
|
<label>{{localize "EFFECT.FIELDS.origin.label"}}</label>
|
||||||
{{formGroup fields.transfer value=source.transfer rootId=rootId}}
|
<div class="form-fields">
|
||||||
|
<input type="text" value="{{source.origin}}" disabled />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if isItemEffect}}
|
||||||
|
{{formGroup fields.transfer value=source.transfer rootId=rootId label=legacyTransfer.label hint=(localize "DAGGERHEART.EFFECTS.Attachments.transferHint")}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{formGroup fields.statuses value=source.statuses options=statuses rootId=rootId classes="statuses"}}
|
{{formGroup fields.statuses value=source.statuses options=statuses rootId=rootId classes="statuses"}}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
type='feature'
|
type='feature'
|
||||||
collection=@root.features
|
collection=@root.features
|
||||||
hideContextMenu=true
|
hideContextMenu=true
|
||||||
hideModifyControls=true
|
|
||||||
canCreate=@root.editable
|
canCreate=@root.editable
|
||||||
showActions=@root.editable
|
showActions=@root.editable
|
||||||
}}
|
}}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@
|
||||||
type='feature'
|
type='feature'
|
||||||
collection=@root.features
|
collection=@root.features
|
||||||
hideContextMenu=true
|
hideContextMenu=true
|
||||||
hideModifyControls=true
|
|
||||||
canCreate=@root.editable
|
canCreate=@root.editable
|
||||||
showActions=@root.editable
|
showActions=@root.editable
|
||||||
}}
|
}}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,28 @@
|
||||||
<header class='environment-header-sheet'>
|
<header class='environment-header-sheet'>
|
||||||
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
||||||
<div class='item-container'>
|
<div class='item-container'>
|
||||||
<h1 class='item-name'><input type='text' name='name' value='{{source.name}}' /></h1>
|
<div class="item-info">
|
||||||
|
<h1 class='item-name'><input type='text' name='name' value='{{source.name}}' /></h1>
|
||||||
|
<div class="flexcol">
|
||||||
|
<div class="tags">
|
||||||
|
<div class="tag">
|
||||||
|
<span>
|
||||||
|
{{localize (concat 'DAGGERHEART.GENERAL.Tiers.' source.system.tier)}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
{{#if source.system.type}}
|
||||||
|
<div class="tag">
|
||||||
|
<span>
|
||||||
|
{{localize (concat 'DAGGERHEART.CONFIG.EnvironmentType.' source.system.type '.label')}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
{{#if (and showAttribution document.system.attributionLabel)}}
|
||||||
|
<label class="attribution-header-label">{{document.system.attributionLabel}}</label>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="status-number">
|
<div class="status-number">
|
||||||
<div class='status-value armor-slots'>
|
<div class='status-value armor-slots'>
|
||||||
{{#if source.system.difficulty}}
|
{{#if source.system.difficulty}}
|
||||||
|
|
@ -14,25 +35,6 @@
|
||||||
<h4>{{localize "DAGGERHEART.GENERAL.difficulty"}}</h4>
|
<h4>{{localize "DAGGERHEART.GENERAL.difficulty"}}</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flexrow">
|
|
||||||
<div class="tags">
|
|
||||||
<div class="tag">
|
|
||||||
<span>
|
|
||||||
{{localize (concat 'DAGGERHEART.GENERAL.Tiers.' source.system.tier)}}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
{{#if source.system.type}}
|
|
||||||
<div class="tag">
|
|
||||||
<span>
|
|
||||||
{{localize (concat 'DAGGERHEART.CONFIG.EnvironmentType.' source.system.type '.label')}}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
{{#if (and showAttribution document.system.attributionLabel)}}
|
|
||||||
<label class="attribution-header-label">{{document.system.attributionLabel}}</label>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<line-div></line-div>
|
<line-div></line-div>
|
||||||
<div class="environment-info">
|
<div class="environment-info">
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@
|
||||||
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
||||||
<div class='item-container'>
|
<div class='item-container'>
|
||||||
<div class="item-info">
|
<div class="item-info">
|
||||||
<input class="item-name" type='text' name='name' value='{{source.name}}' autocomplete="off" spellcheck="false"/>
|
<h1 class='item-name'>
|
||||||
|
<input type='text' name='name' value='{{source.name}}' autocomplete="off" spellcheck="false"/>
|
||||||
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
@ -19,8 +19,6 @@ Parameters:
|
||||||
- showLabels {boolean} : If true, show label-tags else show simple tags.
|
- showLabels {boolean} : If true, show label-tags else show simple tags.
|
||||||
- hideTooltip {boolean} : If true, disables the tooltip on the item image.
|
- hideTooltip {boolean} : If true, disables the tooltip on the item image.
|
||||||
- hideControls {boolean} : If true, hides the controls inside inventory-item partials.
|
- hideControls {boolean} : If true, hides the controls inside inventory-item partials.
|
||||||
- hideContextMenu {boolean}: If true, hides the context menu dropdown button
|
|
||||||
- hideModifyControls {boolean}: If true, hides the edit and delete options
|
|
||||||
- hideDescription {boolean} : If true, hides the item's description.
|
- hideDescription {boolean} : If true, hides the item's description.
|
||||||
- hideResources {boolean} : If true, hides the item's resources.
|
- hideResources {boolean} : If true, hides the item's resources.
|
||||||
- showActions {boolean} : If true show feature's actions.
|
- showActions {boolean} : If true show feature's actions.
|
||||||
|
|
@ -61,7 +59,6 @@ Parameters:
|
||||||
actorType=(ifThen ../actorType ../actorType @root.document.type)
|
actorType=(ifThen ../actorType ../actorType @root.document.type)
|
||||||
hideControls=../hideControls
|
hideControls=../hideControls
|
||||||
hideContextMenu=../hideContextMenu
|
hideContextMenu=../hideContextMenu
|
||||||
hideModifyControls=../hideModifyControls
|
|
||||||
isActor=../isActor
|
isActor=../isActor
|
||||||
categoryAdversary=../categoryAdversary
|
categoryAdversary=../categoryAdversary
|
||||||
hideTooltip=../hideTooltip
|
hideTooltip=../hideTooltip
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@ Parameters:
|
||||||
- hideTags {boolean} : If true, hide simple-tags else show simple-tags.
|
- hideTags {boolean} : If true, hide simple-tags else show simple-tags.
|
||||||
- hideTooltip {boolean} : If true, disables the tooltip on the item image.
|
- hideTooltip {boolean} : If true, disables the tooltip on the item image.
|
||||||
- hideControls {boolean} : If true, hides the controls inside inventory-item partials.
|
- hideControls {boolean} : If true, hides the controls inside inventory-item partials.
|
||||||
- hideContextMenu {boolean}: If true, hides the context menu dropdown button
|
|
||||||
- hideModifyControls {boolean}: If true, hides the edit and delete options (todo: swap to show, only party cares to show this)
|
|
||||||
- hideDescription {boolean} : If true, hides the item's description.
|
- hideDescription {boolean} : If true, hides the item's description.
|
||||||
- hideResources {boolean} : If true, hides the item's resources.
|
- hideResources {boolean} : If true, hides the item's resources.
|
||||||
- showActions {boolean} : If true show feature's actions.
|
- showActions {boolean} : If true show feature's actions.
|
||||||
|
|
@ -114,12 +112,12 @@ Parameters:
|
||||||
<a data-action="triggerContextMenu" data-tooltip="DAGGERHEART.UI.Tooltip.moreOptions">
|
<a data-action="triggerContextMenu" data-tooltip="DAGGERHEART.UI.Tooltip.moreOptions">
|
||||||
<i class="fa-solid fa-fw fa-ellipsis-vertical" inert></i>
|
<i class="fa-solid fa-fw fa-ellipsis-vertical" inert></i>
|
||||||
</a>
|
</a>
|
||||||
{{else if (and @root.editable (not hideModifyControls))}}
|
{{else if @root.editable}}
|
||||||
<a data-action="editDoc" data-tooltip="DAGGERHEART.UI.Tooltip.edit">
|
<a data-action="editDoc" data-tooltip="DAGGERHEART.UI.Tooltip.edit">
|
||||||
<i class="fa-solid fa-edit" inert></i>
|
<i class="fa-solid fa-edit" inert></i>
|
||||||
</a>
|
</a>
|
||||||
{{#if (not isActor)}}
|
{{#if (not isActor)}}
|
||||||
<a data-action="deleteDoc" data-tooltip="DAGGERHEART.UI.Tooltip.deleteItem">
|
<a data-action="deleteItem" data-tooltip="DAGGERHEART.UI.Tooltip.deleteItem">
|
||||||
<i class="fa-solid fa-trash" inert></i>
|
<i class="fa-solid fa-trash" inert></i>
|
||||||
</a>
|
</a>
|
||||||
{{else if (eq type 'adversary')}}
|
{{else if (eq type 'adversary')}}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
(hasProperty item "toChat" ) "toChat" "editDoc" ) }}' {{#unless hideTooltip}} {{#if (eq type 'attack' )}}
|
(hasProperty item "toChat" ) "toChat" "editDoc" ) }}' {{#unless hideTooltip}} {{#if (eq type 'attack' )}}
|
||||||
data-tooltip="#attack#{{item.actor.uuid}}" {{else}} data-tooltip="#item#{{item.uuid}}" {{/if}} {{/unless}}>
|
data-tooltip="#attack#{{item.actor.uuid}}" {{else}} data-tooltip="#item#{{item.uuid}}" {{/if}} {{/unless}}>
|
||||||
<img src="{{item.img}}" class="item-img {{#if isActor}}actor-img{{/if}}" />
|
<img src="{{item.img}}" class="item-img {{#if isActor}}actor-img{{/if}}" />
|
||||||
{{#if item.usable}}
|
{{#if (or item.system.actionsList.size item.system.actionsList.length item.actionType)}}
|
||||||
{{#if @root.isNPC}}
|
{{#if @root.isNPC}}
|
||||||
<img class="roll-img d20" src="systems/daggerheart/assets/icons/dice/default/d20.svg" alt="d20">
|
<img class="roll-img d20" src="systems/daggerheart/assets/icons/dice/default/d20.svg" alt="d20">
|
||||||
{{else}}
|
{{else}}
|
||||||
|
|
|
||||||
|
|
@ -46,13 +46,6 @@
|
||||||
placeholder=(localize (ifThen dimensionsDisabled "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.disabledPlaceholder" "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.placeholder"))
|
placeholder=(localize (ifThen dimensionsDisabled "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.disabledPlaceholder" "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.placeholder"))
|
||||||
disabled=dimensionsDisabled
|
disabled=dimensionsDisabled
|
||||||
}}
|
}}
|
||||||
{{formGroup
|
|
||||||
systemFields.tokenSize.fields.depth
|
|
||||||
value=source.system.tokenSize.depth
|
|
||||||
localize=true
|
|
||||||
placeholder=(localize (ifThen dimensionsDisabled "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.disabledPlaceholder" "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.placeholder"))
|
|
||||||
disabled=dimensionsDisabled
|
|
||||||
}}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="full-width">
|
<div class="full-width">
|
||||||
{{formGroup systemFields.tokenSize.fields.scale value=source.system.tokenSize.scale localize=true }}
|
{{formGroup systemFields.tokenSize.fields.scale value=source.system.tokenSize.scale localize=true }}
|
||||||
|
|
|
||||||
|
|
@ -13,20 +13,20 @@
|
||||||
<div class="combatant-controls flex-0">
|
<div class="combatant-controls flex-0">
|
||||||
{{#if @root.user.isGM}}
|
{{#if @root.user.isGM}}
|
||||||
<button type="button" class="inline-control combatant-control icon fa-solid fa-eye-slash {{#if hidden}}active{{/if}}"
|
<button type="button" class="inline-control combatant-control icon fa-solid fa-eye-slash {{#if hidden}}active{{/if}}"
|
||||||
data-action="toggleHidden" data-tooltip aria-label="{{ localize (ifThen hidden "COMBATANT.Show" "COMBATANT.Hide") }}"></button>
|
data-action="toggleHidden" data-tooltip aria-label="{{ localize "COMBAT.ToggleVis" }}"></button>
|
||||||
<button type="button" class="inline-control combatant-control icon fa-solid fa-skull {{#if isDefeated}}active{{/if}}"
|
<button type="button" class="inline-control combatant-control icon fa-solid fa-skull {{#if isDefeated}}active{{/if}}"
|
||||||
data-action="toggleDefeated" data-tooltip
|
data-action="toggleDefeated" data-tooltip
|
||||||
aria-label="{{ localize (ifThen isDefeated "COMBATANT.UnmarkDefeated" "COMBATANT.MarkDefeated") }}"></button>
|
aria-label="{{ localize "COMBAT.ToggleDead" }}"></button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if canPing}}
|
{{#if canPing}}
|
||||||
<button type="button" class="inline-control combatant-control icon fa-solid fa-bullseye-arrow"
|
<button type="button" class="inline-control combatant-control icon fa-solid fa-bullseye-arrow"
|
||||||
data-action="pingCombatant" data-tooltip
|
data-action="pingCombatant" data-tooltip
|
||||||
aria-label="{{ localize "COMBATANT.Ping" }}"></button>
|
aria-label="{{ localize "COMBAT.PingCombatant" }}"></button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#unless @root.user.isGM}}
|
{{#unless @root.user.isGM}}
|
||||||
<button type="button" class="inline-control combatant-control icon fa-solid fa-arrows-to-eye"
|
<button type="button" class="inline-control combatant-control icon fa-solid fa-arrows-to-eye"
|
||||||
data-action="panToCombatant" data-tooltip
|
data-action="panToCombatant" data-tooltip
|
||||||
aria-label="{{ localize "COMBATANT.PanTo" }}"></button>
|
aria-label="{{ localize "COMBAT.PanToCombatant" }}"></button>
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{{#each items}}
|
{{#each items}}
|
||||||
<div class="item-container" data-item-uuid="{{uuid}}" draggable="true">
|
<div class="item-container" data-item-uuid="{{uuid}}" draggable="true">
|
||||||
<div class="item-header">
|
<div class="item-header">
|
||||||
<div class="item-info" {{#if @root.viewSheet}}data-action="viewSheet"{{else}}data-action="expandContent"{{/if}}>
|
<div class="item-info" data-action="expandContent">
|
||||||
<img src="{{img}}" data-item-key="img" class="item-list-img">
|
<img src="{{img}}" data-item-key="img" class="item-list-img">
|
||||||
<span data-item-key="name" class="item-list-name">{{name}}</span>
|
<span data-item-key="name" class="item-list-name">{{name}}</span>
|
||||||
{{#each ../menu.data.columns}}
|
{{#each ../menu.data.columns}}
|
||||||
|
|
@ -9,13 +9,11 @@
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{#unless viewSheet}}
|
<div class="item-desc extensible">
|
||||||
<div class="item-desc extensible">
|
<span class="wrapper">
|
||||||
<span class="wrapper">
|
{{{system.enrichedTags}}}
|
||||||
{{{system.enrichedTags}}}
|
{{{system.enrichedDescription}}}
|
||||||
{{{system.enrichedDescription}}}
|
</span>
|
||||||
</span>
|
</div>
|
||||||
</div>
|
|
||||||
{{/unless}}
|
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
@ -12,20 +12,15 @@
|
||||||
</menu>
|
</menu>
|
||||||
{{/with}}
|
{{/with}}
|
||||||
{{#if scenes.levels}}
|
{{#if scenes.levels}}
|
||||||
<menu id="scene-navigation-levels" class="scene-levels scene-navigation-menu flexcol"
|
<menu id="scene-navigation-levels" class="scene-levels scene-navigation-menu flexcol" style="--max-levels: {{ scenes.levels.length }}">
|
||||||
style="--max-levels: {{ scenes.levels.length }}">
|
|
||||||
{{#each scenes.levels}}
|
{{#each scenes.levels}}
|
||||||
<li class="level-row">
|
<li class="level-row">
|
||||||
|
{{#with button}}
|
||||||
|
<button type="button" class="ui-control icon fa-solid {{ css }}" data-action="cycleLevel"
|
||||||
|
data-direction="{{ direction }}" aria-label="{{ label }}"></button>
|
||||||
|
{{/with}}
|
||||||
<div class="ui-control scene scene-level {{ css }}" data-scene-id="{{ sceneId }}" data-level-id="{{ id }}" data-action="viewLevel">
|
<div class="ui-control scene scene-level {{ css }}" data-scene-id="{{ sceneId }}" data-level-id="{{ id }}" data-action="viewLevel">
|
||||||
<span class="ellipsis">{{ name }}</span>
|
<span class="ellipsis">{{ name }}</span>
|
||||||
{{#if users}}
|
|
||||||
<ul class="scene-players">
|
|
||||||
{{#each users}}
|
|
||||||
<li class="scene-player" style="--color-bg: {{ color }}; --color-border: {{ border }}" data-tooltip
|
|
||||||
aria-label="{{ name }}">{{ letter }}</li>
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
@ -45,8 +40,7 @@
|
||||||
|
|
||||||
{{#*inline ".scene"}}
|
{{#*inline ".scene"}}
|
||||||
<li class="scene-wrapper">
|
<li class="scene-wrapper">
|
||||||
<div class="ui-control scene {{ cssClass }}" data-scene-id="{{ id }}" data-action="viewScene"
|
<div class="ui-control scene {{ cssClass }}" data-scene-id="{{ id }}" data-action="viewScene" {{#if tooltip}}data-tooltip-text="{{ tooltip }}"{{/if}}>
|
||||||
{{#if tooltip}}data-tooltip-text="{{ tooltip }}"{{/if}}>
|
|
||||||
<span class="scene-name ellipsis">{{ name }}</span>
|
<span class="scene-name ellipsis">{{ name }}</span>
|
||||||
{{#if users}}
|
{{#if users}}
|
||||||
<ul class="scene-players">
|
<ul class="scene-players">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue