diff --git a/lang/en.json b/lang/en.json
index 7863fb67..99b6baeb 100755
--- a/lang/en.json
+++ b/lang/en.json
@@ -2245,7 +2245,7 @@
"hint": "A used armor slot normally reduces damage by one step. This value increases the number of steps damage is reduced by."
},
"magical": {
- "label": "Daamge Reduction: Only Magical",
+ "label": "Damage Reduction: Only Magical",
"hint": "Armor can only be used to reduce magical damage"
},
"maxArmorMarkedBonus": "Max Armor Used",
diff --git a/module/systemRegistration/migration-handlers/2_5_2.mjs b/module/systemRegistration/migration-handlers/2_5_2.mjs
index f6d9ea77..944f0eec 100644
--- a/module/systemRegistration/migration-handlers/2_5_2.mjs
+++ b/module/systemRegistration/migration-handlers/2_5_2.mjs
@@ -15,7 +15,7 @@ export class Migration_2_5_2 extends MigrationHandlerBase {
const srdEffect = srdItem?.effects.find(x => x.name === effectSource.name);
if (change.type === 'custom') {
const srdChange = srdEffect ? srdEffect.system.changes[i] : null;
- if (
+ if (srdChange &&
change.key === srdChange.key &&
change.value === srdChange.value &&
change.type !== srdChange.type
diff --git a/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json b/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json
index 23c1d966..039eafcf 100644
--- a/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json
+++ b/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json
@@ -391,7 +391,7 @@
"type": "effect",
"_id": "p6V4k4yMwJ1UPZMz",
"systemPath": "actions",
- "description": "
Spend a Fear to summon a @UUID[Compendium.daggerheart.adversaries.Actor.sRn4bqerfARvhgSV]{Minor Chaos Elemental} drawn to the echoes of violence and discord. They appear within Far range of a chosen PC and immediately take the spotlight.
What color does the grass turn as the elemental appears? How does the chaos warp insects and small wildlife within the grove?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [],
diff --git a/src/packs/environments/environment_Ambushers_uXZpebPR77YQ1oXI.json b/src/packs/environments/environment_Ambushers_uXZpebPR77YQ1oXI.json
index e8ba889a..582e7ec0 100644
--- a/src/packs/environments/environment_Ambushers_uXZpebPR77YQ1oXI.json
+++ b/src/packs/environments/environment_Ambushers_uXZpebPR77YQ1oXI.json
@@ -35,12 +35,9 @@
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
- "offsetX": 0,
- "offsetY": 0,
"fit": "contain",
"scaleX": 1,
"scaleY": 1,
- "rotation": 0,
"tint": "#ffffff",
"alphaThreshold": 0.75
},
@@ -91,7 +88,7 @@
"saturation": 0,
"contrast": 0
},
- "detectionModes": [],
+ "detectionModes": {},
"occludable": {
"radius": 0
},
@@ -117,7 +114,8 @@
"flags": {},
"randomImg": false,
"appendNumber": false,
- "prependAdjective": false
+ "prependAdjective": false,
+ "depth": 1
},
"items": [
{
@@ -156,7 +154,7 @@
"type": "effect",
"_id": "6DKa1Pm605HpChPd",
"systemPath": "actions",
- "description": "When a PC starts the ambush on unsuspecting adversaries, you lose 2 Fear and the first attack roll a PC makes has advantage.
What are the adversaries in the middle of doing when the ambush starts? How does this impact their approach to the fight?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [
diff --git a/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json b/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json
index 190d78b1..0df61deb 100644
--- a/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json
+++ b/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json
@@ -330,7 +330,7 @@
"type": "attack",
"_id": "r5JN5oFYL5DC6Qqw",
"systemPath": "actions",
- "description": "When an adversary is defeated, you can spend a Fear to have a stray attack from a siege weapon hit a point on the battlefield. All targets within Very Close range of that point must make an Agility Reaction Roll.
What debris is scattered by the attack? What is broken by the strike that can’t be easily mended?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [],
diff --git a/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json b/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json
index ef367d67..c65ede29 100644
--- a/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json
+++ b/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json
@@ -45,12 +45,9 @@
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
- "offsetX": 0,
- "offsetY": 0,
"fit": "contain",
"scaleX": 1,
"scaleY": 1,
- "rotation": 0,
"tint": "#ffffff",
"alphaThreshold": 0.75
},
@@ -101,7 +98,7 @@
"saturation": 0,
"contrast": 0
},
- "detectionModes": [],
+ "detectionModes": {},
"occludable": {
"radius": 0
},
@@ -127,7 +124,8 @@
"flags": {},
"randomImg": false,
"appendNumber": false,
- "prependAdjective": false
+ "prependAdjective": false,
+ "depth": 1
},
"items": [
{
@@ -204,7 +202,7 @@
"type": "damage",
"_id": "p1UiGEiGyl6r7PrA",
"systemPath": "actions",
- "description": "Previous climbers left behind large metal rods that climbers can use to aid their ascent. If a PC using the pitons fails an action roll to climb, they can mark a Stress instead of ticking the countdown up.
What do the shape and material of these pitons tell you about the previous climbers? How far apart are they from one another?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [],
@@ -435,7 +433,7 @@
"type": "effect",
"_id": "M8MfD2qBfYCwNKvH",
"systemPath": "actions",
- "description": "Spend a Fear to have a PC’s handhold fail, plummeting them toward the ground. If they aren’t saved on the next action, they hit the ground and tick up the countdown by 2. The PC takes 1d12 physical damage if the countdown is between 8 and 12, 2d12 between 4 and 7, and 3d12 at 3 or lower.
How can you tell many others have fallen here before? What lives in these walls that might try to scare adventurers into falling for an easy meal?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [
diff --git a/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json b/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
index d6809cd1..e3e90c26 100644
--- a/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
+++ b/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
@@ -45,12 +45,9 @@
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
- "offsetX": 0,
- "offsetY": 0,
"fit": "contain",
"scaleX": 1,
"scaleY": 1,
- "rotation": 0,
"tint": "#ffffff",
"alphaThreshold": 0.75
},
@@ -101,7 +98,7 @@
"saturation": 0,
"contrast": 0
},
- "detectionModes": [],
+ "detectionModes": {},
"occludable": {
"radius": 0
},
@@ -127,7 +124,8 @@
"flags": {},
"randomImg": false,
"appendNumber": false,
- "prependAdjective": false
+ "prependAdjective": false,
+ "depth": 1
},
"items": [
{
@@ -236,7 +234,7 @@
"type": "effect",
"_id": "EATw4ZkcuGeDfgLZ",
"systemPath": "actions",
- "description": "A portion of the ritual’s power is diverted into a cult member to fight off interlopers. Choose one adversary to become Imbued with terrible magic until the scene ends or they’re defeated. An Imbued adversary immediately takes the spotlight and gains one of the following benefits, or all three if you spend a Fear:
They gain advantage on all attacks.
They deal an extra 1d10 damage on a successful attack.
They gain the following feature: Relentless (2) - Passive. This adversary can be spotlighted up to two times per GM turn. Spend Fear as usual to spotlight them.
How does the enemy change in appearance? What fears do their blows bring to the surface?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [],
@@ -283,13 +281,10 @@
},
"disabled": false,
"duration": {
- "startTime": null,
- "combat": null,
- "seconds": null,
- "rounds": null,
- "turns": null,
- "startRound": null,
- "startTurn": null
+ "value": null,
+ "units": "seconds",
+ "expiry": null,
+ "expired": false
},
"description": "An Imbued adversary immediately takes the spotlight and gains one of the following benefits, or all three if you spend a Fear:
They gain advantage on all attacks.
They deal an extra 1d10 damage on a successful attack.
They gain the following feature: Relentless (2) - Passive. This adversary can be spotlighted up to two times per GM turn. Spend Fear as usual to spotlight them.
How does the enemy change in appearance? What fears do their blows bring to the surface?
",
"tint": "#ffffff",
@@ -299,6 +294,9 @@
"_stats": {
"compendiumSource": null
},
+ "start": null,
+ "showIcon": 1,
+ "folder": null,
"_key": "!actors.items.effects!QAXXiOKBDmCTauHD.0Rgqw1kUPeJ11ldd.dYQBQq1xIysM0qLo"
},
{
@@ -326,13 +324,10 @@
},
"disabled": true,
"duration": {
- "startTime": null,
- "combat": null,
- "seconds": null,
- "rounds": null,
- "turns": null,
- "startRound": null,
- "startTurn": null
+ "value": null,
+ "units": "seconds",
+ "expiry": null,
+ "expired": false
},
"description": "",
"tint": "#ffffff",
@@ -342,6 +337,9 @@
"_stats": {
"compendiumSource": null
},
+ "start": null,
+ "showIcon": 1,
+ "folder": null,
"_key": "!actors.items.effects!QAXXiOKBDmCTauHD.0Rgqw1kUPeJ11ldd.Hxw5lXE77bGzuaOu"
}
],
diff --git a/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json b/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json
index c510a87f..d8b04d22 100644
--- a/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json
+++ b/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json
@@ -44,12 +44,9 @@
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
- "offsetX": 0,
- "offsetY": 0,
"fit": "contain",
"scaleX": 1,
"scaleY": 1,
- "rotation": 0,
"tint": "#ffffff",
"alphaThreshold": 0.75
},
@@ -100,7 +97,7 @@
"saturation": 0,
"contrast": 0
},
- "detectionModes": [],
+ "detectionModes": {},
"occludable": {
"radius": 0
},
@@ -126,7 +123,8 @@
"flags": {},
"randomImg": false,
"appendNumber": false,
- "prependAdjective": false
+ "prependAdjective": false,
+ "depth": 1
},
"items": [
{
@@ -140,7 +138,7 @@
"type": "healing",
"_id": "uLCoTKa7Jn2HaRqR",
"systemPath": "actions",
- "description": "A PC who takes a rest in the Hallowed Temple automatically clears all HP.
What does the incense smell like? What kinds of songs do the acolytes sing?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [],
@@ -337,7 +335,7 @@
"type": "effect",
"_id": "pJVipg7CbA9CB0Um",
"systemPath": "actions",
- "description": "When the PCs have trespassed, blasphemed, or offended the clergy, you can spend a Fear to summon a @UUID[Compendium.daggerheart.adversaries.Actor.r1mbfSSwKWdcFdAU]{High Seraph} and [[/r 1d4]] @UUID[Compendium.daggerheart.adversaries.Actor.B4LZcGuBAHzyVdzy]{Bladed Guard} within Close range of the senior priest to reinforce their will.
What symbols or icons do they bear that signal they are anointed agents of the divinity? Who leads the group and what led them to this calling?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [
diff --git a/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json b/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json
index 564612cb..bbc3ef0a 100644
--- a/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json
+++ b/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json
@@ -44,12 +44,9 @@
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
- "offsetX": 0,
- "offsetY": 0,
"fit": "contain",
"scaleX": 1,
"scaleY": 1,
- "rotation": 0,
"tint": "#ffffff",
"alphaThreshold": 0.75
},
@@ -100,7 +97,7 @@
"saturation": 0,
"contrast": 0
},
- "detectionModes": [],
+ "detectionModes": {},
"occludable": {
"radius": 0
},
@@ -126,7 +123,8 @@
"flags": {},
"randomImg": false,
"appendNumber": false,
- "prependAdjective": false
+ "prependAdjective": false,
+ "depth": 1
},
"items": [
{
@@ -282,7 +280,7 @@
"type": "countdown",
"_id": "VhqZKDA4032i8zY3",
"systemPath": "actions",
- "description": "Spend a Fear to manifest the echo of a past disaster that ravaged the city. Activate a Progress Countdown (5) as the disaster replays around the PCs. To complete the countdown and escape the catastrophe, the PCs must overcome threats such as rampaging fires, stampeding civilians, collapsing buildings, or crumbling streets, while recalling history and finding clues to escape the inevitable.
Is this the disaster that led the city to be abandoned? What is known about this disaster and how could that help the PCs escape?
",
+ "description": "",
"chatDisplay": true,
"originItem": {
"type": "itemCollection"
diff --git a/src/packs/environments/environment_Imperial_Court_jr1xAoXzVwVblzxI.json b/src/packs/environments/environment_Imperial_Court_jr1xAoXzVwVblzxI.json
index 5807d43c..93851e3c 100644
--- a/src/packs/environments/environment_Imperial_Court_jr1xAoXzVwVblzxI.json
+++ b/src/packs/environments/environment_Imperial_Court_jr1xAoXzVwVblzxI.json
@@ -46,12 +46,9 @@
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
- "offsetX": 0,
- "offsetY": 0,
"fit": "contain",
"scaleX": 1,
"scaleY": 1,
- "rotation": 0,
"tint": "#ffffff",
"alphaThreshold": 0.75
},
@@ -102,7 +99,7 @@
"saturation": 0,
"contrast": 0
},
- "detectionModes": [],
+ "detectionModes": {},
"occludable": {
"radius": 0
},
@@ -128,7 +125,8 @@
"flags": {},
"randomImg": false,
"appendNumber": false,
- "prependAdjective": false
+ "prependAdjective": false,
+ "depth": 1
},
"items": [
{
@@ -297,7 +295,7 @@
"type": "attack",
"_id": "9ipckCFMz9DVw8ab",
"systemPath": "actions",
- "description": "Spend a Fear to tick down a long-term countdown related to the empire’s agenda by [[/r 1d4]]. If this triggers the countdown, a proclamation related to the agenda is announced at court as the plan is executed.
What display of power or transfer of wealth was needed to expedite this plan? Whose lives were disrupted or upended to make this happen?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [],
diff --git a/src/packs/environments/environment_Necromancer_s_Ossuary_h3KyRL7AshhLAmcH.json b/src/packs/environments/environment_Necromancer_s_Ossuary_h3KyRL7AshhLAmcH.json
index 299e8729..3d87930c 100644
--- a/src/packs/environments/environment_Necromancer_s_Ossuary_h3KyRL7AshhLAmcH.json
+++ b/src/packs/environments/environment_Necromancer_s_Ossuary_h3KyRL7AshhLAmcH.json
@@ -137,7 +137,7 @@
"type": "damage",
"_id": "jVY198vniaTSlgsX",
"systemPath": "actions",
- "description": "A feature or action that clears HP requires spending a Hope to use. If it already costs Hope, a PC must spend an additional Hope.
What does it feel like to try to heal in a place so antithetical to life?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [],
@@ -240,7 +240,7 @@
"type": "attack",
"_id": "M1mOwi4Limw2hRwL",
"systemPath": "actions",
- "description": "All targets within Close range of a point you choose in this environment must succeed on an Agility Reaction Roll or take 4d8+8 physical damage from skeletal shrapnel as part of the ossuary detonates around them.
What ancient skeletal architecture is destroyed? What bones stick in your armor?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [],
@@ -421,7 +421,7 @@
"type": "effect",
"_id": "hFeTdiHWeCYkb8Hg",
"systemPath": "actions",
- "description": "Spend a Fear to summon [[/r 1d6]] @UUID[Compendium.daggerheart.adversaries.Actor.gP3fWTLzSFnpA8EJ]{Rotted Zombie}, two @UUID[Compendium.daggerheart.adversaries.Actor.CP6iRfHdyFWniTHY]{Perfected Zombie}, or a @UUID[Compendium.daggerheart.adversaries.Actor.YhJrP7rTBiRdX5Fp]{Zombie Legion}, who appear at Close range of a chosen PC.
Who were these people before they became the necromancer’s pawns? What vestiges of those lives remain for the heroes to see?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [
diff --git a/src/packs/environments/environment_Pitched_Battle_EWD3ZsLoK6VMVOf7.json b/src/packs/environments/environment_Pitched_Battle_EWD3ZsLoK6VMVOf7.json
index 42fbd8f9..120b92a0 100644
--- a/src/packs/environments/environment_Pitched_Battle_EWD3ZsLoK6VMVOf7.json
+++ b/src/packs/environments/environment_Pitched_Battle_EWD3ZsLoK6VMVOf7.json
@@ -199,7 +199,7 @@
"type": "attack",
"_id": "1giAFbu3tGqXwi8g",
"systemPath": "actions",
- "description": "Spend a Fear as a mage from one side uses large-scale destructive magic. Pick a point on the battlefield within Very Far range of the mage. All targets within Close range of that point must make an Agility Reaction Roll. Targets who fail take 3d12+8 magic damage and must mark a Stress.
What form does the attack take—fireball raining acid a storm of blades? What tactical objective is this attack meant to accomplish and what comes next?
",
+ "description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [
diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less
index e35f527a..edc02f9a 100755
--- a/styles/less/global/elements.less
+++ b/styles/less/global/elements.less
@@ -597,6 +597,44 @@
font-size: var(--font-size-12);
padding-left: 3px;
}
+
+ secret-block {
+ position: relative;
+ section.secret {
+ background-color: @red-10;
+ padding: 0;
+ margin-top: 0.375rem;
+ &.revealed {
+ background-color: @green-10;
+ }
+ p {
+ margin: 0.5rem 0;
+ }
+ }
+ button.reveal {
+ --button-size: 0.875rem;
+ position: absolute;
+ margin: auto;
+ left: 0;
+ right: 0;
+ width: min-content;
+ padding: 1px 8px 0 8px;
+ bottom: calc(100% - 0.4375rem - 2px);
+
+ background-color: var(--dh-window-button-color-bg); // todo: find a better var name
+ border-color: var(--color-secret-border);
+ color: var(--dh-window-button-color-text);
+ font-size: var(--font-size-10);
+ user-select: none;
+ text-transform: uppercase;
+
+ visibility: hidden;
+ }
+
+ &:hover button.reveal {
+ visibility: visible;
+ }
+ }
}
.system-daggerheart {
diff --git a/styles/less/global/sheet.less b/styles/less/global/sheet.less
index 8381c7c3..d7be1a84 100755
--- a/styles/less/global/sheet.less
+++ b/styles/less/global/sheet.less
@@ -36,8 +36,8 @@ body.game:is(.performance-low, .noblur) {
}
button {
- background: light-dark(#e8e6e3, @deep-black);
- color: light-dark(@dark-blue, @beige);
+ background: var(--dh-window-button-color-bg);
+ color: var(--dh-window-button-color-text);
border: 1px solid light-dark(@dark-blue, transparent);
padding: 0;
diff --git a/styles/less/utils/colors.less b/styles/less/utils/colors.less
index bb219ebb..d9358112 100755
--- a/styles/less/utils/colors.less
+++ b/styles/less/utils/colors.less
@@ -107,6 +107,8 @@
--dh-input-color-text: @dark;
--dh-trait-color-bg: #b1afb6;
--dh-trait-color-border: #8e8d96;
+ --dh-window-button-color-bg: #e8e6e3;
+ --dh-window-button-color-text: @dark-blue;
}
}
@scope (.theme-dark) to (.themed) {
@@ -124,6 +126,8 @@
--dh-input-color-text: @beige;
--dh-trait-color-bg: #50433F;
--dh-trait-color-border: #927952;
+ --dh-window-button-color-bg: @deep-black;
+ --dh-window-button-color-text: @beige;
}
}
diff --git a/system.json b/system.json
index 43e06254..37242137 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.5.2",
+ "version": "2.5.3",
"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.5.2/system.zip",
+ "download": "https://github.com/Foundryborne/daggerheart/releases/download/2.5.3/system.zip",
"authors": [
{
"name": "WBHarry"