diff --git a/lang/en.json b/lang/en.json index 950af403..ecc45e54 100755 --- a/lang/en.json +++ b/lang/en.json @@ -1352,7 +1352,9 @@ "check": "{check} Check", "continue": "Continue", "criticalSuccess": "Critical Success", + "d20Roll": "D20 Roll", "damage": "Damage", + "damageRoll": "Damage Roll", "damageType": "Damage Type", "description": "Description", "difficulty": "Difficulty", @@ -1371,6 +1373,7 @@ "features": "Features", "formula": "Formula", "healing": "Healing", + "healingRoll": "Healing Roll", "HitPoints": { "single": "Hit Point", "plural": "Hit Points", diff --git a/module/applications/dialogs/deathMove.mjs b/module/applications/dialogs/deathMove.mjs index ef227aa6..d0686d2b 100644 --- a/module/applications/dialogs/deathMove.mjs +++ b/module/applications/dialogs/deathMove.mjs @@ -47,7 +47,7 @@ export default class DhpDeathMove extends HandlebarsApplicationMixin(Application static async takeMove() { const cls = getDocumentClass('ChatMessage'); - const msg = new cls({ + const msg = { user: game.user.id, content: await foundry.applications.handlebars.renderTemplate( 'systems/daggerheart/templates/ui/chat/deathMove.hbs', @@ -55,20 +55,23 @@ export default class DhpDeathMove extends HandlebarsApplicationMixin(Application player: this.actor.name, actor: { name: this.actor.name, img: this.actor.img }, author: game.users.get(game.user.id), - speaker: cls.getSpeaker(), title: game.i18n.localize(this.selectedMove.name), img: this.selectedMove.img, description: game.i18n.localize(this.selectedMove.description) } ), + title: game.i18n.localize( + 'DAGGERHEART.UI.Chat.deathMove.title' + ), + speaker: cls.getSpeaker(), flags: { daggerheart: { cssClass: 'dh-chat-message dh-style' } } - }); + }; - cls.create(msg.toObject()); + cls.create(msg); this.close(); } diff --git a/module/applications/dialogs/downtime.mjs b/module/applications/dialogs/downtime.mjs index 756918df..d6bfc7ac 100644 --- a/module/applications/dialogs/downtime.mjs +++ b/module/applications/dialogs/downtime.mjs @@ -133,7 +133,7 @@ export default class DhpDowntime extends HandlebarsApplicationMixin(ApplicationV }); const cls = getDocumentClass('ChatMessage'); - const msg = new cls({ + const msg = { user: game.user.id, system: { moves: moves, @@ -158,9 +158,9 @@ export default class DhpDowntime extends HandlebarsApplicationMixin(ApplicationV cssClass: 'dh-chat-message dh-style' } } - }); + }; - cls.create(msg.toObject()); + cls.create(msg); // Reset selection and update number of taken moves for (const [catName, category] of Object.entries(this.moveData)) { diff --git a/module/applications/dialogs/resourceDiceDialog.mjs b/module/applications/dialogs/resourceDiceDialog.mjs index 8205dee5..32e1e5d8 100644 --- a/module/applications/dialogs/resourceDiceDialog.mjs +++ b/module/applications/dialogs/resourceDiceDialog.mjs @@ -74,7 +74,7 @@ export default class ResourceDiceDialog extends HandlebarsApplicationMixin(Appli this.resetUsed = true; const cls = getDocumentClass('ChatMessage'); - const msg = new cls({ + const msg = { user: game.user.id, content: await foundry.applications.handlebars.renderTemplate( 'systems/daggerheart/templates/ui/chat/resource-roll.hbs', @@ -83,9 +83,9 @@ export default class ResourceDiceDialog extends HandlebarsApplicationMixin(Appli name: this.item.name } ) - }); + }; - cls.create(msg.toObject()); + cls.create(msg); this.close(); } diff --git a/module/data/action/attackAction.mjs b/module/data/action/attackAction.mjs index 83613a9e..4713938c 100644 --- a/module/data/action/attackAction.mjs +++ b/module/data/action/attackAction.mjs @@ -8,10 +8,6 @@ export default class DHAttackAction extends DHDamageAction { return parent.parent.type === 'weapon' ? 'attack' : 'spellcast'; } - get chatTemplate() { - return 'systems/daggerheart/templates/ui/chat/duality-roll.hbs'; - } - prepareData() { super.prepareData(); if (!!this.item?.system?.attack) { diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index 8f0e0682..4a45438f 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -69,10 +69,6 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel : this.item?.actor; } - get chatTemplate() { - return 'systems/daggerheart/templates/ui/chat/duality-roll.hbs'; - } - static getRollType(parent) { return 'trait'; } diff --git a/module/data/action/healingAction.mjs b/module/data/action/healingAction.mjs index dad67dec..5efdc459 100644 --- a/module/data/action/healingAction.mjs +++ b/module/data/action/healingAction.mjs @@ -1,4 +1,3 @@ -import DHBaseAction from './baseAction.mjs'; import DHDamageAction from './damageAction.mjs'; export default class DHHealingAction extends DHDamageAction { @@ -7,49 +6,4 @@ export default class DHHealingAction extends DHDamageAction { static getRollType(parent) { return 'spellcast'; } - - /* static extraSchemas = [...super.extraSchemas, 'target', 'effects', 'healing', 'roll']; - - static getRollType(parent) { - return 'spellcast'; - } - - getFormulaValue(data) { - let formulaValue = this.healing.value; - if (this.hasRoll && this.healing.resultBased && data.system.roll.result.duality === -1) - return this.healing.valueAlt; - return formulaValue; - } - - async rollHealing(event, data) { - const systemData = data.system ?? data; - let formulas = [ - { - formula: this.getFormulaValue(data).getFormula(this.actor), - applyTo: this.healing.applyTo - } - ]; - - const config = { - title: game.i18n.format('DAGGERHEART.UI.Chat.healingRoll.title', { - healing: game.i18n.localize(CONFIG.DH.GENERAL.healingTypes[this.healing.applyTo].label) - }), - roll: formulas, - targets: systemData.targets?.filter(t => t.hit), - messageType: 'healing', - source: systemData.source, - data: this.getRollData(), - event - }; - - return CONFIG.Dice.daggerheart.DamageRoll.build(config); - } - - get chatTemplate() { - return 'systems/daggerheart/templates/ui/chat/healing-roll.hbs'; - } - - get modifiers() { - return []; - } */ } diff --git a/module/data/chat-message/dualityRoll.mjs b/module/data/chat-message/dualityRoll.mjs index 63fa9fa3..d5f6efc0 100644 --- a/module/data/chat-message/dualityRoll.mjs +++ b/module/data/chat-message/dualityRoll.mjs @@ -2,6 +2,6 @@ import DHAdversaryRoll from './adversaryRoll.mjs'; export default class DHDualityRoll extends DHAdversaryRoll { get messageTemplate() { - return 'systems/daggerheart/templates/ui/chat/duality-roll.hbs'; + return 'systems/daggerheart/templates/ui/chat/duality-roll-temp.hbs'; } } diff --git a/module/dice/d20Roll.mjs b/module/dice/d20Roll.mjs index ce400110..bb01b664 100644 --- a/module/dice/d20Roll.mjs +++ b/module/dice/d20Roll.mjs @@ -19,6 +19,12 @@ export default class D20Roll extends DHRoll { static DefaultDialog = D20RollDialog; + get title() { + return game.i18n.localize( + "DAGGERHEART.GENERAL.d20Roll" + ); + } + get d20() { if (!(this.terms[0] instanceof foundry.dice.terms.Die)) this.createBaseDice(); return this.terms[0]; diff --git a/module/dice/dhRoll.mjs b/module/dice/dhRoll.mjs index aa1ebb68..ff56856d 100644 --- a/module/dice/dhRoll.mjs +++ b/module/dice/dhRoll.mjs @@ -7,6 +7,12 @@ export default class DHRoll extends Roll { if (!this.data || !Object.keys(this.data).length) this.data = options.data; } + get title() { + return game.i18n.localize( + "DAGGERHEART.GENERAL.Roll" + ); + } + static messageType = 'adversaryRoll'; static DefaultDialog = D20RollDialog; @@ -85,6 +91,8 @@ export default class DHRoll extends Roll { msg = { type: this.messageType, user: game.user.id, + title: roll.title, + speaker: cls.getSpeaker(), sound: config.mute ? null : CONFIG.sounds.dice, system: config, rolls: [roll] diff --git a/module/dice/dualityRoll.mjs b/module/dice/dualityRoll.mjs index 8ad61996..b243ee6a 100644 --- a/module/dice/dualityRoll.mjs +++ b/module/dice/dualityRoll.mjs @@ -17,6 +17,12 @@ export default class DualityRoll extends D20Roll { static DefaultDialog = D20RollDialog; + get title() { + return game.i18n.localize( + "DAGGERHEART.GENERAL.dualityRoll" + ); + } + get dHope() { // if ( !(this.terms[0] instanceof foundry.dice.terms.Die) ) return; if (!(this.dice[0] instanceof CONFIG.Dice.daggerheart.DualityDie)) this.createBaseDice(); diff --git a/module/documents/activeEffect.mjs b/module/documents/activeEffect.mjs index 5d45e2e1..c0d1d192 100644 --- a/module/documents/activeEffect.mjs +++ b/module/documents/activeEffect.mjs @@ -92,7 +92,7 @@ export default class DhActiveEffect extends ActiveEffect { description: this.description, actions: [] }; - const msg = new cls({ + const msg = { type: 'abilityUse', user: game.user.id, system: systemData, @@ -100,8 +100,8 @@ export default class DhActiveEffect extends ActiveEffect { 'systems/daggerheart/templates/ui/chat/ability-use.hbs', systemData ) - }); + }; - cls.create(msg.toObject()); + cls.create(msg); } } diff --git a/module/documents/item.mjs b/module/documents/item.mjs index b6dfb280..3dd20546 100644 --- a/module/documents/item.mjs +++ b/module/documents/item.mjs @@ -125,7 +125,7 @@ export default class DHItem extends foundry.documents.Item { description: this.system.description, actions: this.system.actions }; - const msg = new cls({ + const msg = { type: 'abilityUse', user: game.user.id, actor: this.actor, @@ -142,8 +142,8 @@ export default class DHItem extends foundry.documents.Item { cssClass: 'dh-chat-message dh-style' } } - }); + }; - cls.create(msg.toObject()); + cls.create(msg); } } diff --git a/styles/less/global/chat.less b/styles/less/global/chat.less index 54d1ba46..27a29c1d 100644 --- a/styles/less/global/chat.less +++ b/styles/less/global/chat.less @@ -21,13 +21,13 @@ .chat-log { .chat-message { border: none !important; - padding: 8px 0; + padding: 0; background-image: url('../assets/parchments/dh-parchment-dark.png'); .message-header { display: flex; gap: 4px; - padding: 0 8px 8px; + padding: 8px; .message-header-metadata { flex: none; @@ -69,6 +69,10 @@ } } } + + .message-content { + padding-bottom: 8px; + } } } } diff --git a/styles/less/ui/chat/chat-temp.less b/styles/less/ui/chat/chat-temp.less new file mode 100644 index 00000000..9cb903c1 --- /dev/null +++ b/styles/less/ui/chat/chat-temp.less @@ -0,0 +1,289 @@ +@import '../../utils/colors.less'; + +.chat-message { + --text-color: light-dark(@dark-blue, @golden); + --bg-color: light-dark(@dark-blue-40, @golden-40); + + &.duality { + &.hope { + --text-color: @golden; + --bg-color: @golden-40; + .message-header, .message-content { + background-color: @golden-bg; + } + } + + &.fear { + --text-color: @fear; + --bg-color: @fear-40; + .message-header, .message-content { + background-color: @fear-bg; + } + } + + &.critical { + --text-color: @critical; + --bg-color: @critical-40; + .message-header, .message-content { + background-color: @critical-bg; + } + } + } + + .chat-roll { + font-size: var(--font-size-12); + padding: 0 20px; + + .roll-part-header { + display: grid; + grid-template-columns: 1fr auto 1fr; + align-items: center; + color: light-dark(@dark, @beige); + + span { + display: flex; + align-items: center; + gap: 5px; + text-transform: capitalize; + padding: 0 10px; + } + + &:before, &:after { + content: ' '; + height: 1px; + } + + &:before { + background: linear-gradient(90deg,rgba(0, 0, 0, 0) 0%, var(--text-color) 100%); + } + + &:after { + background: linear-gradient(90deg,var(--text-color) 0%, rgba(0, 0, 0, 0) 100%); + } + } + + .roll-part-extra { + display: flex; + justify-content: center; + align-items: center; + gap: 10px; + margin-top: 8px; + } + + .roll-part-content { + display: flex; + flex-direction: column; + align-items: center; + gap: 5px; + padding: 5px 0; + + .dice-tooltip { + width: 100%; + + .wrapper { + display: flex; + flex-direction: column; + gap: 10px; + + > :first-child:not(.target-selector) { + margin-top: 5px; + } + + > :last-child { + margin-bottom: 5px; + } + } + } + + .roll-result-container { + display: flex; + justify-content: center; + gap: 10px; + color: var(--text-color); + font-weight: 700; + font-family: 'Cinzel', sans-serif; + + .roll-result-value { + font-size: var(--font-size-24); + } + + .roll-result-desc { + font-size: var(--font-size-16); + margin-top: 2px; + } + } + + .roll-difficulty { + margin-top: -5px; + } + + .roll-dice { + display: flex; + align-items: center; + justify-content: center; + gap: 10px; + font-weight: 700; + font-family: 'Cinzel', sans-serif; + + .roll-die { + display: flex; + flex-direction: column; + gap: 3px; + + label { + text-align: center; + height: var(--font-size-12); + } + + > div { + display: flex; + align-items: center; + gap: 5px; + font-size: var(--font-size-24); + margin: auto; + img { + height: 30px; + } + } + } + } + + fieldset { + display: flex; + flex-direction: column; + gap: 10px; + border-color: var(--text-color); + border-radius: 5px; + + legend { + display: flex; + align-items: center; + gap: 10px; + padding: 0 5px; + color: var(--text-color); + } + } + + .target-selector { + + .roll-part-extra { + margin: 0; + } + + .target-choice { + display: flex; + justify-content: space-evenly; + font-size: var(--font-size-14); + color: var(--text-color); + padding: 5px 0; + + .target-selected { + font-weight: bold; + text-shadow: 0px 0px 8px var(--text-color); + } + } + } + + .roll-target { + display: flex; + width: 100%; + gap: 10px; + align-items: center; + + .target-img { + border-radius: 50%; + width: 40px; + height: 40px; + object-fit: cover; + } + + .target-data { + flex: 1; + } + } + } + + .roll-formula { + background-color: var(--bg-color); + color: var(--text-color); + border-radius: 4px; + padding: 3px 5px; + width: fit-content; + margin: auto; + } + + .roll-difficulty, .target-hit-status { + color: @green; + background-color: @green-10; + border: 1px solid currentColor; + border-radius: 4px; + padding: 3px 5px; + text-transform: uppercase; + font-weight: 600; + } + + .target-hit-status { + width: fit-content; + margin-top: 2px; + + &.is-miss { + color: @medium-red; + background-color: @medium-red-10; + } + } + + div[data-action="expandRoll"] { + .roll-part-header > div > span { + &:before, &:after { + content: '\f078'; + font-family: var(--font-awesome); + color: var(--text-color); + transition: all 0.3s ease; + } + } + + .on-reduced { + display: grid; + overflow: hidden; + grid-template-rows: 1fr; + transition: grid-template-rows 250ms ease; + + .wrapper { + display: flex; + gap: 10px; + overflow: hidden; + } + } + + &.expanded { + .roll-part-header > div > span { + &:before, &:after { + transform: rotate(180deg); + } + } + + .on-reduced { + grid-template-rows: 0fr; + } + } + } + + .roll-part + .roll-part { + margin-top: 0; + } + } + + .target-section { + .roll-part-content { + gap: 10px; + } + } + + .roll-buttons { + display: flex; + gap: 5px; + margin-top: 8px; + button { + flex: 1; + } + } +} \ No newline at end of file diff --git a/styles/less/ui/chat/theme-colorful.less b/styles/less/ui/chat/theme-colorful.less index 3de5b432..1dfbd0d1 100644 --- a/styles/less/ui/chat/theme-colorful.less +++ b/styles/less/ui/chat/theme-colorful.less @@ -1,195 +1,195 @@ @import '../../utils/colors.less'; @import '../../utils/spacing.less'; -.theme-colorful { - .chat-message.duality { - border-color: black; - padding: 8px 0 0 0; - fieldset.daggerheart.chat { - border-top-width: 0; - display: contents; - legend { - &:before, - &:after { - display: none; - } - } - } - .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; - flex-wrap: wrap; - .duality-modifier { - padding: 2px; - border-radius: 6px; - border: 1px solid; - background: var(--color-dark-6); - font-size: 12px; - white-space: nowrap; - } - } - .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: 0.25rem; - .dice { - .dice-rolls { - margin-bottom: 0; - &.duality { - li { - display: flex; - align-items: center; - justify-content: center; - position: relative; - background: unset; - line-height: unset; - font-weight: unset; - } - } - } - } - .duality-modifier { - display: flex; - margin-bottom: 6px; - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-size: var(--font-size-16); - } - } - } - } - .target-selection { - label { - color: var(--color-light-1); - } - } - .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-alone { - justify-content: end; - margin-top: -20px; - } - > * { - display: flex; - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-weight: bold; - background: var(--color-dark-1); - padding: 4px; - border-color: black; - min-height: unset; - height: 26px; - flex: unset; - margin: 0; - } - .duality-action { - border-radius: 0 6px 0 0; - margin-left: -8px; - &.duality-action-effect { - border-top-left-radius: 6px; - margin-left: initial; - } - } - .duality-result { - border-radius: 6px 0 0 0; - margin-right: -8px; - } - } - .duality-result { - display: flex; - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-weight: bold; - background: var(--color-dark-1); - padding: 4px; - border-color: black; - min-height: unset; - height: 26px; - flex: unset; - margin: 0; - margin-left: auto; - align-self: center; - border-radius: 6px; - } - } - } - button { - &.inner-button { - color: var(--color-light-1); - text-shadow: 0 0 1px black; - font-weight: bold; - background: var(--color-dark-1); - border-color: black; - } - } - } -} +// .theme-colorful { +// .chat-message.duality { +// border-color: black; +// padding: 8px 0 0 0; +// fieldset.daggerheart.chat { +// border-top-width: 0; +// display: contents; +// legend { +// &:before, +// &:after { +// display: none; +// } +// } +// } +// .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; +// flex-wrap: wrap; +// .duality-modifier { +// padding: 2px; +// border-radius: 6px; +// border: 1px solid; +// background: var(--color-dark-6); +// font-size: 12px; +// white-space: nowrap; +// } +// } +// .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: 0.25rem; +// .dice { +// .dice-rolls { +// margin-bottom: 0; +// &.duality { +// li { +// display: flex; +// align-items: center; +// justify-content: center; +// position: relative; +// background: unset; +// line-height: unset; +// font-weight: unset; +// } +// } +// } +// } +// .duality-modifier { +// display: flex; +// margin-bottom: 6px; +// color: var(--color-light-1); +// text-shadow: 0 0 1px black; +// font-size: var(--font-size-16); +// } +// } +// } +// } +// .target-selection { +// label { +// color: var(--color-light-1); +// } +// } +// .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-alone { +// justify-content: end; +// margin-top: -20px; +// } +// > * { +// display: flex; +// color: var(--color-light-1); +// text-shadow: 0 0 1px black; +// font-weight: bold; +// background: var(--color-dark-1); +// padding: 4px; +// border-color: black; +// min-height: unset; +// height: 26px; +// flex: unset; +// margin: 0; +// } +// .duality-action { +// border-radius: 0 6px 0 0; +// margin-left: -8px; +// &.duality-action-effect { +// border-top-left-radius: 6px; +// margin-left: initial; +// } +// } +// .duality-result { +// border-radius: 6px 0 0 0; +// margin-right: -8px; +// } +// } +// .duality-result { +// display: flex; +// color: var(--color-light-1); +// text-shadow: 0 0 1px black; +// font-weight: bold; +// background: var(--color-dark-1); +// padding: 4px; +// border-color: black; +// min-height: unset; +// height: 26px; +// flex: unset; +// margin: 0; +// margin-left: auto; +// align-self: center; +// border-radius: 6px; +// } +// } +// } +// button { +// &.inner-button { +// color: var(--color-light-1); +// text-shadow: 0 0 1px black; +// font-weight: bold; +// background: var(--color-dark-1); +// border-color: black; +// } +// } +// } +// } diff --git a/styles/less/ui/index.less b/styles/less/ui/index.less index 94bdb247..a55273da 100644 --- a/styles/less/ui/index.less +++ b/styles/less/ui/index.less @@ -19,3 +19,7 @@ @import './resources/resources.less'; @import './settings/settings.less'; + + + +@import './chat/chat-temp.less'; diff --git a/styles/less/utils/colors.less b/styles/less/utils/colors.less index 033a42cb..9fc1a6a2 100755 --- a/styles/less/utils/colors.less +++ b/styles/less/utils/colors.less @@ -4,10 +4,26 @@ @golden: #f3c267; @golden-10: #f3c26710; @golden-40: #f3c26740; +@golden-bg: #f3c2671a; + +@fear: #8f87ee; +@fear-10: #8f87ee10; +@fear-40: #8f87ee40; +@fear-bg: #14142599; + +@critical: #f3c267; +@critical-10: #f3c26710; +@critical-40: #f3c26740; +@critical-bg: #2a152e99; + +@red: #a778b1; +@red-10: #a778b110; +@red-40: #a778b140; + +@medium-red: #D04747; +@medium-red-10: #D0474710; +@medium-red-40: #D0474740; -@red: #e54e4e; -@red-10: #e54e4e10; -@red-40: #e54e4e40; @dark-red: #3c0000; @dark-red-10: #3c000010; @@ -55,11 +71,11 @@ @positive: #699969; @secondaryShadow: gold; @primaryAccent: #778899; -@hope: #ffe760; -@fear: #0032b1; +// @hope: #ffe760; +// @fear: #0032b1; @fearBackgroundStart: rgba(15, 15, 97, 0.6); @fearBackgroundEnd: rgba(0, 0, 255, 0.6); -@critical: #430070; +// @critical: #430070; @criticalBackgroundStart: rgba(37, 8, 37, 0.6); @criticalBackgroundEnd: rgba(128, 0, 128, 0.6); @primary-color-fear: rgba(9, 71, 179, 0.75); diff --git a/templates/ui/chat/chat-message.hbs b/templates/ui/chat/chat-message.hbs index 4132e495..c418229d 100644 --- a/templates/ui/chat/chat-message.hbs +++ b/templates/ui/chat/chat-message.hbs @@ -1,5 +1,5 @@
  • + {{#if borderColor}}style="border-color:{{borderColor}}"{{/if}}>{{log @root}}
    diff --git a/templates/ui/chat/duality-roll-temp.hbs b/templates/ui/chat/duality-roll-temp.hbs new file mode 100644 index 00000000..93635f12 --- /dev/null +++ b/templates/ui/chat/duality-roll-temp.hbs @@ -0,0 +1,176 @@ +
    + {{!-- Roll Start --}} +
    +
    Finesse Check
    +
    +
    + 18 + with hope +
    + difficulty 15 +
    +
    +
    Formula
    +
    +
    +
    +
    +
    + +
    12
    +
    +
    + +
    +
    +
    +
    + +
    6
    +
    +
    +
    +
    + 1d12 + 1d12 + 0 +
    +
    +
    +
    +
    + {{!-- Roll End --}} + {{!-- Damage Start --}} +
    +
    Damage
    +
    +
    +
    Hit Points: 10
    +
    Stress: 10
    +
    +
    +
    +
    +
    +
    + + Hit Points
    Total: 10
    +
    + +
    +
    +
    4
    +
    +
    +
    +
    +
    +
    +
    6
    +
    +
    + +
    +
    +
    4
    +
    +
    +
    +
    +
    +
    +
    6
    +
    +
    + +
    +
    +
    4
    +
    +
    +
    +
    +
    +
    +
    6
    +
    +
    +
    +
    + + Stress
    Total: 10
    +
    +
    +
    +
    4
    +
    +
    +
    +
    +
    +
    +
    6
    +
    +
    +
    +
    +
    +
    +
    + {{!-- Damage End --}} + {{!-- Target Start --}} +
    +
    Target
    +
    +
    +
    2 Hits
    +
    2 Miss
    +
    +
    +
    +
    +
    +
    +
    +
    Hit
    Current
    +
    +
    +
    Reaction Roll All Targets
    +
    + +
    +
    Archer Squadron
    +
    Hit
    +
    + +
    +
    + +
    +
    Conscript
    +
    Miss
    +
    + +
    +
    + +
    +
    Elite Soldier
    +
    Hit
    +
    + +
    +
    + +
    +
    Knight of the Realm
    +
    Miss
    +
    + +
    +
    +
    +
    +
    + {{!-- Target End --}} +
    +
    +{{!-- Button Start --}} +
    + + +
    +{{!-- Button End --}} \ No newline at end of file diff --git a/templates/ui/chat/duality-roll.hbs b/templates/ui/chat/duality-roll.hbs index 259e0316..0b541fce 100644 --- a/templates/ui/chat/duality-roll.hbs +++ b/templates/ui/chat/duality-roll.hbs @@ -201,10 +201,6 @@ {{/if}} {{/if}} - {{!-- {{else}} - {{#if hasHealing}} - - {{/if}} --}} {{/if}} {{#if hasEffect}}