} config
+ * @param {object} config
+ * @param {Event} config.event
+ * @param {string} config.title
+ * @param {object} config.roll
+ * @param {number} config.roll.modifier
+ * @param {boolean} [config.roll.simple=false]
+ * @param {string} [config.roll.type]
+ * @param {number} [config.roll.difficulty]
+ * @param {boolean} [config.hasDamage]
+ * @param {boolean} [config.hasEffect]
+ * @param {object} [config.chatMessage]
+ * @param {string} config.chatMessage.template
+ * @param {boolean} [config.chatMessage.mute]
+ * @param {object} [config.targets]
+ * @param {object} [config.costs]
*/
async diceRoll(config) {
config.source = { ...(config.source ?? {}), actor: this.uuid };
@@ -549,7 +563,7 @@ export default class DhpActor extends Actor {
headerTitle: game.i18n.format('DAGGERHEART.UI.Chat.dualityRoll.abilityCheckTitle', {
ability: abilityLabel
}),
- effects: await game.system.api.data.actions.actionsTypes.base.getActionRelevantEffects(this),
+ effects: await game.system.api.data.actions.actionsTypes.base.getEffects(this),
roll: {
trait: trait,
type: 'trait'
diff --git a/module/documents/chatMessage.mjs b/module/documents/chatMessage.mjs
index b555dfca..480f8c69 100644
--- a/module/documents/chatMessage.mjs
+++ b/module/documents/chatMessage.mjs
@@ -167,7 +167,7 @@ export default class DhpChatMessage extends foundry.documents.ChatMessage {
if (this.system.action) {
const actor = await foundry.utils.fromUuid(config.source.actor);
const item = actor?.items.get(config.source.item) ?? null;
- config.effects = await game.system.api.data.actions.actionsTypes.base.getActionRelevantEffects(actor, item);
+ config.effects = await game.system.api.data.actions.actionsTypes.base.getEffects(actor, item);
await this.system.action.workflow.get('damage')?.execute(config, this._id, true);
}
}
diff --git a/module/enrichers/FateRollEnricher.mjs b/module/enrichers/FateRollEnricher.mjs
index 8513ed94..c82bbcb2 100644
--- a/module/enrichers/FateRollEnricher.mjs
+++ b/module/enrichers/FateRollEnricher.mjs
@@ -49,7 +49,7 @@ export const renderFateButton = async event => {
const fateTypeData = getFateTypeData(button.dataset?.fatetype);
if (!fateTypeData) ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.fateTypeParsing'));
- const { value: fateType } = fateTypeData;
+ const { value: fateType, label: fateTypeLabel } = fateTypeData;
await enrichedFateRoll(
{
diff --git a/module/helpers/utils.mjs b/module/helpers/utils.mjs
index 6467edd7..90a5c29d 100644
--- a/module/helpers/utils.mjs
+++ b/module/helpers/utils.mjs
@@ -318,7 +318,7 @@ export function getDocFromElementSync(element) {
const target = element.closest('[data-item-uuid]');
try {
return foundry.utils.fromUuidSync(target.dataset.itemUuid) ?? null;
- } catch {
+ } catch (_) {
return null;
}
}
@@ -377,7 +377,7 @@ export const itemAbleRollParse = (value, actor, item) => {
try {
return Roll.replaceFormulaData(slicedValue, rollData);
- } catch {
+ } catch (_) {
return '';
}
};
@@ -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/module/systemRegistration/handlebars.mjs b/module/systemRegistration/handlebars.mjs
index bf315358..1b08e0ad 100644
--- a/module/systemRegistration/handlebars.mjs
+++ b/module/systemRegistration/handlebars.mjs
@@ -50,7 +50,6 @@ export const preloadHandlebarsTemplates = async function () {
'systems/daggerheart/templates/ui/chat/parts/target-part.hbs',
'systems/daggerheart/templates/ui/chat/parts/button-part.hbs',
'systems/daggerheart/templates/ui/itemBrowser/itemContainer.hbs',
- 'systems/daggerheart/templates/ui/countdowns/parts/countdowns.hbs',
'systems/daggerheart/templates/scene/dh-config.hbs',
'systems/daggerheart/templates/settings/appearance-settings/diceSoNiceTab.hbs',
'systems/daggerheart/templates/sheets/activeEffect/typeChanges/armorChange.hbs'
diff --git a/module/systemRegistration/migrations.mjs b/module/systemRegistration/migrations.mjs
index ec546c92..b718a127 100644
--- a/module/systemRegistration/migrations.mjs
+++ b/module/systemRegistration/migrations.mjs
@@ -178,8 +178,8 @@ export async function runMigrations() {
await countdownSettings.updateSource({
countdowns: {
- ...getCountdowns(countdownSettings.narrative, 'narrative'),
- ...getCountdowns(countdownSettings.encounter, 'encounter')
+ ...getCountdowns(countdownSettings.narrative, CONFIG.DH.GENERAL.countdownBaseTypes.narrative.id),
+ ...getCountdowns(countdownSettings.encounter, CONFIG.DH.GENERAL.countdownBaseTypes.encounter.id)
}
});
await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Countdowns, countdownSettings);
diff --git a/module/systemRegistration/settings.mjs b/module/systemRegistration/settings.mjs
index 1a985274..a66323c7 100644
--- a/module/systemRegistration/settings.mjs
+++ b/module/systemRegistration/settings.mjs
@@ -199,10 +199,7 @@ const registerNonConfigSettings = () => {
game.settings.register(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Countdowns, {
scope: 'world',
config: false,
- type: DhCountdowns,
- onChange: value => {
- value.handleChange();
- }
+ type: DhCountdowns
});
game.settings.register(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.CompendiumBrowserSettings, {
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/actor-sheet-shared.less b/styles/less/sheets/actors/actor-sheet-shared.less
index 89617103..b3eb0469 100644
--- a/styles/less/sheets/actors/actor-sheet-shared.less
+++ b/styles/less/sheets/actors/actor-sheet-shared.less
@@ -37,10 +37,6 @@
color: @color-text-subtle;
}
- .window-header > .attribution-header-label {
- margin-right: var(--spacer-4);
- }
-
.tab.inventory {
.gold-section {
display: grid;
diff --git a/styles/less/sheets/actors/adversary/header.less b/styles/less/sheets/actors/adversary/header.less
index 549a219d..1e5e4fa5 100644
--- a/styles/less/sheets/actors/adversary/header.less
+++ b/styles/less/sheets/actors/adversary/header.less
@@ -3,21 +3,16 @@
.application.sheet.daggerheart.actor.dh-style.adversary {
.adversary-header-sheet {
+ padding: 0 15px;
padding-top: var(--header-height);
width: 100%;
- > *:not(line-div, .tab-navigation) {
- padding-left: 15px;
- padding-right: 15px;
- }
-
.name-row {
display: flex;
gap: 5px;
align-items: center;
justify-content: space-between;
- padding-top: var(--spacer-4);
- padding-bottom: var(--spacer-4);
+ padding: 8px 0;
flex: 1;
h1 {
@@ -39,8 +34,8 @@
.tags {
display: flex;
- gap: 8px;
- padding-bottom: var(--spacer-12);
+ gap: 10px;
+ padding-bottom: 8px;
.tag {
display: flex;
@@ -49,7 +44,8 @@
justify-content: center;
align-items: center;
padding: 3px 5px;
- font: var(--font-size-12) @font-body;
+ font-size: var(--font-size-12);
+ font: @font-body;
background: light-dark(@dark-15, @beige-15);
border: 1px solid light-dark(@dark, @beige);
@@ -68,16 +64,8 @@
.adversary-info {
display: flex;
flex-direction: column;
- gap: var(--spacer-8);
- padding-top: var(--spacer-12);
- padding-bottom: var(--spacer-12);
- }
-
- .tab-navigation {
- margin-top: 0;
- button[data-action="openSettings"] {
- margin-right: 12px;
- }
+ gap: 12px;
+ padding: 16px 0;
}
}
}
diff --git a/styles/less/ui/countdown/countdown.less b/styles/less/ui/countdown/countdown.less
index 96e01ffd..63e539ba 100644
--- a/styles/less/ui/countdown/countdown.less
+++ b/styles/less/ui/countdown/countdown.less
@@ -22,6 +22,7 @@
pointer-events: all;
align-self: flex-end;
transition: 0.3s right ease-in-out;
+
display: flex;
flex-direction: column;
@@ -64,31 +65,12 @@
padding: 0 0.5rem;
overflow: hidden;
font-size: var(--font-size-13);
-
.window-title {
font-family: @font-body;
- }
-
-
- .header-type-toggles {
flex: 1;
- display: flex;
- align-items: center;
- gap: 4px;
-
- .header-type {
- flex: 1;
- border: 1px solid @beige;
- border-radius: 12px;
- padding: 2px 4px;
- text-align: center;
- background-color: @dark-blue;
- color: @beige;
-
- &.inactive {
- opacity: 0.4;
- }
- }
+ }
+ .header-control + .header-control {
+ margin-left: 8px;
}
}
@@ -100,23 +82,9 @@
overflow: auto;
max-height: 312px;
- .countdown-category-container {
- display: flex;
- flex-direction: column;
- gap: 8px;
-
- &.hidden {
- display: none;
- }
- }
-
.countdown-container {
display: flex;
width: 100%;
- border-radius: 6px;
- background: linear-gradient(-45deg, transparent 30%, light-dark(@dark-blue-40, @golden-40) 35%, transparent 40%);
- background-size: 300%;
- background-position-x: 100%;
&.icon-only {
gap: 8px;
@@ -137,7 +105,6 @@
display: flex;
align-items: center;
gap: 16px;
- border-radius: 6px;
img {
width: 2.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/system.json b/system.json
index 08693074..f5e13a62 100644
--- a/system.json
+++ b/system.json
@@ -2,7 +2,7 @@
"id": "daggerheart",
"title": "Daggerheart",
"description": "An unofficial implementation of the Daggerheart system",
- "version": "2.4.0",
+ "version": "2.3.4",
"compatibility": {
"minimum": "14.364",
"verified": "14.364",
@@ -10,7 +10,7 @@
},
"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.4.0/system.zip",
+ "download": "https://github.com/Foundryborne/daggerheart/releases/download/2.3.4/system.zip",
"authors": [
{
"name": "WBHarry"
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|}}
-
-
- {{group.label}}
-
-
-
-
-
- {{#each group.features as |feature|}}
- {{> 'daggerheart.inventory-item'
- item=feature
- type='feature'
- actorType=@root.document.type
- hideTags=true
- hideContextMenu=true
- hideResources=true
- showActions=false
- hideTooltip=true
- }}
- {{/each}}
-
-
- {{/each}}
-
- {{localize "DAGGERHEART.GENERAL.dropFeaturesHere"}}
-
+
+ {{localize "DOCUMENT.New" type=(localize "TYPES.Item.feature")}}
+
+
+ {{localize tabs.features.label}}
+
+ {{#each @root.features as |feature|}}
+
+
+
+ {{feature.name}}
+
+
+
+ {{/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|}}
-
-
- {{group.label}}
-
-
-
-
-
- {{#each group.features as |feature|}}
- {{> 'daggerheart.inventory-item'
- item=feature
- type='feature'
- actorType=@root.document.type
- hideTags=true
- hideContextMenu=true
- hideResources=true
- showActions=false
- hideTooltip=true
- }}
- {{/each}}
-
-
- {{/each}}
-
- {{localize "DAGGERHEART.GENERAL.dropFeaturesHere"}}
-
+
+ {{localize "DOCUMENT.New" type=(localize "TYPES.Item.feature")}}
+
+
+ {{localize tabs.features.label}}
+
+ {{#each @root.features as |feature|}}
+
+
+
+ {{feature.name}}
+
+
+
+ {{/each}}
+
+
\ 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|}}
-
-
- {{group.label}}
-
-
-
-
-
- {{#each group.features as |feature|}}
- {{> 'daggerheart.inventory-item'
- item=feature
- type='feature'
- actorType=@root.document.type
- hideTags=true
- hideContextMenu=true
- hideResources=true
- showActions=false
- hideTooltip=true
- }}
- {{/each}}
-
-
- {{/each}}
-
- {{localize "DAGGERHEART.GENERAL.dropFeaturesHere"}}
-
+
+ {{localize "DOCUMENT.New" type=(localize "TYPES.Item.feature")}}
+
+
+ {{localize tabs.features.label}}
+
+ {{#each @root.features as |feature|}}
+
+
+
+ {{feature.name}}
+
+
+
+ {{/each}}
+
+
+ {{localize "DAGGERHEART.GENERAL.dropFeaturesHere"}}
+
+
\ No newline at end of file
diff --git a/templates/sheets/global/partials/domain-card-item.hbs b/templates/sheets/global/partials/domain-card-item.hbs
index ca584e57..54e44e64 100644
--- a/templates/sheets/global/partials/domain-card-item.hbs
+++ b/templates/sheets/global/partials/domain-card-item.hbs
@@ -1,4 +1,4 @@
-
+
{{item.system.recallCost}}
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:
>