diff --git a/lang/en.json b/lang/en.json index a06c46c2..0a9448c4 100755 --- a/lang/en.json +++ b/lang/en.json @@ -778,9 +778,7 @@ "title": "Group Roll" }, "TokenConfig": { - "actorSizeUsed": "Actor size is set, determining the dimensions", - "tokenSize": "Token Size", - "sizeCategory": "Size Category" + "actorSizeUsed": "Actor size is set, determining the dimensions" } }, "CLASS": { @@ -2567,11 +2565,10 @@ "tokenImg": { "label": "Token Image" }, "tokenRingImg": { "label": "Subject Texture" }, "tokenSize": { - "placeholder": "Token Size", - "disabledPlaceholder": "Token Size", + "placeholder": "Using character dimensions", + "disabledPlaceholder": "Set by character size", "height": { "label": "Height" }, "width": { "label": "Width" }, - "depth": { "label": "Depth" }, "scale": { "label": "Token Scale" } }, "evolved": { diff --git a/module/applications/dialogs/d20RollDialog.mjs b/module/applications/dialogs/d20RollDialog.mjs index 76b2e751..067aa473 100644 --- a/module/applications/dialogs/d20RollDialog.mjs +++ b/module/applications/dialogs/d20RollDialog.mjs @@ -175,14 +175,14 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio this.disadvantage = advantage === -1; this.config.roll.advantage = this.config.roll.advantage === advantage ? 0 : advantage; - if (this.config.roll.advantage === 0) return this.render(); - const defaultFaces = - this.config.roll.advantage === 1 - ? this.config.data.rules.roll.defaultAdvantageDice - : this.config.data.rules.roll.defaultDisadvantageDice; - const faces = Number.parseInt(defaultFaces); - this.roll.advantageFaces = Number.isNaN(faces) ? this.roll.advantageFaces : faces; + if (this.config.roll.advantage === 1 && this.config.data.rules.roll.defaultAdvantageDice) { + const faces = Number.parseInt(this.config.data.rules.roll.defaultAdvantageDice); + this.roll.advantageFaces = Number.isNaN(faces) ? this.roll.advantageFaces : faces; + } else if (this.config.roll.advantage === -1 && this.config.data.rules.roll.defaultDisadvantageDice) { + const faces = Number.parseInt(this.config.data.rules.roll.defaultDisadvantageDice); + this.roll.advantageFaces = Number.isNaN(faces) ? this.roll.advantageFaces : faces; + } this.render(); } diff --git a/module/applications/sheets-configs/action-base-config.mjs b/module/applications/sheets-configs/action-base-config.mjs index e83dfae4..7406b084 100644 --- a/module/applications/sheets-configs/action-base-config.mjs +++ b/module/applications/sheets-configs/action-base-config.mjs @@ -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 = { label: 'DAGGERHEART.GENERAL.itemQuantity', group: 'Global' diff --git a/module/applications/sheets-configs/activeEffectConfig.mjs b/module/applications/sheets-configs/activeEffectConfig.mjs index cb9f1701..834a57a8 100644 --- a/module/applications/sheets-configs/activeEffectConfig.mjs +++ b/module/applications/sheets-configs/activeEffectConfig.mjs @@ -175,7 +175,6 @@ export default class DhActiveEffectConfig extends foundry.applications.sheets.Ac const partContext = await super._preparePartContext(partId, context); switch (partId) { case 'details': - partContext.isItemEffect = partContext.isItemEffect || this.options.isSetting; const useGeneric = game.settings.get( CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index 19b82712..5f6c854b 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -184,9 +184,6 @@ export default class CharacterSheet extends DHBaseActorSheet { for (const input of form.querySelectorAll('input:not([type=search]), .editor.prosemirror')) { input.disabled = disabled; } - for (const element of form.querySelectorAll('.input[contenteditable]')) { - element.classList.toggle('disabled', disabled); - } } /** @inheritDoc */ @@ -371,7 +368,7 @@ export default class CharacterSheet extends DHBaseActorSheet { const doc = getDocFromElementSync(target); return doc?.isOwner && !isItemWizardManaged(doc); }, - onClick: async (event, target) => { + callback: async (target, event) => { const doc = await getDocFromElement(target); if (event.shiftKey) return doc.delete(); else return doc.deleteDialog(); @@ -396,7 +393,7 @@ export default class CharacterSheet extends DHBaseActorSheet { const doc = getDocFromElementSync(target); return doc?.isOwner && doc.system.inVault; }, - onClick: async (_, target) => { + callback: async target => { const doc = await getDocFromElement(target); const actorLoadout = doc.actor.system.loadoutSlot; if (actorLoadout.available) return doc.update({ 'system.inVault': false }); @@ -410,7 +407,7 @@ export default class CharacterSheet extends DHBaseActorSheet { const doc = getDocFromElementSync(target); return doc?.isOwner && doc.system.inVault; }, - onClick: async (event, target) => { + callback: async (target, event) => { const doc = await getDocFromElement(target); const actorLoadout = doc.actor.system.loadoutSlot; if (!actorLoadout.available) { @@ -449,7 +446,7 @@ export default class CharacterSheet extends DHBaseActorSheet { const doc = getDocFromElementSync(target); 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 => ({ ...option, @@ -475,7 +472,7 @@ export default class CharacterSheet extends DHBaseActorSheet { const doc = getDocFromElementSync(target); 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', @@ -484,7 +481,7 @@ export default class CharacterSheet extends DHBaseActorSheet { const doc = getDocFromElementSync(target); 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 => ({ ...option, diff --git a/module/applications/sheets/actors/party.mjs b/module/applications/sheets/actors/party.mjs index cec1e1f0..c703ad85 100644 --- a/module/applications/sheets/actors/party.mjs +++ b/module/applications/sheets/actors/party.mjs @@ -26,6 +26,7 @@ export default class Party extends DHBaseActorSheet { actions: { openDocument: Party.#openDocument, deletePartyMember: Party.#deletePartyMember, + deleteItem: Party.#deleteItem, toggleHope: Party.#toggleHope, toggleHitPoints: Party.#toggleHitPoints, toggleStress: Party.#toggleStress, @@ -508,4 +509,23 @@ export default class Party extends DHBaseActorSheet { const newMembersList = currentMembers.filter(uuid => uuid !== doc.uuid); 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]); + } } diff --git a/module/applications/sheets/api/application-mixin.mjs b/module/applications/sheets/api/application-mixin.mjs index 2b0c3e55..c79db99b 100644 --- a/module/applications/sheets/api/application-mixin.mjs +++ b/module/applications/sheets/api/application-mixin.mjs @@ -424,7 +424,7 @@ export default function DHApplicationMixin(Base) { const target = element.closest('[data-item-uuid]'); 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', @@ -433,7 +433,7 @@ export default function DHApplicationMixin(Base) { const target = element.closest('[data-item-uuid]'); 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 => ({ ...option, @@ -478,9 +478,7 @@ export default function DHApplicationMixin(Base) { (doc?.isOwner && (!doc?.hasOwnProperty('systemPath') || doc?.inCollection)) ); }, - onClick: async (_, target) => { - return (await getDocFromElement(target)).sheet.render({ force: true }); - } + callback: async target => (await getDocFromElement(target)).sheet.render({ force: true }) } ]; @@ -495,7 +493,7 @@ export default function DHApplicationMixin(Base) { !foundry.utils.isEmpty(doc?.damage?.parts); return doc?.isOwner && hasDamage; }, - onClick: async (event, target) => { + callback: async (target, event) => { const doc = await getDocFromElement(target), action = doc?.system?.attack ?? doc; const config = action.prepareConfig(event); @@ -515,7 +513,7 @@ export default function DHApplicationMixin(Base) { const doc = getDocFromElementSync(target); 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({ label: 'DAGGERHEART.APPLICATIONS.ContextMenu.sendToChat', 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) @@ -535,7 +533,7 @@ export default function DHApplicationMixin(Base) { const doc = getDocFromElementSync(target); return doc?.isOwner !== false && target.dataset.itemType !== 'beastform'; }, - onClick: async (event, target) => { + callback: async (target, event) => { const doc = await getDocFromElement(target); if (event.shiftKey) return doc.delete(); else return doc.deleteDialog(); diff --git a/module/applications/sheets/api/base-actor.mjs b/module/applications/sheets/api/base-actor.mjs index 5cd0f6a5..e23a4426 100644 --- a/module/applications/sheets/api/base-actor.mjs +++ b/module/applications/sheets/api/base-actor.mjs @@ -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 */ /* -------------------------------------------- */ diff --git a/module/applications/sheets/api/base-item.mjs b/module/applications/sheets/api/base-item.mjs index 1e08fc05..e3568b23 100644 --- a/module/applications/sheets/api/base-item.mjs +++ b/module/applications/sheets/api/base-item.mjs @@ -126,7 +126,7 @@ export default class DHBaseItemSheet extends DHApplicationMixin(ItemSheetV2) { options.push({ name: 'CONTROLS.CommonDelete', icon: '', - onClick: async (_, target) => { + callback: async target => { const feature = await getDocFromElement(target); if (!feature) return; const confirmed = await foundry.applications.api.DialogV2.confirm({ diff --git a/module/applications/ui/itemBrowser.mjs b/module/applications/ui/itemBrowser.mjs index 8f38918a..d98cf2da 100644 --- a/module/applications/ui/itemBrowser.mjs +++ b/module/applications/ui/itemBrowser.mjs @@ -1,4 +1,3 @@ -import { getDocFromElement } from '../../helpers/utils.mjs'; import { RefreshType, socketEvent } from '../../systemRegistration/socket.mjs'; const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api; @@ -48,8 +47,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) { expandContent: this.expandContent, resetFilters: this.resetFilters, sortList: this.sortList, - openSettings: this.openSettings, - viewSheet: this.#onViewSheet + openSettings: this.openSettings }, position: { left: 100, @@ -308,8 +306,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) { { items: this.items, menu: this.selectedMenu, - formatLabel: this.formatLabel, - viewSheet: this.items[0] instanceof Actor + formatLabel: this.formatLabel } ); @@ -571,11 +568,6 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) { } } - static async #onViewSheet(_, target) { - const document = await getDocFromElement(target); - document?.sheet?.render(true); - } - _createDragProcess() { new foundry.applications.ux.DragDrop.implementation({ dragSelector: '.item-container', @@ -614,16 +606,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) { items: { folder: 'equipments', render: { - folders: [ - 'equipments', - 'ancestries', - 'classes', - 'subclasses', - 'domains', - 'communities', - 'beastforms' - // excluded: features - ] + noFolder: true } }, compendium: {} diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index acd104a7..b3775dc9 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -148,14 +148,10 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel : null; } - /** - * 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. - */ + /** Returns true if the action is usable */ get usable() { const actor = this.actor; - const pack = actor?.pack ? game.packs.get(actor.pack) : null; - return !pack?.locked && this.isOwner; + return this.isOwner && actor?.type === 'character'; } static getRollType(parent) { diff --git a/module/data/activeEffect/beastformEffect.mjs b/module/data/activeEffect/beastformEffect.mjs index 0fbea122..128c0c52 100644 --- a/module/data/activeEffect/beastformEffect.mjs +++ b/module/data/activeEffect/beastformEffect.mjs @@ -35,7 +35,6 @@ export default class BeastformEffect extends BaseEffect { static migrateData(source) { if (!source.characterTokenData.tokenSize.height) source.characterTokenData.tokenSize.height = 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); } @@ -53,8 +52,7 @@ export default class BeastformEffect extends BaseEffect { if (this.parent.parent.type === 'character') { const baseUpdate = { height: this.characterTokenData.tokenSize.height, - width: this.characterTokenData.tokenSize.width, - depth: this.characterTokenData.tokenSize.depth + width: this.characterTokenData.tokenSize.width }; const update = { ...baseUpdate, diff --git a/module/data/fields/action/costField.mjs b/module/data/fields/action/costField.mjs index 1928af41..9271f6b0 100644 --- a/module/data/fields/action/costField.mjs +++ b/module/data/fields/action/costField.mjs @@ -103,7 +103,7 @@ export default class CostField extends fields.ArrayField { static calcCosts(costs) { const resources = CostField.getResources.call(this, 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'); } diff --git a/module/data/item/beastform.mjs b/module/data/item/beastform.mjs index ee9d9839..d30d6046 100644 --- a/module/data/item/beastform.mjs +++ b/module/data/item/beastform.mjs @@ -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 }), height: 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 }) + width: new fields.NumberField({ integer: true, min: 1, initial: null, nullable: true }) }), mainTrait: new fields.StringField({ required: true, @@ -193,8 +192,7 @@ export default class DHBeastform extends BaseDataItem { tokenSize: { scale: this.parent.parent.prototypeToken.texture.scaleX, height: this.parent.parent.prototypeToken.height, - width: this.parent.parent.prototypeToken.width, - depth: this.parent.parent.prototypeToken.depth + width: this.parent.parent.prototypeToken.width } }, advantageOn: this.advantageOn, @@ -213,12 +211,10 @@ export default class DHBeastform extends BaseDataItem { : null; const width = autoTokenSize ?? this.tokenSize.width; const height = autoTokenSize ?? this.tokenSize.height; - const depth = autoTokenSize ?? this.tokenSize.depth; const prototypeTokenUpdate = { height, width, - depth, texture: { src: this.tokenImg, scaleX: this.tokenSize.scale, diff --git a/module/dice/dualityRoll.mjs b/module/dice/dualityRoll.mjs index d58811fe..5e03a680 100644 --- a/module/dice/dualityRoll.mjs +++ b/module/dice/dualityRoll.mjs @@ -148,22 +148,14 @@ export default class DualityRoll extends D20Roll { } applyAdvantage() { - const advDieClass = this.hasAdvantage - ? game.system.api.dice.diceTypes.AdvantageDie - : this.hasDisadvantage - ? game.system.api.dice.diceTypes.DisadvantageDie - : null; - if (advDieClass) { - const advDie = new advDieClass({ faces: this.advantageFaces, number: this.advantageNumber }); - 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.hasAdvantage || this.hasDisadvantage) { + const dieFaces = this.advantageFaces, + advDie = new foundry.dice.terms.Die({ faces: dieFaces, number: this.advantageNumber }); + if (this.advantageNumber > 1) advDie.modifiers = ['kh']; + this.terms.push( + new foundry.dice.terms.OperatorTerm({ operator: this.hasDisadvantage ? '-' : '+' }), + advDie + ); } if (this.rallyFaces) this.terms.push( diff --git a/module/documents/item.mjs b/module/documents/item.mjs index 603ca594..93aa3b28 100644 --- a/module/documents/item.mjs +++ b/module/documents/item.mjs @@ -73,10 +73,8 @@ export default class DHItem extends foundry.documents.Item { /** Returns true if the item can be used */ get usable() { const actor = this.actor; - const pack = actor?.pack ? game.packs.get(actor.pack) : null; - const hasActions = this.system.actionsList?.size || this.system.actionsList?.length; - const isValidType = actor?.type === 'character' || this.type === 'feature'; - return !pack?.locked && this.isOwner && isValidType && hasActions; + const actionsList = this.system.actionsList; + return this.isOwner && actor?.type === 'character' && (actionsList?.size || actionsList?.length); } /** @inheritdoc */ diff --git a/module/documents/scene.mjs b/module/documents/scene.mjs index bf700610..59b8091f 100644 --- a/module/documents/scene.mjs +++ b/module/documents/scene.mjs @@ -20,7 +20,7 @@ export default class DhScene extends Scene { const prototype = tokenDoc.actor?.prototypeToken ?? tokenDoc; this.#sizeSyncBatch.set(tokenDoc.id, { 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 } }); this.#processSyncBatch(); @@ -36,13 +36,11 @@ export default class DhScene extends Scene { const tokenSize = tokenSizes[size]; 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 depth = size !== CONFIG.DH.ACTOR.tokenSize.custom.id ? tokenSize : prototypeSize.depth; const updatedPosition = DHToken.getSnappedPositionInSquareGrid(this.grid, position, width, height); return { _id, width, height, - depth, ...updatedPosition }; }); diff --git a/module/documents/token.mjs b/module/documents/token.mjs index 30862724..4ee7ce05 100644 --- a/module/documents/token.mjs +++ b/module/documents/token.mjs @@ -66,8 +66,7 @@ export default class DHToken extends CONFIG.Token.documentClass { if (tokenSize && actor.system.size !== CONFIG.DH.ACTOR.tokenSize.custom.id) { document.updateSource({ width: tokenSize, - height: tokenSize, - depth: tokenSize + height: 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 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); } } diff --git a/module/documents/tokenManager.mjs b/module/documents/tokenManager.mjs index 7678d2c7..3ccff4e2 100644 --- a/module/documents/tokenManager.mjs +++ b/module/documents/tokenManager.mjs @@ -15,7 +15,6 @@ export default class DhTokenManager { if (tokenSize && actor.system.size !== CONFIG.DH.ACTOR.tokenSize.custom.id) { tokenData.width = tokenSize; tokenData.height = tokenSize; - tokenData.depth = tokenSize; } } diff --git a/styles/less/dialog/beastform/sheet.less b/styles/less/dialog/beastform/sheet.less index 6d1a8a2a..0e1fe746 100644 --- a/styles/less/dialog/beastform/sheet.less +++ b/styles/less/dialog/beastform/sheet.less @@ -43,7 +43,7 @@ text-align: center; font-size: var(--font-size-16); margin: 0 4px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; color: light-dark(@dark, @beige); background-image: url('../assets/parchments/dh-parchment-dark.png'); @@ -58,7 +58,7 @@ position: relative; display: flex; justify-content: center; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; cursor: pointer; width: 120px; @@ -164,7 +164,7 @@ .hybrid-data { padding: 0 2px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; color: light-dark(@dark, @beige); background-image: url('../assets/parchments/dh-parchment-dark.png'); @@ -191,7 +191,7 @@ flex-direction: column; gap: 4px; padding: 0 4px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; color: light-dark(@dark, @beige); background-image: url('../assets/parchments/dh-parchment-dark.png'); @@ -226,7 +226,7 @@ gap: 4px; .trait-card { - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; padding: 2px; opacity: 0.4; diff --git a/styles/less/dialog/character-creation/selections-container.less b/styles/less/dialog/character-creation/selections-container.less index ebf12eda..24217dbf 100644 --- a/styles/less/dialog/character-creation/selections-container.less +++ b/styles/less/dialog/character-creation/selections-container.less @@ -79,7 +79,7 @@ font-weight: bold; padding: 0 2px; 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; color: light-dark(@beige, @dark); opacity: 0.4; @@ -203,7 +203,7 @@ height: 16px; width: 110px; min-height: unset; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); color: light-dark(@beige, @beige); background-color: light-dark(var(--color-warm-3), var(--color-warm-3)); @@ -230,7 +230,7 @@ .suggested-trait-container { width: 56px; white-space: nowrap; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; color: light-dark(@beige, @dark); background-image: url('../assets/parchments/dh-parchment-light.png'); @@ -345,7 +345,7 @@ display: flex; justify-content: center; position: relative; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; .nav-section-text { @@ -383,7 +383,7 @@ width: 56px; text-align: center; line-height: 1; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; color: light-dark(@beige, @dark); background-image: url(../assets/parchments/dh-parchment-light.png); @@ -447,7 +447,7 @@ height: 100%; .simple-equipment { - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 8px; position: relative; display: flex; @@ -466,7 +466,7 @@ top: -8px; font-size: var(--font-size-12); white-space: nowrap; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; color: @dark; background-image: url('../assets/parchments/dh-parchment-light.png'); diff --git a/styles/less/dialog/character-creation/tab-navigation.less b/styles/less/dialog/character-creation/tab-navigation.less index 85541db7..36b89d5a 100644 --- a/styles/less/dialog/character-creation/tab-navigation.less +++ b/styles/less/dialog/character-creation/tab-navigation.less @@ -7,7 +7,7 @@ border-top: 0; a { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); &[disabled] { opacity: 0.4; diff --git a/styles/less/dialog/compendiumBrowserPackDialog/sheet.less b/styles/less/dialog/compendiumBrowserPackDialog/sheet.less index b16f1086..dfe375b5 100644 --- a/styles/less/dialog/compendiumBrowserPackDialog/sheet.less +++ b/styles/less/dialog/compendiumBrowserPackDialog/sheet.less @@ -67,6 +67,7 @@ i { font-size: 18px; + // color: light-dark(@dark-blue, @golden); } } } diff --git a/styles/less/dialog/damage-reduction/damage-reduction-container.less b/styles/less/dialog/damage-reduction/damage-reduction-container.less index 6f7ffb51..e8242bdd 100644 --- a/styles/less/dialog/damage-reduction/damage-reduction-container.less +++ b/styles/less/dialog/damage-reduction/damage-reduction-container.less @@ -81,7 +81,7 @@ .mark-container { cursor: pointer; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; height: 26px; padding: 0 1px; @@ -126,7 +126,7 @@ width: 100%; .chip-inner-container { - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; height: 26px; padding: 0 4px; diff --git a/styles/less/dialog/dice-roll/roll-selection.less b/styles/less/dialog/dice-roll/roll-selection.less index e3551902..a1a01e6b 100644 --- a/styles/less/dialog/dice-roll/roll-selection.less +++ b/styles/less/dialog/dice-roll/roll-selection.less @@ -56,7 +56,7 @@ cursor: pointer; padding: 5px; background: light-dark(@dark-blue-10, @golden-10); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); .label { font-style: normal; @@ -129,7 +129,7 @@ cursor: pointer; padding: 5px; background: light-dark(@dark-blue-10, @golden-10); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); .label { font-style: normal; diff --git a/styles/less/dialog/downtime/downtime-container.less b/styles/less/dialog/downtime/downtime-container.less index 33d153fd..eb615ef0 100644 --- a/styles/less/dialog/downtime/downtime-container.less +++ b/styles/less/dialog/downtime/downtime-container.less @@ -37,7 +37,7 @@ .activity-marker { font-size: 0.5rem; flex: none; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); margin-right: 4px; } @@ -55,7 +55,7 @@ .activity-selected-marker { font-size: var(--font-size-14); - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; color: light-dark(@dark, @beige); background-image: url(../assets/parchments/dh-parchment-dark.png); @@ -78,7 +78,7 @@ } .refreshable-container { - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; color: light-dark(@dark, @beige); background-image: url('../assets/parchments/dh-parchment-dark.png'); diff --git a/styles/less/dialog/group-roll-dialog/_common.less b/styles/less/dialog/group-roll-dialog/_common.less index f74ab8a0..b04f6893 100644 --- a/styles/less/dialog/group-roll-dialog/_common.less +++ b/styles/less/dialog/group-roll-dialog/_common.less @@ -1,5 +1,5 @@ h1 { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); font: 700 var(--font-size-24) var(--dh-font-subtitle); text-align: center; } diff --git a/styles/less/dialog/group-roll-dialog/main.less b/styles/less/dialog/group-roll-dialog/main.less index e30f4e29..f266dcc7 100644 --- a/styles/less/dialog/group-roll-dialog/main.less +++ b/styles/less/dialog/group-roll-dialog/main.less @@ -110,7 +110,7 @@ display: flex; flex-direction: row; button { - --button-text-color: @color-text-primary; + --button-text-color: var(--color-text-primary); --button-size: 1.5em; padding: 0 var(--spacer-4); img { diff --git a/styles/less/dialog/image-select/sheet.less b/styles/less/dialog/image-select/sheet.less index 7a3a8468..3ed4f583 100644 --- a/styles/less/dialog/image-select/sheet.less +++ b/styles/less/dialog/image-select/sheet.less @@ -12,7 +12,7 @@ img { width: 136px; height: 136px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; opacity: 0.4; diff --git a/styles/less/dialog/level-up/navigation-container.less b/styles/less/dialog/level-up/navigation-container.less index 6bf80d7c..282d683f 100644 --- a/styles/less/dialog/level-up/navigation-container.less +++ b/styles/less/dialog/level-up/navigation-container.less @@ -19,7 +19,7 @@ a, span { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } } } diff --git a/styles/less/dialog/multiclass-choice/sheet.less b/styles/less/dialog/multiclass-choice/sheet.less index 0c487cbc..1f38449a 100644 --- a/styles/less/dialog/multiclass-choice/sheet.less +++ b/styles/less/dialog/multiclass-choice/sheet.less @@ -35,7 +35,7 @@ width: 120px; height: 120px; background: light-dark(@dark-blue-10, @golden-10); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); &.selected { background: light-dark(@dark-blue-40, @golden-40); @@ -57,7 +57,7 @@ display: flex; flex-wrap: wrap; font-style: italic; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; padding: 4px 4px; } diff --git a/styles/less/dialog/tag-team-dialog/initialization.less b/styles/less/dialog/tag-team-dialog/initialization.less index d6f7ad29..2d015141 100644 --- a/styles/less/dialog/tag-team-dialog/initialization.less +++ b/styles/less/dialog/tag-team-dialog/initialization.less @@ -1,5 +1,3 @@ -@import '../../utils/mixin.less'; - .theme-light .daggerheart.dialog.dh-style.views.tag-team-dialog { .initialization-container .members-container .member-container { .member-name { @@ -36,7 +34,7 @@ align-items: stretch; justify-content: center; border-radius: 6px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); overflow: hidden; height: 11.5rem; width: 122px; @@ -62,9 +60,19 @@ padding: 5rem 4px var(--spacer-8) 4px; 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); - .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 { diff --git a/styles/less/dialog/tag-team-dialog/sheet.less b/styles/less/dialog/tag-team-dialog/sheet.less index 3a112146..a8dffbd2 100644 --- a/styles/less/dialog/tag-team-dialog/sheet.less +++ b/styles/less/dialog/tag-team-dialog/sheet.less @@ -1,6 +1,6 @@ .daggerheart.dialog.dh-style.views.tag-team-dialog .window-content { h1 { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); font: 700 var(--font-size-24) var(--dh-font-subtitle); text-align: center; } @@ -42,7 +42,7 @@ img { height: 64px; border-radius: 6px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); } .member-name { @@ -64,7 +64,7 @@ .roll-title { font-size: var(--font-size-20); font-weight: bold; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); text-align: center; display: flex; align-items: center; @@ -72,7 +72,7 @@ &::before, &::after { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); content: ''; flex: 1; height: 2px; @@ -202,7 +202,7 @@ justify-content: center; i { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); font-size: 48px; &.inactive { diff --git a/styles/less/global/dialog.less b/styles/less/global/dialog.less index 1313d68b..a3400700 100644 --- a/styles/less/global/dialog.less +++ b/styles/less/global/dialog.less @@ -36,8 +36,8 @@ padding: 0; &:hover { - border: 1px solid @color-border; - color: @color-text-emphatic; + border: 1px solid light-dark(@dark-blue, @golden); + color: light-dark(@dark-blue, @golden); } } } @@ -81,7 +81,7 @@ cursor: pointer; padding: 5px; background: light-dark(@dark-blue-10, @golden-10); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); .label { font-style: normal; diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less index 7af8becd..7d46d627 100755 --- a/styles/less/global/elements.less +++ b/styles/less/global/elements.less @@ -2,6 +2,8 @@ @import '../utils/fonts.less'; .dh-style { + border: 1px solid light-dark(@dark-blue, @golden); + input[type='text'], input[type='number'], textarea, @@ -12,12 +14,12 @@ box-shadow: 0 4px 30px @soft-shadow; backdrop-filter: blur(9.5px); outline: 2px solid transparent; - color: @input-color-text; - border: 1px solid @input-color-border; + color: light-dark(@dark-blue, @golden); + border: 1px solid light-dark(@dark, @beige); transition: all 0.3s ease; &::placeholder { - color: @color-text-subtle; + color: light-dark(@dark-40, @beige-50); } &:hover, @@ -28,7 +30,7 @@ &:focus[type='number'] { background: light-dark(@soft-shadow, @semi-transparent-dark-blue); box-shadow: none; - outline: 2px solid @input-color-border; + outline: 2px solid light-dark(@dark, @beige); } &:disabled[type='text'], @@ -45,7 +47,7 @@ .input[contenteditable] { cursor: var(--cursor-text); &:empty:before { - color: @color-text-subtle; + color: light-dark(@dark-40, @beige-50); content: attr(placeholder); } } @@ -105,7 +107,7 @@ &:hover { background: light-dark(@light-black, @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } &.glow { @@ -126,7 +128,7 @@ &.reverted { 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); &:hover { background: light-dark(transparent, @golden); @@ -173,7 +175,7 @@ height: inherit; .tag { padding: 0.3rem 0.5rem; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); background-color: light-dark(@dark-blue-10, @golden-40); border-radius: 3px; transition: 0.13s ease-out; @@ -263,7 +265,7 @@ align-items: center; margin-top: 5px; border-radius: 6px; - border-color: @color-fieldset-border; + border-color: light-dark(@dark-blue, @golden); &.glassy { background-color: light-dark(@dark-blue-10, @golden-10); @@ -272,7 +274,7 @@ legend { padding: 2px 12px; border-radius: 3px; - background-color: @color-fieldset-border; + background-color: light-dark(@dark-blue, @golden); color: light-dark(@beige, @dark-blue); margin-bottom: var(--spacer-4); } @@ -351,7 +353,7 @@ legend { font-weight: bold; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); &.with-icon { 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], &.child-disabled .form-group, select[disabled], @@ -500,7 +514,7 @@ display: block; height: 1px; 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%); } @@ -508,7 +522,7 @@ display: block; height: 1px; 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%); &.invert { @@ -557,7 +571,7 @@ border: 0; &:hover { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } &:not(:first-child) { diff --git a/styles/less/global/filter-menu.less b/styles/less/global/filter-menu.less index a0545950..65a184f8 100644 --- a/styles/less/global/filter-menu.less +++ b/styles/less/global/filter-menu.less @@ -13,7 +13,7 @@ legend { font-weight: bold; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); font-size: var(--font-size-12); } @@ -25,7 +25,7 @@ button { background: light-dark(@light-black, @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); outline: none; box-shadow: none; border: 1px solid light-dark(@dark-blue, @dark-blue); diff --git a/styles/less/global/inventory-item.less b/styles/less/global/inventory-item.less index 3a5a9321..a2b9ebd8 100644 --- a/styles/less/global/inventory-item.less +++ b/styles/less/global/inventory-item.less @@ -287,7 +287,7 @@ position: relative; height: 120px; width: 98px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; cursor: pointer; diff --git a/styles/less/global/resource-bar.less b/styles/less/global/resource-bar.less index d06b43a8..be9bc68b 100644 --- a/styles/less/global/resource-bar.less +++ b/styles/less/global/resource-bar.less @@ -50,16 +50,16 @@ flex-wrap: wrap; gap: 5px; padding: 5px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; z-index: 1; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); width: fit-content; .slot { width: 15px; height: 10px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); background: light-dark(@dark-blue-10, @golden-10); border-radius: 3px; transition: all 0.3s ease; @@ -148,7 +148,7 @@ appearance: none; width: 100px; height: 40px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; z-index: 1; background: @dark-blue; diff --git a/styles/less/global/sheet.less b/styles/less/global/sheet.less index e3072da1..5ccb8788 100755 --- a/styles/less/global/sheet.less +++ b/styles/less/global/sheet.less @@ -4,7 +4,7 @@ // Theme handling .appTheme({ - background: @dark-blue-c0; + background: @dark-blue-d0; backdrop-filter: blur(7px); }, { background: url('../assets/parchments/dh-parchment-light.png') no-repeat center; @@ -43,7 +43,7 @@ body.game:is(.performance-low, .noblur) { &:hover { border-color: light-dark(@dark-blue, @golden); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } } } diff --git a/styles/less/global/tab-navigation.less b/styles/less/global/tab-navigation.less index 038a9749..3f8844f2 100755 --- a/styles/less/global/tab-navigation.less +++ b/styles/less/global/tab-navigation.less @@ -20,7 +20,7 @@ white-space: nowrap; a { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } } } diff --git a/styles/less/hud/token-hud/token-hud.less b/styles/less/hud/token-hud/token-hud.less index 3cb94e1e..e31ede4a 100644 --- a/styles/less/hud/token-hud/token-hud.less +++ b/styles/less/hud/token-hud/token-hud.less @@ -24,7 +24,7 @@ .palette-category-title { grid-column: span var(--effect-columns); font-weight: bold; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } } } diff --git a/styles/less/sheets-settings/character-settings/sheet.less b/styles/less/sheets-settings/character-settings/sheet.less index 37906712..eab29436 100644 --- a/styles/less/sheets-settings/character-settings/sheet.less +++ b/styles/less/sheets-settings/character-settings/sheet.less @@ -1,19 +1,17 @@ @import '../../utils/colors.less'; -.appTheme({}, { - &.dialog.character-settings { - .tab.details { - .traits-inner-container .trait-container { - background: url('../assets/svg/trait-shield-light.svg') no-repeat; +.theme-light .application.daggerheart.dh-style.dialog { + .tab.details { + .traits-inner-container .trait-container { + background: url('../assets/svg/trait-shield-light.svg') no-repeat; - div { - filter: drop-shadow(0 0 3px @beige); - text-shadow: 0 0 3px @beige; - } + div { + filter: drop-shadow(0 0 3px @beige); + text-shadow: 0 0 3px @beige; } } } -}); +} .application.daggerheart.dh-style.dialog { .tab.details { diff --git a/styles/less/sheets-settings/header.less b/styles/less/sheets-settings/header.less index 04e2fa90..82f3c488 100644 --- a/styles/less/sheets-settings/header.less +++ b/styles/less/sheets-settings/header.less @@ -13,7 +13,7 @@ font-size: var(--font-size-24); margin: 0; text-align: center; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } } } diff --git a/styles/less/sheets/actors/actor-sheet-shared.less b/styles/less/sheets/actors/actor-sheet-shared.less index 470067ca..bd82ef83 100644 --- a/styles/less/sheets/actors/actor-sheet-shared.less +++ b/styles/less/sheets/actors/actor-sheet-shared.less @@ -34,7 +34,7 @@ .attribution-header-label { font-style: italic; font-family: @font-body; - color: @color-text-subtle; + color: light-dark(@chat-blue-bg, @beige-50); } .tab.inventory { @@ -127,7 +127,7 @@ .title-name { text-align: start; font-size: var(--font-size-28); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); text-align: center; } } @@ -180,9 +180,9 @@ display: flex; gap: 10px; background-color: light-dark(transparent, @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); padding: 5px 10px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; align-items: center; width: fit-content; @@ -194,7 +194,7 @@ font-size: var(--font-size-14); font-weight: bold; text-transform: uppercase; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } .domain { @@ -206,7 +206,7 @@ font-size: var(--font-size-14); font-weight: bold; text-transform: uppercase; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } img { @@ -230,7 +230,7 @@ padding: 10px; border-radius: 5px; min-width: 90px; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); background-color: light-dark(@dark-blue-10, @golden-40); } } diff --git a/styles/less/sheets/actors/adversary/sidebar.less b/styles/less/sheets/actors/adversary/sidebar.less index b1bb51db..ef99bc09 100644 --- a/styles/less/sheets/actors/adversary/sidebar.less +++ b/styles/less/sheets/actors/adversary/sidebar.less @@ -65,9 +65,9 @@ display: flex; gap: 10px; background-color: light-dark(transparent, @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); padding: 5px 10px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; align-items: center; width: fit-content; @@ -77,7 +77,7 @@ font-size: var(--font-size-14); font-weight: bold; text-transform: uppercase; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); &.threshold-value { color: light-dark(@dark, @beige); @@ -191,7 +191,7 @@ appearance: none; width: 100px; height: 40px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; z-index: 1; background: @dark-blue; @@ -237,7 +237,7 @@ display: flex; width: 50px; height: 30px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-bottom: none; border-radius: 6px 6px 0 0; padding: 0 6px; diff --git a/styles/less/sheets/actors/character/header.less b/styles/less/sheets/actors/character/header.less index 91b3545a..21ea4846 100644 --- a/styles/less/sheets/actors/character/header.less +++ b/styles/less/sheets/actors/character/header.less @@ -103,7 +103,7 @@ padding: 5px 0; margin-bottom: 8px; font-size: var(--font-size-12); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); .missing-header-feature { opacity: 0.5; @@ -170,9 +170,9 @@ display: flex; gap: 4px; background-color: light-dark(transparent, @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); padding: 5px 10px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; align-items: center; width: fit-content; @@ -182,7 +182,7 @@ font-size: var(--font-size-14); font-weight: bold; text-transform: uppercase; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); margin-right: 4px; } @@ -195,7 +195,7 @@ font-size: var(--font-size-14); font-weight: bold; text-transform: uppercase; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } img { @@ -226,6 +226,7 @@ padding-left: 0.5rem; .trait { + --color-border: light-dark(@semi-transparent-dark-blue, @golden-60); cursor: pointer; position: relative; @@ -237,10 +238,10 @@ .trait-name { position: relative; - background-color: @trait-color-bg; - border: 1px solid @trait-color-border; + background-color: light-dark(@semi-transparent-dark-blue, @golden-40); + border: 1px solid var(--color-border); border-radius: 3px; - color: @color-text-emphatic; + color: light-dark(var(--color-light-1), @golden); font-size: var(--font-size-12); font-weight: 600; height: 1rem; @@ -249,7 +250,7 @@ width: 100%; padding: 0 0.1876px 0 0.375rem; 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; align-items: center; @@ -258,7 +259,7 @@ .tier-mark { position: absolute; background-color: @dark-blue; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 50%; width: 1rem; height: 1rem; @@ -278,7 +279,6 @@ } .trait-value-area { - --color-border: @trait-color-border; --background: light-dark(#e8e6e3, @dark-blue); display: flex; position: relative; @@ -298,7 +298,7 @@ .spellcasting-mark { position: absolute; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); color: @golden; left: 0; right: 0; diff --git a/styles/less/sheets/actors/character/loadout.less b/styles/less/sheets/actors/character/loadout.less index a896b92e..127d688a 100644 --- a/styles/less/sheets/actors/character/loadout.less +++ b/styles/less/sheets/actors/character/loadout.less @@ -45,7 +45,7 @@ .btn-toggle-view { background: light-dark(@dark-blue-10, @dark-blue); - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 15px; padding: 0; gap: 0; @@ -54,7 +54,7 @@ span { margin: 1px; width: 26px; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); &.list-icon { i { diff --git a/styles/less/sheets/actors/character/sidebar.less b/styles/less/sheets/actors/character/sidebar.less index 3c358d8f..e450891b 100644 --- a/styles/less/sheets/actors/character/sidebar.less +++ b/styles/less/sheets/actors/character/sidebar.less @@ -40,7 +40,7 @@ .application.sheet.dh-style .character-sidebar-sheet { width: 275px; min-width: 275px; - border-right: 1px solid @color-border; + border-right: 1px solid light-dark(@dark-blue, @golden); .portrait { position: relative; @@ -168,7 +168,7 @@ appearance: none; width: 100px; height: 40px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; z-index: 1; background: @dark-blue; @@ -282,11 +282,11 @@ &:hover { background: light-dark(@light-black, @dark-blue); - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); h4, i { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } } } @@ -309,12 +309,12 @@ flex-wrap: wrap; gap: 4px; padding: 5px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; z-index: 1; background: @dark-blue; justify-content: center; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); .armor-slot { cursor: pointer; @@ -343,12 +343,12 @@ &:hover { background: light-dark(@light-black, @dark-blue); - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); .label, .value, i { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } } @@ -375,7 +375,7 @@ text-align: center; z-index: 2; color: light-dark(@dark-blue, @beige); - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-bottom: none; border-radius: 6px 6px 0 0; @@ -411,7 +411,7 @@ appearance: none; width: 80px; height: 30px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; z-index: 1; background: light-dark(transparent, @dark-blue); @@ -450,7 +450,7 @@ display: flex; width: 50px; height: 30px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-bottom: none; border-radius: 6px 6px 0 0; padding: 0 6px; @@ -513,9 +513,9 @@ align-self: center; gap: 10px; background-color: light-dark(transparent, @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); padding: 5px 10px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; align-items: center; width: fit-content; @@ -525,7 +525,7 @@ font-size: var(--font-size-14); font-weight: bold; text-transform: uppercase; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); &.threshold-value { color: light-dark(@dark, @beige); diff --git a/styles/less/sheets/actors/companion/header.less b/styles/less/sheets/actors/companion/header.less index b4df96bf..2a162a25 100644 --- a/styles/less/sheets/actors/companion/header.less +++ b/styles/less/sheets/actors/companion/header.less @@ -11,7 +11,7 @@ .profile { height: 235px; 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 { @@ -24,20 +24,15 @@ margin-bottom: -30px; input[type='text'] { - backdrop-filter: none; - border: none; - font-family: @font-title; font-size: var(--font-size-24); - outline: 2px 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; - - height: 2rem; + height: 32px; text-align: center; + border: 1px solid transparent; + outline: 2px solid transparent; transition: all 0.3s ease; &:hover { - outline: 2px solid @color-border; + outline: 2px solid light-dark(@dark, @golden); } } } @@ -68,7 +63,7 @@ display: flex; width: 50px; height: 40px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-bottom: none; border-radius: 6px 6px 0 0; 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 { white-space: nowrap; display: flex; @@ -150,7 +243,7 @@ .companion-navigation { display: flex; gap: 8px; - align-items: baseline; + align-items: center; width: 100%; } } diff --git a/styles/less/sheets/actors/environment/header.less b/styles/less/sheets/actors/environment/header.less index 85471af4..670f6c92 100644 --- a/styles/less/sheets/actors/environment/header.less +++ b/styles/less/sheets/actors/environment/header.less @@ -1,6 +1,5 @@ @import '../../../utils/colors.less'; @import '../../../utils/fonts.less'; -@import '../../../utils/mixin.less'; .application.sheet.daggerheart.actor.dh-style.environment { .environment-header-sheet { @@ -11,82 +10,60 @@ .profile { height: 235px; + mask-image: linear-gradient(0deg, transparent 0%, black 10%); cursor: pointer; - .smooth-gradient-ease-in-out(mask-image, to top, black, 3.5rem); } .item-container { - display: grid; - grid-auto-flow: row; - grid-template-columns: 1fr min-content; - + display: flex; align-items: center; position: relative; - top: -36px; - gap: 0 var(--spacer-12); + top: -45px; + gap: 20px; padding: 0 20px; - margin-bottom: -26px; + margin-bottom: -30px; - .item-name input[type='text'] { - 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 { + .item-info { display: flex; - gap: 10px; - padding-bottom: 0; - flex: 0; + flex-direction: column; + gap: 8px; - .tag { + .tags { display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - padding: 3px 5px; - font-size: var(--font-size-12); - font: @font-body; - white-space: nowrap; + gap: 10px; + padding-bottom: 0; - background: light-dark(@dark-15, @beige-15); - border: 1px solid light-dark(@dark, @beige); - border-radius: 3px; + .tag { + display: flex; + 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 { - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - font-size: var(--font-size-12); + .attribution-header-label { + text-align: left; + position: relative; + top: 4px; + margin-bottom: -6px; } } - .attribution-header-label { - text-align: right; - position: relative; - } - .status-number { display: flex; align-items: center; @@ -97,14 +74,14 @@ display: flex; width: 50px; height: 30px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-bottom: none; border-radius: 6px 6px 0 0; padding: 0 6px; font-size: 1.2rem; align-items: center; justify-content: center; - background: light-dark(#e8e6e3, @dark-blue); + background: light-dark(transparent, @dark-blue); z-index: 2; &.armor-slots { @@ -116,7 +93,7 @@ .status-label { padding: 2px 10px; width: 100%; - border-radius: 0 0 3px 3px; + border-radius: 3px; background: light-dark(@dark-blue, @golden); 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 { display: flex; flex-direction: column; - gap: var(--spacer-8); + gap: 12px; padding: 10px 20px; } .environment-navigation { display: flex; gap: 20px; - align-items: baseline; + align-items: center; padding: 0 20px; - .tab-navigation { - margin-top: 0; - } } } } diff --git a/styles/less/sheets/actors/environment/sheet.less b/styles/less/sheets/actors/environment/sheet.less index 2d9cc188..a7c9605b 100644 --- a/styles/less/sheets/actors/environment/sheet.less +++ b/styles/less/sheets/actors/environment/sheet.less @@ -5,6 +5,10 @@ .appTheme({ &.environment { background-image: url('../assets/parchments/dh-parchment-dark.png'); + + .attribution-header-label { + background-image: url('../assets/parchments/dh-parchment-dark.png'); + } } }, { &.environment { diff --git a/styles/less/sheets/actors/party/header.less b/styles/less/sheets/actors/party/header.less index 58e3bc31..9a2c7350 100644 --- a/styles/less/sheets/actors/party/header.less +++ b/styles/less/sheets/actors/party/header.less @@ -1,6 +1,5 @@ @import '../../../utils/colors.less'; @import '../../../utils/fonts.less'; -@import '../../../utils/mixin.less'; .party-header-sheet { display: flex; @@ -10,31 +9,26 @@ .profile { height: 235px; + mask-image: linear-gradient(0deg, transparent 0%, black 10%); cursor: pointer; - .smooth-gradient-ease-in-out(mask-image, to top, black, 3.5rem); } .item-container { - margin-top: -2rem; - z-index: 1; - input.item-name[type='text'] { - backdrop-filter: none; - border: none; - color: @color-text-emphatic; - font-family: @font-title; - font-size: var(--font-size-32); - outline: 2px 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; + .item-name { + padding: 0 20px; + input[type='text'] { + font-size: 32px; + height: 42px; + text-align: center; + transition: all 0.3s ease; + outline: 2px solid transparent; + border: 1px solid transparent; - text-align: center; - transition: all 0.3s ease; - width: calc(100% - 40px); - height: 2.625rem; - - &:hover[type='text'], - &:focus[type='text'] { - outline: 2px solid @color-border; + &:hover[type='text'], + &:focus[type='text'] { + box-shadow: none; + outline: 2px solid light-dark(@dark-blue, @golden); + } } } diff --git a/styles/less/sheets/actors/party/party-members.less b/styles/less/sheets/actors/party/party-members.less index dc464291..a3ec90ec 100644 --- a/styles/less/sheets/actors/party/party-members.less +++ b/styles/less/sheets/actors/party/party-members.less @@ -48,7 +48,7 @@ border-radius: 50%; width: 24px; height: 24px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); object-fit: cover; } } @@ -79,9 +79,9 @@ display: flex; gap: 4px; background-color: light-dark(var(--color-light-1), @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); padding: 4px 6px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 3px; align-items: baseline; width: fit-content; @@ -93,7 +93,7 @@ &.threshold-label { font-size: var(--font-size-10); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } &.threshold-value { @@ -116,7 +116,7 @@ width: 100%; z-index: 1; font-size: var(--font-size-20); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); font-weight: bold; } @@ -132,9 +132,9 @@ .hope-section { display: flex; background-color: light-dark(transparent, @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); padding: 3px 6px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 3px; align-items: center; width: fit-content; @@ -144,7 +144,7 @@ font-size: var(--font-size-12); font-weight: bold; text-transform: uppercase; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); margin-right: 3px; } @@ -212,9 +212,9 @@ gap: 4px; background-color: light-dark(@dark-blue-10, @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); padding: 2px 5px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 0 6px 6px 0; width: fit-content; min-height: 22px; @@ -232,7 +232,7 @@ .slot { width: 16px; height: 10px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); background: light-dark(@dark-blue-10, @golden-10); border-radius: 3px; transition: all 0.3s ease; @@ -248,7 +248,7 @@ .traits { 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; display: grid; grid-template-columns: 1fr 1fr; @@ -260,7 +260,7 @@ justify-content: space-between; gap: 3px; .label { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } .value { font-weight: 600; diff --git a/styles/less/ui/chat/group-roll.less b/styles/less/ui/chat/group-roll.less index 98f0cfac..9ed87220 100644 --- a/styles/less/ui/chat/group-roll.less +++ b/styles/less/ui/chat/group-roll.less @@ -31,7 +31,7 @@ } i { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } } } @@ -71,7 +71,7 @@ align-items: center; justify-content: center; gap: 10px; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); .main-value { font-size: var(--font-size-24); @@ -153,7 +153,7 @@ cursor: pointer; padding: 5px; background: light-dark(@dark-blue-10, @golden-10); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); &.finished { background-color: initial; diff --git a/styles/less/ui/chat/sheet.less b/styles/less/ui/chat/sheet.less index bdf22364..fb8cc104 100644 --- a/styles/less/ui/chat/sheet.less +++ b/styles/less/ui/chat/sheet.less @@ -93,7 +93,7 @@ } a[href] { - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } a[href]:hover, diff --git a/styles/less/ui/countdown/countdown.less b/styles/less/ui/countdown/countdown.less index 66a6c88a..380eb454 100644 --- a/styles/less/ui/countdown/countdown.less +++ b/styles/less/ui/countdown/countdown.less @@ -17,7 +17,7 @@ position: relative; border: 0; box-shadow: none; - color: @color-text-primary; + color: var(--color-text-primary); width: 300px; pointer-events: all; align-self: flex-end; diff --git a/styles/less/ui/effects-display/sheet.less b/styles/less/ui/effects-display/sheet.less index 80ad0d65..17d9889f 100644 --- a/styles/less/ui/effects-display/sheet.less +++ b/styles/less/ui/effects-display/sheet.less @@ -20,7 +20,7 @@ .effect-container { position: relative; pointer-events: all; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 3px; img { diff --git a/styles/less/ui/item-browser/item-browser.less b/styles/less/ui/item-browser/item-browser.less index 1387f444..066da73b 100644 --- a/styles/less/ui/item-browser/item-browser.less +++ b/styles/less/ui/item-browser/item-browser.less @@ -200,7 +200,7 @@ font-weight: bold; border-radius: 3px; background-color: light-dark(@dark-blue-40, @golden-40); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } .subfolder-list { @@ -218,7 +218,7 @@ font-weight: bold; border-radius: 3px; background-color: light-dark(@dark-blue-10, @golden-10); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); } .wrapper { @@ -245,7 +245,7 @@ } .item-list-header, - .item-list .item-info[data-action] { + .item-list [data-action='expandContent'] { display: flex; > * { @@ -265,8 +265,8 @@ .item-list-header { align-items: center; background-color: light-dark(@dark-15, @dark-golden-80); - color: @color-text-emphatic; - border: 1px solid @color-border; + color: light-dark(@dark-blue, @golden); + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 3px; min-height: 30px; font-weight: bold; diff --git a/styles/less/ui/settings/homebrew-settings/domains.less b/styles/less/ui/settings/homebrew-settings/domains.less index 6314cc66..406294ac 100644 --- a/styles/less/ui/settings/homebrew-settings/domains.less +++ b/styles/less/ui/settings/homebrew-settings/domains.less @@ -60,7 +60,7 @@ position: relative; display: flex; justify-content: center; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; &.selectable { @@ -76,7 +76,7 @@ .domain-label { position: absolute; top: 4px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; padding: 0 2px; color: light-dark(@dark, @beige); diff --git a/styles/less/ui/settings/homebrew-settings/resources.less b/styles/less/ui/settings/homebrew-settings/resources.less index 9d562756..1184904b 100644 --- a/styles/less/ui/settings/homebrew-settings/resources.less +++ b/styles/less/ui/settings/homebrew-settings/resources.less @@ -61,7 +61,7 @@ display: flex; align-items: center; gap: 4px; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); i { font-size: 14px; diff --git a/styles/less/ui/settings/homebrew-settings/types.less b/styles/less/ui/settings/homebrew-settings/types.less index 1d568853..d09431f7 100644 --- a/styles/less/ui/settings/homebrew-settings/types.less +++ b/styles/less/ui/settings/homebrew-settings/types.less @@ -21,7 +21,7 @@ border: 1px solid; border-radius: 6px; padding: 0 8px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); color: light-dark(@dark, @beige); background-image: url('../assets/parchments/dh-parchment-dark.png'); cursor: pointer; diff --git a/styles/less/ui/settings/settings.less b/styles/less/ui/settings/settings.less index 35c48480..d08f74e6 100644 --- a/styles/less/ui/settings/settings.less +++ b/styles/less/ui/settings/settings.less @@ -1,7 +1,7 @@ @import '../../utils/colors.less'; .daggerheart.dh-style.setting { - --color-form-label: @color-text-primary; + --color-form-label: var(--color-text-primary); h2, h3, diff --git a/styles/less/ui/sidebar/daggerheartMenu.less b/styles/less/ui/sidebar/daggerheartMenu.less index 280d5ad3..88b139c5 100644 --- a/styles/less/ui/sidebar/daggerheartMenu.less +++ b/styles/less/ui/sidebar/daggerheartMenu.less @@ -34,7 +34,7 @@ cursor: pointer; padding: 5px; background: light-dark(@dark-blue-10, @golden-10); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); .label { font-style: normal; diff --git a/styles/less/utils/colors.less b/styles/less/utils/colors.less index bb219ebb..80519a5b 100755 --- a/styles/less/utils/colors.less +++ b/styles/less/utils/colors.less @@ -51,7 +51,7 @@ --dark-blue-50: #18162e50; --dark-blue-60: #18162e60; --dark-blue-90: #18162e90; - --dark-blue-c0: #18162ec0; + --dark-blue-d0: #18162ed0; --semi-transparent-dark-blue: rgba(24, 22, 46, 0.33); --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%); --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); --light-black: rgba(0, 0, 0, 0.3); @@ -86,47 +85,6 @@ --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); @secondary-blue: var(--secondary-blue, #2b32b2); @@ -179,7 +137,7 @@ @dark-blue-50: var(--dark-blue-50, #18162e50); @dark-blue-60: var(--dark-blue-60, #18162e60); @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)); @dark: var(--dark, #222222); @@ -201,7 +159,6 @@ @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)); @soft-shadow: var(--soft-shadow, rgba(0, 0, 0, 0.05)); @@ -233,15 +190,3 @@ 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); \ No newline at end of file diff --git a/styles/less/utils/mixin.less b/styles/less/utils/mixin.less index 237a5acb..49e97a1f 100644 --- a/styles/less/utils/mixin.less +++ b/styles/less/utils/mixin.less @@ -5,16 +5,16 @@ */ .appTheme(@darkRules, @lightRules) { // Dark theme selectors - .themed.theme-dark .application.daggerheart.dh-style, - .themed.theme-dark.application.daggerheart.dh-style, + .themed.theme-dark .application.daggerheart.sheet.dh-style, + .themed.theme-dark.application.daggerheart.sheet.dh-style, body.theme-dark .application.daggerheart, body.theme-dark.application.daggerheart { @darkRules(); } // Light theme selectors - .themed.theme-light .application.daggerheart.dh-style, - .themed.theme-light.application.daggerheart.dh-style, + .themed.theme-light .application.daggerheart.sheet.dh-style, + .themed.theme-light.application.daggerheart.sheet.dh-style, body.theme-light .application.daggerheart, body.theme-light.application.daggerheart { @lightRules(); @@ -50,15 +50,14 @@ */ .dh-typography() { h1 { - --dh-input-color-text: @color-text-emphatic; font-family: @font-title; margin: 0; border: none; font-weight: normal; - input[type='text'], - .input[contenteditable] { - font-family: @font-title; - } + } + + h1 input[type='text'] { + font-family: @font-title; } h2, @@ -115,48 +114,3 @@ 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 - ); -} diff --git a/styles/less/ux/tooltip/armorManagement.less b/styles/less/ux/tooltip/armorManagement.less index 497df4f5..e1ac6bb9 100644 --- a/styles/less/ux/tooltip/armorManagement.less +++ b/styles/less/ux/tooltip/armorManagement.less @@ -83,7 +83,7 @@ appearance: none; width: 100%; height: 30px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; z-index: 1; background: @dark-blue; @@ -118,13 +118,13 @@ flex-wrap: wrap; gap: 4px; padding: 5px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; z-index: 1; background: @dark-blue; align-items: center; justify-content: center; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); min-height: 30px; width: 100%; diff --git a/styles/less/ux/tooltip/resource-management.less b/styles/less/ux/tooltip/resource-management.less index 6e7e7851..ff1f4dd2 100644 --- a/styles/less/ux/tooltip/resource-management.less +++ b/styles/less/ux/tooltip/resource-management.less @@ -9,9 +9,9 @@ display: flex; gap: 10px; background-color: light-dark(transparent, @dark-blue); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); padding: 5px 10px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; align-items: center; width: fit-content; @@ -22,7 +22,7 @@ font-size: var(--font-size-14); font-weight: bold; text-transform: uppercase; - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); margin: 0; } diff --git a/styles/less/ux/tooltip/sheet.less b/styles/less/ux/tooltip/sheet.less index cc4166da..ad774fcd 100644 --- a/styles/less/ux/tooltip/sheet.less +++ b/styles/less/ux/tooltip/sheet.less @@ -3,7 +3,7 @@ aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip), #tooltip.bordered-tooltip { .tooltip-title { font-size: var(--font-size-20); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); font-weight: 700; } diff --git a/styles/less/ux/tooltip/tooltip.less b/styles/less/ux/tooltip/tooltip.less index f02499e2..1566059f 100644 --- a/styles/less/ux/tooltip/tooltip.less +++ b/styles/less/ux/tooltip/tooltip.less @@ -132,7 +132,7 @@ aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip.card-style) { border-radius: 3px; padding: 3px; background: light-dark(@dark-blue-60, @rustic-brown-80); - color: @color-text-emphatic; + color: light-dark(@dark-blue, @golden); font-size: 12px; margin-bottom: 10px; } @@ -238,7 +238,7 @@ aside[role='tooltip'].locked-tooltip:has(div.daggerheart.dh-style.tooltip.card-s .tooltip-chip { font-size: var(--font-size-18); padding: 2px 4px; - border: 1px solid @color-border; + border: 1px solid light-dark(@dark-blue, @golden); border-radius: 6px; color: light-dark(@dark, @beige); background-image: url(../assets/parchments/dh-parchment-dark.png); diff --git a/system.json b/system.json index 2acd7570..d28b38b7 100644 --- a/system.json +++ b/system.json @@ -2,15 +2,15 @@ "id": "daggerheart", "title": "Daggerheart", "description": "An unofficial implementation of the Daggerheart system", - "version": "2.2.7", + "version": "2.2.6", "compatibility": { "minimum": "14.361", - "verified": "14.363", + "verified": "14.361", "maximum": "14" }, "url": "https://github.com/Foundryborne/daggerheart", "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": [ { "name": "WBHarry" diff --git a/templates/hud/tokenHUD.hbs b/templates/hud/tokenHUD.hbs index cf43e15d..b620ab11 100644 --- a/templates/hud/tokenHUD.hbs +++ b/templates/hud/tokenHUD.hbs @@ -17,7 +17,7 @@ {{/if}} {{#if hasCompanion}} @@ -26,13 +26,6 @@ {{/if}} - {{#if isGM}} - - {{/if}} - {{#if canConfigure}} - {{imagePreview.current}} / {{imagePreview.total}} - - - - {{/if}} + {{formGroup fields.texture.fields.src value=source.texture.src rootId=rootId}} + {{#if randomImgEnabled}} + {{formGroup fields.randomImg value=source.randomImg classes="slim" rootId=rootId}} + {{else if hasAlternates}} +
+ +
- + {{/if}}
- {{localize "DAGGERHEART.APPLICATIONS.TokenConfig.tokenSize"}} + {{localize "Token Size"}} {{#if usesActorSize}} -
- +
+ +
+
+ {{/if}} + + {{#if isItemEffect}} + {{formGroup fields.transfer value=source.transfer rootId=rootId label=legacyTransfer.label hint=(localize "DAGGERHEART.EFFECTS.Attachments.transferHint")}} {{/if}} {{formGroup fields.statuses value=source.statuses options=statuses rootId=rootId classes="statuses"}} diff --git a/templates/sheets/actors/adversary/features.hbs b/templates/sheets/actors/adversary/features.hbs index 3b495e74..d320b0d8 100644 --- a/templates/sheets/actors/adversary/features.hbs +++ b/templates/sheets/actors/adversary/features.hbs @@ -6,7 +6,6 @@ type='feature' collection=@root.features hideContextMenu=true - hideModifyControls=true canCreate=@root.editable showActions=@root.editable }} diff --git a/templates/sheets/actors/environment/features.hbs b/templates/sheets/actors/environment/features.hbs index 35fcb038..3fd512da 100644 --- a/templates/sheets/actors/environment/features.hbs +++ b/templates/sheets/actors/environment/features.hbs @@ -9,7 +9,6 @@ type='feature' collection=@root.features hideContextMenu=true - hideModifyControls=true canCreate=@root.editable showActions=@root.editable }} diff --git a/templates/sheets/actors/environment/header.hbs b/templates/sheets/actors/environment/header.hbs index 2c6bbb5a..b7eab3db 100644 --- a/templates/sheets/actors/environment/header.hbs +++ b/templates/sheets/actors/environment/header.hbs @@ -1,7 +1,28 @@
-

+
+

+
+
+
+ + {{localize (concat 'DAGGERHEART.GENERAL.Tiers.' source.system.tier)}} + +
+ {{#if source.system.type}} +
+ + {{localize (concat 'DAGGERHEART.CONFIG.EnvironmentType.' source.system.type '.label')}} + +
+ {{/if}} +
+ {{#if (and showAttribution document.system.attributionLabel)}} + + {{/if}} +
+
{{#if source.system.difficulty}} @@ -14,25 +35,6 @@

{{localize "DAGGERHEART.GENERAL.difficulty"}}

-
-
-
- - {{localize (concat 'DAGGERHEART.GENERAL.Tiers.' source.system.tier)}} - -
- {{#if source.system.type}} -
- - {{localize (concat 'DAGGERHEART.CONFIG.EnvironmentType.' source.system.type '.label')}} - -
- {{/if}} -
- {{#if (and showAttribution document.system.attributionLabel)}} - - {{/if}} -
diff --git a/templates/sheets/actors/party/header.hbs b/templates/sheets/actors/party/header.hbs index efa6e5b8..c48902c8 100644 --- a/templates/sheets/actors/party/header.hbs +++ b/templates/sheets/actors/party/header.hbs @@ -2,7 +2,9 @@
- +

+ +

\ No newline at end of file diff --git a/templates/sheets/global/partials/inventory-fieldset-items-V2.hbs b/templates/sheets/global/partials/inventory-fieldset-items-V2.hbs index db2fb6b7..3f58b80b 100644 --- a/templates/sheets/global/partials/inventory-fieldset-items-V2.hbs +++ b/templates/sheets/global/partials/inventory-fieldset-items-V2.hbs @@ -19,8 +19,6 @@ Parameters: - showLabels {boolean} : If true, show label-tags else show simple tags. - hideTooltip {boolean} : If true, disables the tooltip on the item image. - 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. - hideResources {boolean} : If true, hides the item's resources. - showActions {boolean} : If true show feature's actions. @@ -61,7 +59,6 @@ Parameters: actorType=(ifThen ../actorType ../actorType @root.document.type) hideControls=../hideControls hideContextMenu=../hideContextMenu - hideModifyControls=../hideModifyControls isActor=../isActor categoryAdversary=../categoryAdversary hideTooltip=../hideTooltip diff --git a/templates/sheets/global/partials/inventory-item-V2.hbs b/templates/sheets/global/partials/inventory-item-V2.hbs index 523e9304..d76f2897 100644 --- a/templates/sheets/global/partials/inventory-item-V2.hbs +++ b/templates/sheets/global/partials/inventory-item-V2.hbs @@ -12,8 +12,6 @@ Parameters: - hideTags {boolean} : If true, hide simple-tags else show simple-tags. - hideTooltip {boolean} : If true, disables the tooltip on the item image. - 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. - hideResources {boolean} : If true, hides the item's resources. - showActions {boolean} : If true show feature's actions. @@ -114,12 +112,12 @@ Parameters: - {{else if (and @root.editable (not hideModifyControls))}} + {{else if @root.editable}} {{#if (not isActor)}} - + {{else if (eq type 'adversary')}} diff --git a/templates/sheets/global/partials/inventory-item-compact.hbs b/templates/sheets/global/partials/inventory-item-compact.hbs index 78eaf087..daba6721 100644 --- a/templates/sheets/global/partials/inventory-item-compact.hbs +++ b/templates/sheets/global/partials/inventory-item-compact.hbs @@ -5,7 +5,7 @@ (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}}> - {{#if item.usable}} + {{#if (or item.system.actionsList.size item.system.actionsList.length item.actionType)}} {{#if @root.isNPC}} d20 {{else}} diff --git a/templates/sheets/items/beastform/settings.hbs b/templates/sheets/items/beastform/settings.hbs index 60e816b1..82065ad3 100644 --- a/templates/sheets/items/beastform/settings.hbs +++ b/templates/sheets/items/beastform/settings.hbs @@ -46,13 +46,6 @@ placeholder=(localize (ifThen dimensionsDisabled "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.disabledPlaceholder" "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.placeholder")) 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 - }}
{{formGroup systemFields.tokenSize.fields.scale value=source.system.tokenSize.scale localize=true }} diff --git a/templates/ui/combatTracker/combatTrackerSection.hbs b/templates/ui/combatTracker/combatTrackerSection.hbs index ac759dfe..cf3ca422 100644 --- a/templates/ui/combatTracker/combatTrackerSection.hbs +++ b/templates/ui/combatTracker/combatTrackerSection.hbs @@ -13,20 +13,20 @@
{{#if @root.user.isGM}} + data-action="toggleHidden" data-tooltip aria-label="{{ localize "COMBAT.ToggleVis" }}"> + aria-label="{{ localize "COMBAT.ToggleDead" }}"> {{/if}} {{#if canPing}} + aria-label="{{ localize "COMBAT.PingCombatant" }}"> {{/if}} {{#unless @root.user.isGM}} + aria-label="{{ localize "COMBAT.PanToCombatant" }}"> {{/unless}}
diff --git a/templates/ui/itemBrowser/itemContainer.hbs b/templates/ui/itemBrowser/itemContainer.hbs index a5f067e8..8dd75156 100644 --- a/templates/ui/itemBrowser/itemContainer.hbs +++ b/templates/ui/itemBrowser/itemContainer.hbs @@ -1,7 +1,7 @@ {{#each items}}
-
+
{{name}} {{#each ../menu.data.columns}} @@ -9,13 +9,11 @@ {{/each}}
- {{#unless viewSheet}} -
- - {{{system.enrichedTags}}} - {{{system.enrichedDescription}}} - -
- {{/unless}} +
+ + {{{system.enrichedTags}}} + {{{system.enrichedDescription}}} + +
{{/each}} \ No newline at end of file diff --git a/templates/ui/sceneNavigation/scene-navigation.hbs b/templates/ui/sceneNavigation/scene-navigation.hbs index 1b65c289..5bdbbdad 100644 --- a/templates/ui/sceneNavigation/scene-navigation.hbs +++ b/templates/ui/sceneNavigation/scene-navigation.hbs @@ -12,20 +12,15 @@ {{/with}} {{#if scenes.levels}} - + {{#each scenes.levels}}
  • + {{#with button}} + + {{/with}}
    {{ name }} - {{#if users}} -
      - {{#each users}} -
    • {{ letter }}
    • - {{/each}} -
    - {{/if}}
  • {{/each}} @@ -45,8 +40,7 @@ {{#*inline ".scene"}}
  • -
    +
    {{ name }} {{#if users}}