mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-19 00:19:03 +01:00
* Update the death move descriptions * Renamed to DhDeathMove * Partial Fate Roll creation and Fate Roll Enricher (/fr) * Hide stuff not required for fate roll * Hide formula display; code removal; start to add Fear die as a choice for Fate roll * Fix chat message display; start moving towards supporting Hope and Fear for Fate roll * /fr now supports type=X, where X is Hope or Fear, if not supplied, defaults to Hope * Fixed DSN rolling; removed console messages; chat message clean up * Add localisation entry * Trying to sort out the button for the fate roll * Style the fate message based on Hope/Fear colors. * Partial improvement on the fate template buttons - chat display is correct, but the roll dialog is wrong * Fixed enricher button; localization fixes; debug cleanup * Error checking for the fate type parsing in all potential problem locations * Added localization for the fate type parsing error * Start on Avoid Death death move * debug stuff * More death moves setup/testing * Avoid fate scars update in place, with scars migrating to an integer value. * Remove some debug code; add Blaze Of Glory shell * Start on Guaranteed Critical for Blaze of Glory * Partial implementation of Blaze of Glory * Dice/critical checks/tests * Moved detection of guaranteed critical to before the roll dialog is created, so it can be skipped; removed debug code * Remove debug * Update Blaze of Glory effect description * Risk It All - critical roll - clear all stress and HP * Auto remove all marked stress and HP for Risk It All, if Hope value rolled covers it. * Display the Death Move description in chat expanded if the appropriate config setting is on * Made the Blaze of Glory ActiveEffect image use configured version * Update the current Hope value if the scar value change affects it * Scars management in the Character details editor * Separate less file for the Death Moves instead of reusing Downtime * Added result messages to the Death Move chat output and removed debug statements * Some localization, style and smaller changes * Fixed RiskItAll resource handling method * Risk It All success chat message start * [Add] Hope/Scar Interplay (#1531) * Migrated character.maxHope to homebrew settings * Added a visual for scars * . * . * Pass the hope value in the button data; skeleton risk it all dialog to fill out. * Start on risk it dialog * More dialog stuff * Remove non-existent field * Dialog templating and logic * . * Ensure effect is Applied to Actor (#1547) Co-authored-by: Chris Ryan <chrisr@blackhole> * [Fix] 1548 - Standalone Item Add Actions (#1549) * Fixed so that items not on an actor don't error out on creating actions * Fixed deletion of items error * Raised version * Fix the sliders to do the correct maximums * Pass the actor id through the button; fix /dr and /fr flavor text * Remove debug message --------- Co-authored-by: Chris Ryan <chrisr@blackhole> Co-authored-by: WBHarry <williambjrklund@gmail.com> Co-authored-by: WBHarry <89362246+WBHarry@users.noreply.github.com>
596 lines
16 KiB
Text
596 lines
16 KiB
Text
@import '../../utils/colors.less';
|
|
@import '../../utils/fonts.less';
|
|
@import '../../utils/spacing.less';
|
|
|
|
.daggerheart.chat-sidebar.theme-light,
|
|
#interface.theme-light {
|
|
.chat-log {
|
|
--text-color: @dark-blue;
|
|
--bg-color: @dark-blue-40;
|
|
|
|
.chat-message {
|
|
.roll-formula {
|
|
background: @dark-15;
|
|
color: @dark;
|
|
}
|
|
|
|
&.fate,
|
|
&.duality {
|
|
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
|
|
|
.message-content {
|
|
color: @beige;
|
|
}
|
|
|
|
.roll-formula {
|
|
background: @dark-15;
|
|
color: @dark;
|
|
}
|
|
|
|
.message-header {
|
|
.message-sub-header-container {
|
|
color: @beige;
|
|
h4 {
|
|
color: @golden;
|
|
}
|
|
}
|
|
.message-header-metadata {
|
|
.message-metadata {
|
|
color: @beige;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.hope {
|
|
--text-color: @golden;
|
|
--bg-color: @golden-40;
|
|
.message-header,
|
|
.message-content {
|
|
background-color: @golden-bg;
|
|
}
|
|
.roll-formula {
|
|
background: var(--bg-color);
|
|
color: var(--text-color);
|
|
}
|
|
}
|
|
|
|
&.fear {
|
|
--text-color: @chat-blue;
|
|
--bg-color: @chat-blue-40;
|
|
.message-header,
|
|
.message-content {
|
|
background-color: @chat-blue-bg;
|
|
}
|
|
.roll-formula {
|
|
background: var(--bg-color);
|
|
color: var(--text-color);
|
|
}
|
|
}
|
|
|
|
&.fate,
|
|
&.critical {
|
|
--text-color: @chat-purple;
|
|
--bg-color: @chat-purple-40;
|
|
.message-header,
|
|
.message-content {
|
|
background-color: @chat-purple-bg;
|
|
}
|
|
.roll-formula {
|
|
background: var(--bg-color);
|
|
color: var(--text-color);
|
|
}
|
|
}
|
|
}
|
|
|
|
&:not(.duality .fate) {
|
|
.font-20 {
|
|
color: @dark;
|
|
}
|
|
|
|
.roll-die {
|
|
color: @beige;
|
|
}
|
|
|
|
fieldset {
|
|
color: @dark-blue;
|
|
border-color: @dark-blue;
|
|
|
|
legend {
|
|
color: @dark-blue;
|
|
}
|
|
}
|
|
.chat-roll {
|
|
.roll-part-header {
|
|
color: @dark-blue;
|
|
|
|
span::before,
|
|
span::after {
|
|
color: @dark-blue;
|
|
}
|
|
|
|
&:before {
|
|
background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, @dark-blue 100%);
|
|
}
|
|
|
|
&:after {
|
|
background: linear-gradient(90deg, @dark-blue 0%, rgba(0, 0, 0, 0) 100%);
|
|
}
|
|
}
|
|
|
|
.roll-part-content {
|
|
&.dice-result {
|
|
color: @dark;
|
|
}
|
|
.roll-result-container {
|
|
color: @dark-blue;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.daggerheart.chat {
|
|
&.resource-roll {
|
|
.reroll-message {
|
|
color: @beige;
|
|
text-align: center;
|
|
font-size: var(--font-size-18);
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
|
|
button {
|
|
&.inner-button {
|
|
--button-size: 1.25rem;
|
|
--input-height: 1.25rem;
|
|
padding: 0 0.25rem;
|
|
margin: 5px 1px -4px auto;
|
|
&.inner-button-right {
|
|
margin-left: auto;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.vtt.stream.system-daggerheart .chat-sidebar,
|
|
.daggerheart,
|
|
#chat-notifications {
|
|
.chat-message {
|
|
--text-color: @golden;
|
|
--bg-color: @golden-40;
|
|
|
|
[data-use-perm='false'] {
|
|
pointer-events: none;
|
|
border-color: transparent;
|
|
}
|
|
[data-view-perm='false'] {
|
|
&[data-perm-hidden='true'],
|
|
> * {
|
|
display: none;
|
|
}
|
|
&::after {
|
|
content: '??';
|
|
}
|
|
}
|
|
|
|
&.fate {
|
|
|
|
&.hope {
|
|
--text-color: @golden;
|
|
--bg-color: @golden-40;
|
|
.message-header,
|
|
.message-content {
|
|
background-color: @golden-bg;
|
|
}
|
|
}
|
|
|
|
&.fear {
|
|
--text-color: @chat-blue;
|
|
--bg-color: @chat-blue-40;
|
|
.message-header,
|
|
.message-content {
|
|
background-color: @chat-blue-bg;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
&.duality {
|
|
&.hope {
|
|
--text-color: @golden;
|
|
--bg-color: @golden-40;
|
|
.message-header,
|
|
.message-content {
|
|
background-color: @golden-bg;
|
|
}
|
|
}
|
|
|
|
&.fear {
|
|
--text-color: @chat-blue;
|
|
--bg-color: @chat-blue-40;
|
|
.message-header,
|
|
.message-content {
|
|
background-color: @chat-blue-bg;
|
|
}
|
|
}
|
|
|
|
&.critical {
|
|
--text-color: @chat-purple;
|
|
--bg-color: @chat-purple-40;
|
|
.message-header,
|
|
.message-content {
|
|
background-color: @chat-purple-bg;
|
|
}
|
|
}
|
|
}
|
|
|
|
.chat-roll {
|
|
font-size: var(--font-size-12);
|
|
padding: 0 20px;
|
|
|
|
> .roll-part-header {
|
|
font-size: var(--font-size-14);
|
|
}
|
|
|
|
.roll-part-header {
|
|
display: grid;
|
|
grid-template-columns: 1fr auto 1fr;
|
|
align-items: center;
|
|
color: @beige;
|
|
margin: 10px 0;
|
|
|
|
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;
|
|
|
|
.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-die {
|
|
position: relative;
|
|
|
|
.dice-rerolled {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
font-size: var(--font-size-10);
|
|
z-index: 2;
|
|
filter: drop-shadow(0 0 3px black);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.roll-result-container {
|
|
display: flex;
|
|
justify-content: center;
|
|
color: var(--text-color);
|
|
font-weight: 700;
|
|
font-family: 'Cinzel', sans-serif;
|
|
line-height: 0.75;
|
|
|
|
.roll-result-value {
|
|
font-size: var(--font-size-24);
|
|
}
|
|
|
|
.roll-result-desc {
|
|
font-size: var(--font-size-16);
|
|
margin-top: 2px;
|
|
|
|
span {
|
|
margin-left: 10px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.roll-dice {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 5px;
|
|
font-weight: 700;
|
|
font-family: 'Cinzel', sans-serif;
|
|
flex-wrap: wrap;
|
|
|
|
.roll-die {
|
|
display: grid;
|
|
grid-template-areas:
|
|
'. a a'
|
|
'c b b';
|
|
gap: 3px;
|
|
|
|
.reroll-button:hover {
|
|
filter: drop-shadow(0 0 3px @golden);
|
|
}
|
|
|
|
label {
|
|
text-align: center;
|
|
height: var(--font-size-12);
|
|
grid-area: a;
|
|
}
|
|
|
|
> div {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 5px;
|
|
grid-area: b;
|
|
}
|
|
|
|
&.has-plus:before {
|
|
content: '+';
|
|
font-size: var(--font-size-20);
|
|
grid-area: c;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 15px;
|
|
}
|
|
}
|
|
}
|
|
|
|
fieldset {
|
|
display: flex;
|
|
flex-direction: column;
|
|
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;
|
|
font-size: var(--font-size-14);
|
|
color: var(--text-color);
|
|
|
|
.button-target-selection {
|
|
flex: 1;
|
|
text-align: center;
|
|
margin: -5px 0;
|
|
}
|
|
|
|
.button-target-selection:hover,
|
|
.target-selected {
|
|
font-weight: bold;
|
|
text-shadow: 0px 0px 8px var(--text-color);
|
|
}
|
|
}
|
|
}
|
|
|
|
i {
|
|
text-align: center;
|
|
}
|
|
|
|
.roll-target {
|
|
display: flex;
|
|
width: 100%;
|
|
gap: 10px;
|
|
align-items: center;
|
|
border-radius: 3px;
|
|
|
|
&:hover {
|
|
background-color: rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.target-img {
|
|
border-radius: 50%;
|
|
width: 40px;
|
|
height: 40px;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.target-data {
|
|
flex: 1;
|
|
}
|
|
|
|
.target-save {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 22px;
|
|
height: 22px;
|
|
&:hover > i {
|
|
scale: 1.2;
|
|
}
|
|
|
|
i {
|
|
&.fa-check {
|
|
color: @green;
|
|
}
|
|
&.fa-xmark {
|
|
color: @medium-red;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.roll-formula {
|
|
background-color: var(--bg-color);
|
|
color: var(--text-color);
|
|
border-radius: 4px;
|
|
padding: 3px 5px;
|
|
width: fit-content;
|
|
margin: auto;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.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;
|
|
|
|
&.is-miss {
|
|
color: @medium-red;
|
|
background-color: @medium-red-10;
|
|
}
|
|
}
|
|
|
|
.target-hit-status {
|
|
width: fit-content;
|
|
margin-top: 2px;
|
|
}
|
|
|
|
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;
|
|
margin: 0;
|
|
|
|
.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;
|
|
}
|
|
|
|
.damage-section[data-action='expandRoll'] {
|
|
.on-reduced {
|
|
.wrapper {
|
|
flex-wrap: wrap;
|
|
gap: 10px 5px;
|
|
}
|
|
|
|
.roll-formula {
|
|
font-size: var(--font-size-16);
|
|
}
|
|
}
|
|
}
|
|
|
|
.target-section {
|
|
.roll-part-content {
|
|
gap: 10px;
|
|
}
|
|
|
|
.roll-part-extra {
|
|
position: relative;
|
|
|
|
.target-pending-saves {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 25px;
|
|
width: 25px;
|
|
&:not(:first-child) {
|
|
position: absolute;
|
|
bottom: 0;
|
|
right: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.roll-buttons {
|
|
display: flex;
|
|
gap: 5px;
|
|
margin-top: 8px;
|
|
button {
|
|
height: 32px;
|
|
flex: 1;
|
|
}
|
|
}
|
|
|
|
.font-20 {
|
|
font-size: var(--font-size-20);
|
|
}
|
|
|
|
.dice-roll .dice-tooltip fieldset {
|
|
margin-bottom: 5px;
|
|
}
|
|
}
|
|
}
|