'
+ actor: currentActor?.name
})
);
}
diff --git a/module/dice/dualityRoll.mjs b/module/dice/dualityRoll.mjs
index e2d967a3..1cfed094 100644
--- a/module/dice/dualityRoll.mjs
+++ b/module/dice/dualityRoll.mjs
@@ -1,6 +1,6 @@
import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
import D20Roll from './d20Roll.mjs';
-import { parseRallyDice, setDiceSoNiceForDualityRoll, shouldUseHopeFearAutomation } from '../helpers/utils.mjs';
+import { parseRallyDice, setDiceSoNiceForDualityRoll } from '../helpers/utils.mjs';
import { getDiceSoNicePresets } from '../config/generalConfig.mjs';
import { updateResourcesForDualityReroll } from './helpers.mjs';
@@ -312,9 +312,11 @@ export default class DualityRoll extends D20Roll {
}
static async addDualityResourceUpdates(config) {
+ const automationSettings = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Automation);
+ const hopeFearAutomation = automationSettings.hopeFear;
if (
!config.source?.actor ||
- !shouldUseHopeFearAutomation() ||
+ (game.user.isGM ? !hopeFearAutomation.gm : !hopeFearAutomation.players) ||
config.actionType === 'reaction' ||
config.skips?.resources
)
@@ -332,15 +334,15 @@ export default class DualityRoll extends D20Roll {
const fear =
(config.roll.result.duality === -1 ? 1 : 0) - (config.rerolledRoll.result.duality === -1 ? 1 : 0);
- if (hope !== 0) updates.push({ key: 'hope', value: hope, enabled: true });
- if (stress !== 0) updates.push({ key: 'stress', value: -1 * stress, enabled: true });
- if (fear !== 0) updates.push({ key: 'fear', value: fear, enabled: true });
+ if (hope !== 0) updates.push({ key: 'hope', value: hope, total: -1 * hope, enabled: true });
+ if (stress !== 0) updates.push({ key: 'stress', value: -1 * stress, total: stress, enabled: true });
+ if (fear !== 0) updates.push({ key: 'fear', value: fear, total: -1 * fear, enabled: true });
}
} else {
if (config.roll.isCritical || config.roll.result.duality === 1)
- updates.push({ key: 'hope', value: 1, enabled: true });
- if (config.roll.isCritical) updates.push({ key: 'stress', value: -1, enabled: true });
- if (config.roll.result.duality === -1) updates.push({ key: 'fear', value: 1, enabled: true });
+ updates.push({ key: 'hope', value: 1, total: -1, enabled: true });
+ if (config.roll.isCritical) updates.push({ key: 'stress', value: -1, total: 1, enabled: true });
+ if (config.roll.result.duality === -1) updates.push({ key: 'fear', value: 1, total: -1, enabled: true });
}
if (updates.length) {
diff --git a/module/dice/helpers.mjs b/module/dice/helpers.mjs
index 5f8a7bbb..35adb8b7 100644
--- a/module/dice/helpers.mjs
+++ b/module/dice/helpers.mjs
@@ -9,9 +9,9 @@ export function updateResourcesForDualityReroll(oldDuality, newDuality, actor) {
const stress = (newDuality === 0 ? 1 : 0) - (oldDuality === 0 ? 1 : 0);
const fear = (newDuality === -1 ? 1 : 0) - (oldDuality === -1 ? 1 : 0);
- if (hope !== 0) updates.push({ key: 'hope', value: hope, enabled: true });
- if (stress !== 0) updates.push({ key: 'stress', value: -1 * stress, enabled: true });
- if (fear !== 0) updates.push({ key: 'fear', value: fear, enabled: true });
+ if (hope !== 0) updates.push({ key: 'hope', value: hope, total: -1 * hope, enabled: true });
+ if (stress !== 0) updates.push({ key: 'stress', value: -1 * stress, total: stress, enabled: true });
+ if (fear !== 0) updates.push({ key: 'fear', value: fear, total: -1 * fear, enabled: true });
const resourceUpdates = new ResourceUpdateMap(actor);
resourceUpdates.addResources(updates);
diff --git a/module/helpers/utils.mjs b/module/helpers/utils.mjs
index 6467edd7..3c5192be 100644
--- a/module/helpers/utils.mjs
+++ b/module/helpers/utils.mjs
@@ -885,8 +885,3 @@ export async function triggerChatRollFx(rolls, options = { whisper: false, blind
foundry.audio.AudioHelper.play({ src: CONFIG.sounds.dice });
}
}
-
-export function shouldUseHopeFearAutomation(options = { gmAsPlayer: true }) {
- const { hopeFear } = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Automation);
- return (!game.user.isGM || options.gmAsPlayer) ? hopeFear.players : hopeFear.gm;
-}
\ No newline at end of file
diff --git a/styles/less/dialog/tag-team-dialog/initialization.less b/styles/less/dialog/tag-team-dialog/initialization.less
index e79ed65c..d6f7ad29 100644
--- a/styles/less/dialog/tag-team-dialog/initialization.less
+++ b/styles/less/dialog/tag-team-dialog/initialization.less
@@ -88,21 +88,9 @@
grid-template-columns: 1fr 1fr;
gap: 8px;
- .inactive {
+ &.inactive {
opacity: 0.4;
}
-
- .initiator-cost-fields {
- display: flex;
- flex-direction: column;
- align-items: flex-start;
-
- .initiator-cost-inputs {
- display: grid;
- grid-template-columns: auto 1fr;
- align-items: center;
- }
- }
}
footer {
diff --git a/styles/less/sheets/actors/adversary/features.less b/styles/less/sheets/actors/adversary/features.less
index f5bbd8aa..c7731df7 100644
--- a/styles/less/sheets/actors/adversary/features.less
+++ b/styles/less/sheets/actors/adversary/features.less
@@ -16,5 +16,15 @@
scrollbar-gutter: stable;
.with-scroll-shadows();
}
+ > button {
+ --button-size: 1.75rem;
+ width: 1.75rem;
+ position: absolute;
+ inset: auto 16px 0 auto;
+ box-shadow: 0 0 5px @light-black;
+ }
+ &:has(> button) .feature-section {
+ padding-bottom: calc(1px + 1.75rem);
+ }
}
}
diff --git a/styles/less/sheets/actors/environment/features.less b/styles/less/sheets/actors/environment/features.less
index 295636a7..a8fff527 100644
--- a/styles/less/sheets/actors/environment/features.less
+++ b/styles/less/sheets/actors/environment/features.less
@@ -14,5 +14,15 @@
scrollbar-gutter: stable;
.with-scroll-shadows();
}
+ > button {
+ --button-size: 1.75rem;
+ width: 1.75rem;
+ position: absolute;
+ inset: auto 16px 0 auto;
+ box-shadow: 0 0 5px @light-black;
+ }
+ &:has(> button) .feature-section {
+ padding-bottom: calc(1px + 1.75rem);
+ }
}
}
diff --git a/styles/less/ui/game-pause/game-pause.less b/styles/less/ui/game-pause/game-pause.less
index daf9a1e4..60d08bec 100644
--- a/styles/less/ui/game-pause/game-pause.less
+++ b/styles/less/ui/game-pause/game-pause.less
@@ -1,34 +1,23 @@
@import '../../utils/mixin.less';
#pause.dh-style {
- animation: none;
-
- img {
- width: 125px;
- height: 125px;
- }
-
figcaption {
- --base-shadow: drop-shadow(2px 2px 2px black);
position: absolute;
margin-top: 24px;
animation: pause-pulse 3s ease-in-out infinite;
- font-size: var(--font-size-30);
- letter-spacing: 0.18em;
- filter: var(--base-shadow);
}
@keyframes pause-pulse {
0% {
- filter: var(--base-shadow) drop-shadow(0 0 5px @secondary-blue);
+ filter: drop-shadow(0 0 5px @secondary-blue);
}
50% {
- filter: var(--base-shadow) drop-shadow(0 0 5px @golden-secondary);
+ filter: drop-shadow(0 0 5px @golden);
}
100% {
- filter: var(--base-shadow) drop-shadow(0 0 5px @secondary-blue);
+ filter: drop-shadow(0 0 5px @secondary-blue);
}
}
}
\ No newline at end of file
diff --git a/styles/less/utils/fonts.less b/styles/less/utils/fonts.less
index 72ee1a85..07da3389 100755
--- a/styles/less/utils/fonts.less
+++ b/styles/less/utils/fonts.less
@@ -10,7 +10,6 @@
--font-size-8: 0.5rem;
--font-size-9: 0.5625rem;
--font-size-22: 1.375rem;
- --font-size-30: 1.875rem;
}
@font-title: ~"var(--dh-font-title, 'Cinzel Decorative'), serif";
diff --git a/templates/dialogs/tagTeamDialog/initialization.hbs b/templates/dialogs/tagTeamDialog/initialization.hbs
index 40491e1b..0b92e68e 100644
--- a/templates/dialogs/tagTeamDialog/initialization.hbs
+++ b/templates/dialogs/tagTeamDialog/initialization.hbs
@@ -26,16 +26,11 @@
-
diff --git a/templates/sheets-settings/adversary-settings/features.hbs b/templates/sheets-settings/adversary-settings/features.hbs
index 1cab8cfe..2f2f5f47 100644
--- a/templates/sheets-settings/adversary-settings/features.hbs
+++ b/templates/sheets-settings/adversary-settings/features.hbs
@@ -3,31 +3,27 @@
data-tab='{{tabs.features.id}}'
data-group='{{tabs.features.group}}'
>
- {{#each featureGroups as |group|}}
-
- {{/each}}
-
- {{localize "DAGGERHEART.GENERAL.dropFeaturesHere"}}
-
+
+
\ No newline at end of file
diff --git a/templates/sheets-settings/environment-settings/features.hbs b/templates/sheets-settings/environment-settings/features.hbs
index 1cab8cfe..579fe74e 100644
--- a/templates/sheets-settings/environment-settings/features.hbs
+++ b/templates/sheets-settings/environment-settings/features.hbs
@@ -3,31 +3,24 @@
data-tab='{{tabs.features.id}}'
data-group='{{tabs.features.group}}'
>
- {{#each featureGroups as |group|}}
-
- {{/each}}
-
- {{localize "DAGGERHEART.GENERAL.dropFeaturesHere"}}
-
+
+
\ No newline at end of file
diff --git a/templates/sheets-settings/npc-settings/features.hbs b/templates/sheets-settings/npc-settings/features.hbs
index 1cab8cfe..2f2f5f47 100644
--- a/templates/sheets-settings/npc-settings/features.hbs
+++ b/templates/sheets-settings/npc-settings/features.hbs
@@ -3,31 +3,27 @@
data-tab='{{tabs.features.id}}'
data-group='{{tabs.features.group}}'
>
- {{#each featureGroups as |group|}}
-
- {{/each}}
-
- {{localize "DAGGERHEART.GENERAL.dropFeaturesHere"}}
-
+
+
\ No newline at end of file
diff --git a/templates/sheets/actors/adversary/features.hbs b/templates/sheets/actors/adversary/features.hbs
index 8430d454..685540e7 100644
--- a/templates/sheets/actors/adversary/features.hbs
+++ b/templates/sheets/actors/adversary/features.hbs
@@ -12,4 +12,9 @@
}}
{{/each}}
+ {{#if @root.editable}}
+
+ {{/if}}
diff --git a/templates/sheets/actors/environment/features.hbs b/templates/sheets/actors/environment/features.hbs
index 264d6bf5..1dbd4b94 100644
--- a/templates/sheets/actors/environment/features.hbs
+++ b/templates/sheets/actors/environment/features.hbs
@@ -14,5 +14,10 @@
showActions=@root.editable
}}
{{/each}}
-
+
+ {{#if @root.editable}}
+
+ {{/if}}
\ No newline at end of file
diff --git a/templates/sheets/global/partials/inventory-item-V2.hbs b/templates/sheets/global/partials/inventory-item-V2.hbs
index f7d22a30..523e9304 100644
--- a/templates/sheets/global/partials/inventory-item-V2.hbs
+++ b/templates/sheets/global/partials/inventory-item-V2.hbs
@@ -27,17 +27,17 @@ Parameters:
>