diff --git a/daggerheart.mjs b/daggerheart.mjs index f2fef669..4e7d1898 100644 --- a/daggerheart.mjs +++ b/daggerheart.mjs @@ -14,6 +14,7 @@ import { getCommandTarget, rollCommandToJSON, setDiceSoNiceForDualityRoll } from import { abilities } from './module/config/actorConfig.mjs'; import Resources from './module/applications/resources.mjs'; import DHDualityRoll from './module/data/chat-message/dualityRoll.mjs'; +import { DualityRollColor } from './module/data/settings/Appearance.mjs'; globalThis.SYSTEM = SYSTEM; @@ -105,6 +106,7 @@ Hooks.once('init', () => { Hooks.on('ready', () => { ui.resources = new CONFIG.ui.resources(); ui.resources.render({ force: true }); + document.body.classList.toggle('theme-colorfull', game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.appearance).dualityColorScheme === DualityRollColor.colorful.value); }); Hooks.once('dicesoniceready', () => {}); diff --git a/module/applications/settings/appearanceSettings.mjs b/module/applications/settings/appearanceSettings.mjs index fb395d6e..7603eeea 100644 --- a/module/applications/settings/appearanceSettings.mjs +++ b/module/applications/settings/appearanceSettings.mjs @@ -1,4 +1,4 @@ -import DhAppearance from '../../data/settings/Appearance.mjs'; +import DhAppearance, { DualityRollColor } from '../../data/settings/Appearance.mjs'; const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api; @@ -54,7 +54,7 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App static async save() { await game.settings.set(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.appearance, this.settings.toObject()); - const reload = await foundry.applications.api.DialogV2.confirm({ + /* const reload = await foundry.applications.api.DialogV2.confirm({ id: 'reload-world-confirm', modal: true, rejectClose: false, @@ -66,7 +66,8 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App if (reload) { await game.socket.emit('reload'); foundry.utils.debouncedReload(); - } + } */ + document.body.classList.toggle('theme-colorfull', game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.appearance).dualityColorScheme === DualityRollColor.colorful.value); this.close(); } diff --git a/module/data/action/action.mjs b/module/data/action/action.mjs index 220ccde6..a7fc0fb8 100644 --- a/module/data/action/action.mjs +++ b/module/data/action/action.mjs @@ -105,7 +105,11 @@ export class DHBaseAction extends foundry.abstract.DataModel { } get chatTemplate() { - return 'systems/daggerheart/templates/chat/attack-roll.hbs'; + return 'systems/daggerheart/templates/chat/duality-roll.hbs'; + } + + get chatTitle() { + return this.item.name; } static getRollType() { @@ -132,7 +136,7 @@ export class DHBaseAction extends foundry.abstract.DataModel { const modifierValue = this.actor.system.traits[this.roll.trait].value; const config = { event: event, - title: this.item.name, + title: this.chatTitle, roll: { modifier: modifierValue, label: game.i18n.localize(abilities[this.roll.trait].label), @@ -200,6 +204,12 @@ export class DHAttackAction extends DHBaseAction { return 'weapon'; } + get chatTitle() { + return game.i18n.format('DAGGERHEART.Chat.AttackRoll.Title', { + attack: this.item.name + }); + } + prepareData() { super.prepareData(); if (this.damage.includeBase && !!this.item?.system?.damage) { diff --git a/module/data/chat-message/dualityRoll.mjs b/module/data/chat-message/dualityRoll.mjs index 60283b7d..2da44e2d 100644 --- a/module/data/chat-message/dualityRoll.mjs +++ b/module/data/chat-message/dualityRoll.mjs @@ -59,7 +59,8 @@ export default class DHDualityRoll extends foundry.abstract.TypeDataModel { }), { nullable: true, initial: null } ) - }) + }), + forceDisplay: new fields.BooleanField({initial: false}) }; } @@ -96,7 +97,7 @@ export default class DHDualityRoll extends foundry.abstract.TypeDataModel { get colorful() { return ( - game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.appearance).dualityColorScheme === + !this.forceDisplay && game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.appearance).dualityColorScheme === DualityRollColor.colorful.value ); } diff --git a/module/documents/actor.mjs b/module/documents/actor.mjs index 2f24a272..decad99e 100644 --- a/module/documents/actor.mjs +++ b/module/documents/actor.mjs @@ -272,9 +272,17 @@ export default class DhpActor extends Actor { system: systemData, content: config.chatMessage.template, rolls: [roll] + }), + msg2 = new cls({ + type: config.chatMessage.type ?? 'dualityRoll', + sound: config.chatMessage.mute ? null : CONFIG.sounds.dice, + system: {...systemData, forceDisplay: true }, + content: config.chatMessage.template, + rolls: [roll] }); await cls.create(msg.toObject()); + await cls.create(msg2.toObject()); } return roll; } diff --git a/styles/chat.less b/styles/chat.less index ea9c95ef..f418aac6 100644 --- a/styles/chat.less +++ b/styles/chat.less @@ -1,59 +1,339 @@ .chat-message { - &.duality { - border-color: black; - padding: 8px 0 0 0; + // &.duality { + // border-color: black; + // padding: 8px 0 0 0; - .message-header { - color: var(--color-light-3); - padding: 0 8px; - } + // .message-header { + // color: var(--color-light-3); + // padding: 0 8px; + // } - .duality-data { + // .duality-data { + // display: flex; + // flex-direction: column; + + // .duality-title { + // color: var(--color-light-1); + // text-shadow: 0 0 1px black; + // border-bottom: 1px solid; + // margin-bottom: 2px; + // display: flex; + // align-items: end; + // justify-content: space-between; + // padding: 0 8px; + // } + + // .duality-modifiers { + // display: flex; + // gap: 2px; + // margin-bottom: 4px; + // padding: 0 8px; + + // .duality-modifier { + // padding: 2px; + // border-radius: 6px; + // border: 1px solid; + // background: var(--color-dark-6); + // font-size: 12px; + // } + // } + + // .duality-line { + // display: flex; + // align-items: end; + // justify-content: space-between; + // padding: 0 8px; + + // &.simple { + // padding-right: 0; + // } + + // .dice-outer-container { + // display: flex; + // align-items: center; + // gap: 4px; + // margin-bottom: 4px; + + // .dice-container { + // display: flex; + // flex-direction: column; + // gap: 2px; + + // .dice-title { + // color: var(--color-light-1); + // text-shadow: 0 0 1px black; + // } + + // .dice-inner-container { + // display: flex; + // align-items: center; + // justify-content: center; + // position: relative; + + // .dice-wrapper { + // height: 24px; + // width: 24px; + // position: relative; + // display: flex; + // align-items: center; + // justify-content: center; + // clip-path: polygon( + // 50% 0%, + // 80% 10%, + // 100% 35%, + // 100% 70%, + // 80% 90%, + // 50% 100%, + // 20% 90%, + // 0% 70%, + // 0% 35%, + // 20% 10% + // ); + + // .dice { + // height: 26px; + // width: 26px; + // max-width: unset; + // position: absolute; + // } + // } + + // .dice-value { + // position: absolute; + // font-weight: bold; + // font-size: 16px; + // } + + // &.hope { + // .dice-wrapper { + // background: black; + + // .dice { + // filter: brightness(0) saturate(100%) invert(79%) sepia(79%) saturate(333%) + // hue-rotate(352deg) brightness(102%) contrast(103%); + // } + // } + + // .dice-value { + // color: var(--color-dark-1); + // text-shadow: 0 0 4px white; + // } + // } + + // &.fear { + // .dice-wrapper { + // background: white; + + // .dice { + // filter: brightness(0) saturate(100%) invert(12%) sepia(88%) saturate(4321%) + // hue-rotate(221deg) brightness(92%) contrast(110%); + // } + // } + + // .dice-value { + // color: var(--color-light-1); + // text-shadow: 0 0 4px black; + // } + // } + // } + // } + + // .advantage-container { + // padding-top: 21px; + + // .dice-wrapper { + // height: 24px; + // width: 24px; + // position: relative; + // display: flex; + // align-items: center; + // justify-content: center; + + // .dice { + // height: 26px; + // width: 26px; + // max-width: unset; + // position: absolute; + // } + + // .dice-value { + // position: absolute; + // font-weight: bold; + // font-size: 16px; + // } + // } + + // &.advantage { + // .dice-wrapper { + // .dice { + // filter: brightness(0) saturate(100%) invert(18%) sepia(92%) saturate(4133%) + // hue-rotate(96deg) brightness(104%) contrast(107%); + // } + // } + // } + + // &.disadvantage { + // .dice-wrapper { + // .dice { + // filter: brightness(0) saturate(100%) invert(9%) sepia(78%) saturate(6903%) + // hue-rotate(11deg) brightness(93%) contrast(117%); + // } + // } + // } + // } + + // .duality-modifier { + // padding-top: 21px; + // color: var(--color-light-1); + // text-shadow: 0 0 1px black; + // font-size: 16px; + // } + // } + // } + // } + + // .duality-result { + // display: flex; + // flex-direction: column; + // align-items: end; + // justify-content: center; + // gap: 2px; + // color: var(--color-light-1); + // text-shadow: 0 0 1px black; + // font-weight: bold; + // background: var(--color-dark-1); + // padding: 4px 4px 0 4px; + // border-radius: 6px 0 0 0; + // } + + // .duality-actions { + // display: flex; + // justify-content: space-between; + + // .duality-action { + // color: var(--color-light-1); + // text-shadow: 0 0 1px black; + // font-weight: bold; + // background: var(--color-dark-1); + // padding: 4px; + // border-radius: 0 6px 0 0; + // border-color: black; + // min-height: unset; + // height: 26px; + + // &:hover { + // background: var(--button-hover-background-color); + // } + // } + // } + + // .target-section { + // margin: 4px 4px; + // border: 2px solid; + + // .target-container { + // display: flex; + // align-items: center; + // transition: all 0.2s ease-in-out; + + // &:hover { + // filter: drop-shadow(0 0 3px @secondaryShadow); + // border-color: gold; + // } + + // &.hit { + // background: @hit; + // } + + // &.miss { + // background: @miss; + // } + + // img { + // flex: 0; + // width: 22px; + // height: 22px; + // margin-left: 8px; + // align-self: center; + // border-color: transparent; + // } + + // .target-inner-container { + // flex: 1; + // display: flex; + // justify-content: center; + // margin-right: @hugeMargin; + // font-weight: bold; + // font-size: 17px; + // } + // } + // } + + // &.hope { + // background: linear-gradient(0, @hopeBackgroundEnd 40px, @hopeBackgroundStart); + // } + // &.fear { + // background: linear-gradient(0, @fearBackgroundEnd, @fearBackgroundStart); + // } + // &.critical { + // background: linear-gradient(0, @criticalBackgroundEnd, @criticalBackgroundStart); + // } + + // .dice-roll { + // color: var(--color-dark-1); + + // .dice-flavor { + // color: var(--color-light-1); + // } + // } + // } + .duality-modifiers, .duality-result, .dice-title { + display: none; + } +} + +.daggerheart.chat { + &.downtime { + display: flex; + flex-direction: column; + align-items: center; + + .downtime-title-container { display: flex; flex-direction: column; + align-items: center; - .duality-title { - color: var(--color-light-1); - text-shadow: 0 0 1px black; - border-bottom: 1px solid; - margin-bottom: 2px; - display: flex; - align-items: end; - justify-content: space-between; - padding: 0 8px; + .downtime-subtitle { + font-size: 17px; } + } - .duality-modifiers { - display: flex; - gap: 2px; - margin-bottom: 4px; - padding: 0 8px; + .downtime-image { + width: 80px; + } - .duality-modifier { - padding: 2px; - border-radius: 6px; - border: 1px solid; - background: var(--color-dark-6); - font-size: 12px; - } + .downtime-refresh-container { + margin-top: @fullMargin; + width: 100%; + + .refresh-title { + font-weight: bold; } + } + } - .duality-line { - display: flex; - align-items: end; - justify-content: space-between; - padding: 0 8px; - - &.simple { - padding-right: 0; - } - - .dice-outer-container { + &.roll { + .dice-flavor { + text-align: center; + font-weight: bold; + } + .dice-tooltip { + .dice-rolls { + > .roll { display: flex; align-items: center; gap: 4px; margin-bottom: 4px; - .dice-container { display: flex; flex-direction: column; @@ -137,195 +417,9 @@ } } } - - .advantage-container { - padding-top: 21px; - - .dice-wrapper { - height: 24px; - width: 24px; - position: relative; - display: flex; - align-items: center; - justify-content: center; - - .dice { - height: 26px; - width: 26px; - max-width: unset; - position: absolute; - } - - .dice-value { - position: absolute; - font-weight: bold; - font-size: 16px; - } - } - - &.advantage { - .dice-wrapper { - .dice { - filter: brightness(0) saturate(100%) invert(18%) sepia(92%) saturate(4133%) - hue-rotate(96deg) brightness(104%) contrast(107%); - } - } - } - - &.disadvantage { - .dice-wrapper { - .dice { - filter: brightness(0) saturate(100%) invert(9%) sepia(78%) saturate(6903%) - hue-rotate(11deg) brightness(93%) contrast(117%); - } - } - } - } - - .duality-modifier { - padding-top: 21px; - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-size: 16px; - } } } - } - - .duality-result { - display: flex; - flex-direction: column; - align-items: end; - justify-content: center; - gap: 2px; - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-weight: bold; - background: var(--color-dark-1); - padding: 4px 4px 0 4px; - border-radius: 6px 0 0 0; - } - - .duality-actions { - display: flex; - justify-content: space-between; - - .duality-action { - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-weight: bold; - background: var(--color-dark-1); - padding: 4px; - border-radius: 0 6px 0 0; - border-color: black; - min-height: unset; - height: 26px; - - &:hover { - background: var(--button-hover-background-color); - } - } - } - - .target-section { - margin: 4px 4px; - border: 2px solid; - - .target-container { - display: flex; - align-items: center; - transition: all 0.2s ease-in-out; - - &:hover { - filter: drop-shadow(0 0 3px @secondaryShadow); - border-color: gold; - } - - &.hit { - background: @hit; - } - - &.miss { - background: @miss; - } - - img { - flex: 0; - width: 22px; - height: 22px; - margin-left: 8px; - align-self: center; - border-color: transparent; - } - - .target-inner-container { - flex: 1; - display: flex; - justify-content: center; - margin-right: @hugeMargin; - font-weight: bold; - font-size: 17px; - } - } - } - - &.hope { - background: linear-gradient(0, @hopeBackgroundEnd 40px, @hopeBackgroundStart); - } - &.fear { - background: linear-gradient(0, @fearBackgroundEnd, @fearBackgroundStart); - } - &.critical { - background: linear-gradient(0, @criticalBackgroundEnd, @criticalBackgroundStart); - } - - .dice-roll { - color: var(--color-dark-1); - - .dice-flavor { - color: var(--color-light-1); - } - } - } -} - -.daggerheart.chat { - &.downtime { - display: flex; - flex-direction: column; - align-items: center; - - .downtime-title-container { - display: flex; - flex-direction: column; - align-items: center; - - .downtime-subtitle { - font-size: 17px; - } - } - - .downtime-image { - width: 80px; - } - - .downtime-refresh-container { - margin-top: @fullMargin; - width: 100%; - - .refresh-title { - font-weight: bold; - } - } - } - - &.roll { - .dice-flavor { - text-align: center; - font-weight: bold; - } - .dice-tooltip { - .dice-rolls.duality { + /* .dice-rolls.duality { display: flex; align-items: center; @@ -397,7 +491,7 @@ .attack-roll-advantage-container { text-align: end; font-weight: bold; - } + } */ } .dice-total { @@ -559,3 +653,143 @@ } } } + +.theme-colorfull { + .chat-message.duality { + border-color: black; + padding: 8px 0 0 0; + .message-header { + color: var(--color-light-3); + padding: 0 8px; + } + &.hope { + background: linear-gradient(0, rgba(165, 42, 42, 0.6) 40px, rgba(0, 0, 0, 0.6)); + } + &.fear { + background: linear-gradient(0, @fearBackgroundEnd, @fearBackgroundStart); + } + &.critical { + background: linear-gradient(0, @criticalBackgroundEnd, @criticalBackgroundStart); + } + .chat-message header { + color: var(--color-light-3); + } + > * { + padding: 0 8px; + } + .message-content { + .duality-modifiers, .duality-result, .dice-title { + display: flex; + } + .duality-modifiers { + display: flex; + gap: 2px; + margin-bottom: 4px; + // padding: 0 8px; + + .duality-modifier { + padding: 2px; + border-radius: 6px; + border: 1px solid; + background: var(--color-dark-6); + font-size: 12px; + } + } + .dice-flavor { + color: var(--color-light-1); + text-shadow: 0 0 1px black; + border-bottom: 1px solid; + display: flex; + align-items: end; + justify-content: space-between; + padding: 0 8px; + margin: 0 -8px 2px; + font-weight: unset; + } + .dice-result { + .duality-modifiers { + display: flex; // Default => display: none; + gap: 2px; + margin-bottom: 4px; + .duality-modifier { + padding: 2px; + border-radius: 6px; + border: 1px solid; + background: var(--color-dark-6); + font-size: 12px; + } + } + .dice-formula, > .dice-total, .part-header { + display: none; + } + .dice-tooltip { + grid-template-rows: 1fr; + .wrapper { + .tooltip-part { + display: flex; + align-items: end; + gap: .25rem; + .dice { + .dice-rolls { + display: flex; + gap: 0.25rem; + margin-bottom: 0; + li { + display: flex; + align-items: center; + justify-content: center; + position: relative; + background: unset; + line-height: unset; + font-weight: unset; + } + } + } + } + } + } + .target-section { + margin: 4px 0; + border: 2px solid; + margin-top: 5px; + .dice-total { + box-shadow: unset; + border: unset; + border-radius: unset; + font-size: var(--font-size-18); + } + } + .dice-actions { + justify-content: space-between; + .duality-action { + color: var(--color-light-1); + text-shadow: 0 0 1px black; + font-weight: bold; + background: var(--color-dark-1); + padding: 4px; + border-radius: 0 6px 0 0; + border-color: black; + min-height: unset; + height: 26px; + margin-left: -8px; + flex: unset; + } + } + .duality-result { + display: flex; + flex-direction: column; + align-items: end; + justify-content: center; + gap: 2px; + color: var(--color-light-1); + text-shadow: 0 0 1px black; + font-weight: bold; + background: var(--color-dark-1); + padding: 4px 4px 0 4px; + border-radius: 6px 0 0 0; + margin-right: -8px; + } + } + } + } +} diff --git a/styles/daggerheart.css b/styles/daggerheart.css index 5cca9027..09e71e70 100755 --- a/styles/daggerheart.css +++ b/styles/daggerheart.css @@ -1380,225 +1380,10 @@ margin: 0; text-align: center; } -.chat-message.duality { - border-color: black; - padding: 8px 0 0 0; -} -.chat-message.duality .message-header { - color: var(--color-light-3); - padding: 0 8px; -} -.chat-message.duality .duality-data { - display: flex; - flex-direction: column; -} -.chat-message.duality .duality-data .duality-title { - color: var(--color-light-1); - text-shadow: 0 0 1px black; - border-bottom: 1px solid; - margin-bottom: 2px; - display: flex; - align-items: end; - justify-content: space-between; - padding: 0 8px; -} -.chat-message.duality .duality-data .duality-modifiers { - display: flex; - gap: 2px; - margin-bottom: 4px; - padding: 0 8px; -} -.chat-message.duality .duality-data .duality-modifiers .duality-modifier { - padding: 2px; - border-radius: 6px; - border: 1px solid; - background: var(--color-dark-6); - font-size: 12px; -} -.chat-message.duality .duality-data .duality-line { - display: flex; - align-items: end; - justify-content: space-between; - padding: 0 8px; -} -.chat-message.duality .duality-data .duality-line.simple { - padding-right: 0; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container { - display: flex; - align-items: center; - gap: 4px; - margin-bottom: 4px; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container { - display: flex; - flex-direction: column; - gap: 2px; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-title { - color: var(--color-light-1); - text-shadow: 0 0 1px black; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container { - display: flex; - align-items: center; - justify-content: center; - position: relative; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container .dice-wrapper { - height: 24px; - width: 24px; - position: relative; - display: flex; - align-items: center; - justify-content: center; - clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%); -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container .dice-wrapper .dice { - height: 26px; - width: 26px; - max-width: unset; - position: absolute; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container .dice-value { - position: absolute; - font-weight: bold; - font-size: 16px; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container.hope .dice-wrapper { - background: black; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container.hope .dice-wrapper .dice { - filter: brightness(0) saturate(100%) invert(79%) sepia(79%) saturate(333%) hue-rotate(352deg) brightness(102%) contrast(103%); -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container.hope .dice-value { - color: var(--color-dark-1); - text-shadow: 0 0 4px white; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container.fear .dice-wrapper { - background: white; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container.fear .dice-wrapper .dice { - filter: brightness(0) saturate(100%) invert(12%) sepia(88%) saturate(4321%) hue-rotate(221deg) brightness(92%) contrast(110%); -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .dice-container .dice-inner-container.fear .dice-value { - color: var(--color-light-1); - text-shadow: 0 0 4px black; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .advantage-container { - padding-top: 21px; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .advantage-container .dice-wrapper { - height: 24px; - width: 24px; - position: relative; - display: flex; - align-items: center; - justify-content: center; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .advantage-container .dice-wrapper .dice { - height: 26px; - width: 26px; - max-width: unset; - position: absolute; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .advantage-container .dice-wrapper .dice-value { - position: absolute; - font-weight: bold; - font-size: 16px; -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .advantage-container.advantage .dice-wrapper .dice { - filter: brightness(0) saturate(100%) invert(18%) sepia(92%) saturate(4133%) hue-rotate(96deg) brightness(104%) contrast(107%); -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .advantage-container.disadvantage .dice-wrapper .dice { - filter: brightness(0) saturate(100%) invert(9%) sepia(78%) saturate(6903%) hue-rotate(11deg) brightness(93%) contrast(117%); -} -.chat-message.duality .duality-data .duality-line .dice-outer-container .duality-modifier { - padding-top: 21px; - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-size: 16px; -} -.chat-message.duality .duality-result { - display: flex; - flex-direction: column; - align-items: end; - justify-content: center; - gap: 2px; - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-weight: bold; - background: var(--color-dark-1); - padding: 4px 4px 0 4px; - border-radius: 6px 0 0 0; -} -.chat-message.duality .duality-actions { - display: flex; - justify-content: space-between; -} -.chat-message.duality .duality-actions .duality-action { - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-weight: bold; - background: var(--color-dark-1); - padding: 4px; - border-radius: 0 6px 0 0; - border-color: black; - min-height: unset; - height: 26px; -} -.chat-message.duality .duality-actions .duality-action:hover { - background: var(--button-hover-background-color); -} -.chat-message.duality .target-section { - margin: 4px 4px; - border: 2px solid; -} -.chat-message.duality .target-section .target-container { - display: flex; - align-items: center; - transition: all 0.2s ease-in-out; -} -.chat-message.duality .target-section .target-container:hover { - filter: drop-shadow(0 0 3px gold); - border-color: gold; -} -.chat-message.duality .target-section .target-container.hit { - background: #008000; -} -.chat-message.duality .target-section .target-container.miss { - background: #ff0000; -} -.chat-message.duality .target-section .target-container img { - flex: 0; - width: 22px; - height: 22px; - margin-left: 8px; - align-self: center; - border-color: transparent; -} -.chat-message.duality .target-section .target-container .target-inner-container { - flex: 1; - display: flex; - justify-content: center; - margin-right: 32px; - font-weight: bold; - font-size: 17px; -} -.chat-message.duality.hope { - background: linear-gradient(0, rgba(165, 42, 42, 0.6) 40px, rgba(0, 0, 0, 0.6)); -} -.chat-message.duality.fear { - background: linear-gradient(0, rgba(0, 0, 255, 0.6), rgba(15, 15, 97, 0.6)); -} -.chat-message.duality.critical { - background: linear-gradient(0, rgba(128, 0, 128, 0.6), rgba(37, 8, 37, 0.6)); -} -.chat-message.duality .dice-roll { - color: var(--color-dark-1); -} -.chat-message.duality .dice-roll .dice-flavor { - color: var(--color-light-1); +.chat-message .duality-modifiers, +.chat-message .duality-result, +.chat-message .dice-title { + display: none; } .daggerheart.chat.downtime { display: flex; @@ -1627,63 +1412,141 @@ text-align: center; font-weight: bold; } -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality { +.daggerheart.chat.roll .dice-tooltip { + /* .dice-rolls.duality { + display: flex; + align-items: center; + + .dice-hope-container { + display: flex; + + .roll.die:not(:last-of-type) { + margin-right: @fullMargin; + } + } + + .modifiers-container { + display: flex; + + .modifier-value:not(:last-of-type) { + margin-right: @fullMargin; + } + } + + .roll.die { + &.hope { + color: white; + -webkit-text-stroke-color: @hope; + -webkit-text-stroke-width: 1.5px; + font-weight: 400; + &:not(.discarded) { + filter: none; + } + } + &.fear { + color: white; + -webkit-text-stroke-color: @fear; + -webkit-text-stroke-width: 1.5px; + font-weight: 400; + &:not(.discarded) { + filter: none; + } + } + &.disadvantage { + color: white; + -webkit-text-stroke-color: @disadvantage; + -webkit-text-stroke-width: 1.5px; + font-weight: 400; + } + &.advantage { + color: white; + -webkit-text-stroke-color: @advantage; + -webkit-text-stroke-width: 1.5px; + font-weight: 400; + } + //V1.3 + // &.advantage { + // filter: drop-shadow(0 -4px 4px gold); + // cursor: pointer; + // } + + &.unused { + opacity: 0.3; + } + } + + .modifier-value { + text-align: center; + font-weight: bold; + font-size: 16px; + } + } + + .attack-roll-advantage-container { + text-align: end; + font-weight: bold; + } */ +} +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll { display: flex; align-items: center; + gap: 4px; + margin-bottom: 4px; } -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .dice-hope-container { +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container { display: flex; + flex-direction: column; + gap: 2px; } -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .dice-hope-container .roll.die:not(:last-of-type) { - margin-right: 8px; +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-title { + color: var(--color-light-1); + text-shadow: 0 0 1px black; } -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .modifiers-container { +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container { display: flex; + align-items: center; + justify-content: center; + position: relative; } -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .modifiers-container .modifier-value:not(:last-of-type) { - margin-right: 8px; +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container .dice-wrapper { + height: 24px; + width: 24px; + position: relative; + display: flex; + align-items: center; + justify-content: center; + clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%); } -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .roll.die.hope { - color: white; - -webkit-text-stroke-color: #ffe760; - -webkit-text-stroke-width: 1.5px; - font-weight: 400; +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container .dice-wrapper .dice { + height: 26px; + width: 26px; + max-width: unset; + position: absolute; } -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .roll.die.hope:not(.discarded) { - filter: none; -} -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .roll.die.fear { - color: white; - -webkit-text-stroke-color: #0032b1; - -webkit-text-stroke-width: 1.5px; - font-weight: 400; -} -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .roll.die.fear:not(.discarded) { - filter: none; -} -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .roll.die.disadvantage { - color: white; - -webkit-text-stroke-color: #b30000; - -webkit-text-stroke-width: 1.5px; - font-weight: 400; -} -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .roll.die.advantage { - color: white; - -webkit-text-stroke-color: #008000; - -webkit-text-stroke-width: 1.5px; - font-weight: 400; -} -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .roll.die.unused { - opacity: 0.3; -} -.daggerheart.chat.roll .dice-tooltip .dice-rolls.duality .modifier-value { - text-align: center; +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container .dice-value { + position: absolute; font-weight: bold; font-size: 16px; } -.daggerheart.chat.roll .dice-tooltip .attack-roll-advantage-container { - text-align: end; - font-weight: bold; +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container.hope .dice-wrapper { + background: black; +} +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container.hope .dice-wrapper .dice { + filter: brightness(0) saturate(100%) invert(79%) sepia(79%) saturate(333%) hue-rotate(352deg) brightness(102%) contrast(103%); +} +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container.hope .dice-value { + color: var(--color-dark-1); + text-shadow: 0 0 4px white; +} +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container.fear .dice-wrapper { + background: white; +} +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container.fear .dice-wrapper .dice { + filter: brightness(0) saturate(100%) invert(12%) sepia(88%) saturate(4321%) hue-rotate(221deg) brightness(92%) contrast(110%); +} +.daggerheart.chat.roll .dice-tooltip .dice-rolls > .roll .dice-container .dice-inner-container.fear .dice-value { + color: var(--color-light-1); + text-shadow: 0 0 4px black; } .daggerheart.chat.roll .dice-total.duality.hope { border-color: #ffe760; @@ -1810,6 +1673,137 @@ .daggerheart.chat.domain-card img { width: 80px; } +.theme-colorfull .chat-message.duality { + border-color: black; + padding: 8px 0 0 0; +} +.theme-colorfull .chat-message.duality .message-header { + color: var(--color-light-3); + padding: 0 8px; +} +.theme-colorfull .chat-message.duality.hope { + background: linear-gradient(0, rgba(165, 42, 42, 0.6) 40px, rgba(0, 0, 0, 0.6)); +} +.theme-colorfull .chat-message.duality.fear { + background: linear-gradient(0, rgba(0, 0, 255, 0.6), rgba(15, 15, 97, 0.6)); +} +.theme-colorfull .chat-message.duality.critical { + background: linear-gradient(0, rgba(128, 0, 128, 0.6), rgba(37, 8, 37, 0.6)); +} +.theme-colorfull .chat-message.duality .chat-message header { + color: var(--color-light-3); +} +.theme-colorfull .chat-message.duality > * { + padding: 0 8px; +} +.theme-colorfull .chat-message.duality .message-content .duality-modifiers, +.theme-colorfull .chat-message.duality .message-content .duality-result, +.theme-colorfull .chat-message.duality .message-content .dice-title { + display: flex; +} +.theme-colorfull .chat-message.duality .message-content .duality-modifiers { + display: flex; + gap: 2px; + margin-bottom: 4px; +} +.theme-colorfull .chat-message.duality .message-content .duality-modifiers .duality-modifier { + padding: 2px; + border-radius: 6px; + border: 1px solid; + background: var(--color-dark-6); + font-size: 12px; +} +.theme-colorfull .chat-message.duality .message-content .dice-flavor { + color: var(--color-light-1); + text-shadow: 0 0 1px black; + border-bottom: 1px solid; + display: flex; + align-items: end; + justify-content: space-between; + padding: 0 8px; + margin: 0 -8px 2px; + font-weight: unset; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .duality-modifiers { + display: flex; + gap: 2px; + margin-bottom: 4px; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .duality-modifiers .duality-modifier { + padding: 2px; + border-radius: 6px; + border: 1px solid; + background: var(--color-dark-6); + font-size: 12px; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .dice-formula, +.theme-colorfull .chat-message.duality .message-content .dice-result > .dice-total, +.theme-colorfull .chat-message.duality .message-content .dice-result .part-header { + display: none; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .dice-tooltip { + grid-template-rows: 1fr; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .dice-tooltip .wrapper .tooltip-part { + display: flex; + align-items: end; + gap: 0.25rem; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .dice-tooltip .wrapper .tooltip-part .dice .dice-rolls { + display: flex; + gap: 0.25rem; + margin-bottom: 0; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .dice-tooltip .wrapper .tooltip-part .dice .dice-rolls li { + display: flex; + align-items: center; + justify-content: center; + position: relative; + background: unset; + line-height: unset; + font-weight: unset; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .target-section { + margin: 4px 0; + border: 2px solid; + margin-top: 5px; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .target-section .dice-total { + box-shadow: unset; + border: unset; + border-radius: unset; + font-size: var(--font-size-18); +} +.theme-colorfull .chat-message.duality .message-content .dice-result .dice-actions { + justify-content: space-between; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .dice-actions .duality-action { + color: var(--color-light-1); + text-shadow: 0 0 1px black; + font-weight: bold; + background: var(--color-dark-1); + padding: 4px; + border-radius: 0 6px 0 0; + border-color: black; + min-height: unset; + height: 26px; + margin-left: -8px; + flex: unset; +} +.theme-colorfull .chat-message.duality .message-content .dice-result .duality-result { + display: flex; + flex-direction: column; + align-items: end; + justify-content: center; + gap: 2px; + color: var(--color-light-1); + text-shadow: 0 0 1px black; + font-weight: bold; + background: var(--color-dark-1); + padding: 4px 4px 0 4px; + border-radius: 6px 0 0 0; + margin-right: -8px; +} .daggerheart.sheet.feature .editable { display: flex; flex-direction: column; diff --git a/templates/chat/duality-roll.hbs b/templates/chat/duality-roll.hbs index 1ae5c720..c461775d 100644 --- a/templates/chat/duality-roll.hbs +++ b/templates/chat/duality-roll.hbs @@ -1,4 +1,4 @@ -{{#if colorful}} +{{!-- {{#if colorful}}