;
+ }
+}
+
diff --git a/module/applications/sheets/actors/party.mjs b/module/applications/sheets/actors/party.mjs
index 3af8ea5f..a911669e 100644
--- a/module/applications/sheets/actors/party.mjs
+++ b/module/applications/sheets/actors/party.mjs
@@ -6,7 +6,9 @@ import DaggerheartMenu from '../../sidebar/tabs/daggerheartMenu.mjs';
import { socketEvent } from '../../../systemRegistration/socket.mjs';
import DhpActor from '../../../documents/actor.mjs';
-export default class Party extends DHBaseActorSheet {
+/**@typedef {import('@client/applications/_types.mjs').ApplicationClickAction} ApplicationClickAction */
+
+export default class PartySheet extends DHBaseActorSheet {
constructor(options) {
super(options);
@@ -24,17 +26,17 @@ export default class Party extends DHBaseActorSheet {
resizable: true
},
actions: {
- openDocument: Party.#openDocument,
- deletePartyMember: Party.#deletePartyMember,
- toggleHope: Party.#toggleHope,
- toggleHitPoints: Party.#toggleHitPoints,
- toggleStress: Party.#toggleStress,
- toggleArmorSlot: Party.#toggleArmorSlot,
- tempBrowser: Party.#tempBrowser,
- refeshActions: Party.#refeshActions,
- triggerRest: Party.#triggerRest,
- tagTeamRoll: Party.#tagTeamRoll,
- groupRoll: Party.#groupRoll
+ openDocument: PartySheet.#onOpenDocument,
+ deletePartyMember: PartySheet.#onDeletePartyMember,
+ toggleHope: PartySheet.#onToggleHope,
+ toggleHitPoints: PartySheet.#onToggleHitPoints,
+ toggleStress: PartySheet.#onToggleStress,
+ toggleArmorSlot: PartySheet.#onToggleArmorSlot,
+ tempBrowser: PartySheet.#onTempBrowser,
+ refreshActions: PartySheet.#onRefreshActions,
+ triggerRest: PartySheet.#onTriggerRest,
+ tagTeamRoll: PartySheet.#onTagTeamRoll,
+ groupRoll: PartySheet.#onGroupRoll
},
dragDrop: [{ dragSelector: '[data-item-id]', dropSelector: null }]
};
@@ -72,6 +74,23 @@ export default class Party extends DHBaseActorSheet {
this._createSearchFilter();
}
+ /** @inheritdoc */
+ _toggleDisabled(disabled) {
+ // Overriden to only disable text inputs by default if the user is a member
+ const isMember = this.actor.system.partyMembers.some(
+ m => m.testUserPermission(game.user, CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER)
+ );
+ if (!isMember) return super._toggleDisabled(disabled);
+
+ const form = this.form;
+ for (const input of form.querySelectorAll('input:not([type=search]), .editor.prosemirror')) {
+ input.disabled = disabled;
+ }
+ for (const element of form.querySelectorAll('.input[contenteditable]')) {
+ element.classList.toggle('disabled', disabled);
+ }
+ }
+
/* -------------------------------------------- */
/* Prepare Context */
/* -------------------------------------------- */
@@ -198,8 +217,16 @@ export default class Party extends DHBaseActorSheet {
};
}
}
+
+ /* -------------------------------------------- */
+ /* Event handlers */
+ /* -------------------------------------------- */
- static async #openDocument(_, target) {
+ /**
+ * @this PartySheet
+ * @type {ApplicationClickAction}
+ */
+ static async #onOpenDocument(_, target) {
const uuid = target.dataset.uuid;
const document = await foundry.utils.fromUuid(uuid);
document?.sheet?.render(true);
@@ -207,9 +234,10 @@ export default class Party extends DHBaseActorSheet {
/**
* Toggles a hope resource value.
+ * @this PartySheet
* @type {ApplicationClickAction}
*/
- static async #toggleHope(_, target) {
+ static async #onToggleHope(_, target) {
const hopeValue = Number.parseInt(target.dataset.value);
const actor = await foundry.utils.fromUuid(target.dataset.actorId);
const newValue = actor.system.resources.hope.value >= hopeValue ? hopeValue - 1 : hopeValue;
@@ -219,9 +247,10 @@ export default class Party extends DHBaseActorSheet {
/**
* Toggles a hp resource value.
+ * @this PartySheet
* @type {ApplicationClickAction}
*/
- static async #toggleHitPoints(_, target) {
+ static async #onToggleHitPoints(_, target) {
const hitPointsValue = Number.parseInt(target.dataset.value);
const actor = await foundry.utils.fromUuid(target.dataset.actorId);
const newValue = actor.system.resources.hitPoints.value >= hitPointsValue ? hitPointsValue - 1 : hitPointsValue;
@@ -231,9 +260,10 @@ export default class Party extends DHBaseActorSheet {
/**
* Toggles a stress resource value.
+ * @this PartySheet
* @type {ApplicationClickAction}
*/
- static async #toggleStress(_, target) {
+ static async #onToggleStress(_, target) {
const stressValue = Number.parseInt(target.dataset.value);
const actor = await foundry.utils.fromUuid(target.dataset.actorId);
const newValue = actor.system.resources.stress.value >= stressValue ? stressValue - 1 : stressValue;
@@ -243,9 +273,10 @@ export default class Party extends DHBaseActorSheet {
/**
* Toggles a armor slot resource value.
+ * @this PartySheet
* @type {ApplicationClickAction}
*/
- static async #toggleArmorSlot(_, target) {
+ static async #onToggleArmorSlot(_, target) {
const actor = await foundry.utils.fromUuid(target.dataset.actorId);
const { value, max } = actor.system.armorScore;
const inputValue = Number.parseInt(target.dataset.value);
@@ -258,12 +289,19 @@ export default class Party extends DHBaseActorSheet {
/**
* Opens Compedium Browser
+ * @this PartySheet
+ * @type {ApplicationClickAction}
*/
- static async #tempBrowser(_, target) {
+ static async #onTempBrowser(_, target) {
new ItemBrowser().render({ force: true });
}
- static async #refeshActions() {
+ /**
+ * @todo Is this unused?
+ * @this PartySheet
+ * @type {ApplicationClickAction}
+ */
+ static async #onRefreshActions() {
const confirmed = await foundry.applications.api.DialogV2.confirm({
window: {
title: 'New Section',
@@ -281,7 +319,11 @@ export default class Party extends DHBaseActorSheet {
if (!confirmed) return;
}
- static async #triggerRest(_, button) {
+ /**
+ * @this PartySheet
+ * @type {ApplicationClickAction}
+ */
+ static async #onTriggerRest(_, button) {
const confirmed = await foundry.applications.api.DialogV2.confirm({
window: {
title: game.i18n.localize(`DAGGERHEART.APPLICATIONS.Downtime.${button.dataset.type}.title`),
@@ -304,6 +346,30 @@ export default class Party extends DHBaseActorSheet {
});
}
+ /**
+ * @this PartySheet
+ * @type {ApplicationClickAction}
+ */
+ static async #onDeletePartyMember(event, target) {
+ const doc = await foundry.utils.fromUuid(target.closest('[data-uuid]')?.dataset.uuid);
+ if (!event.shiftKey) {
+ const confirmed = await foundry.applications.api.DialogV2.confirm({
+ window: {
+ title: game.i18n.format('DAGGERHEART.ACTORS.Party.RemoveConfirmation.title', {
+ name: doc.name
+ })
+ },
+ content: game.i18n.format('DAGGERHEART.ACTORS.Party.RemoveConfirmation.text', { name: doc.name })
+ });
+
+ if (!confirmed) return;
+ }
+
+ const currentMembers = this.document.system.partyMembers.map(x => x.uuid);
+ const newMembersList = currentMembers.filter(uuid => uuid !== doc.uuid);
+ await this.document.update({ 'system.partyMembers': newMembersList });
+ }
+
static async downtimeMoveQuery({ actorId, downtimeType }) {
const actor = await foundry.utils.fromUuid(actorId);
if (!actor || !actor?.isOwner) return;
@@ -312,11 +378,19 @@ export default class Party extends DHBaseActorSheet {
});
}
- static async #tagTeamRoll() {
+ /**
+ * @this PartySheet
+ * @type {ApplicationClickAction}
+ */
+ static async #onTagTeamRoll() {
new game.system.api.applications.dialogs.TagTeamDialog(this.document).render({ force: true });
}
- static async #groupRoll(_params) {
+ /**
+ * @this PartySheet
+ * @type {ApplicationClickAction}
+ */
+ static async #onGroupRoll(_params) {
new game.system.api.applications.dialogs.GroupRollDialog(this.document).render({ force: true });
}
@@ -460,11 +534,10 @@ export default class Party extends DHBaseActorSheet {
}
}
- /* -------------------------------------------- */
-
+ /** @inheritdoc */
async _onDropActor(event, document) {
const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event);
- if (document instanceof DhpActor && Party.ALLOWED_ACTOR_TYPES.includes(document.type)) {
+ if (document instanceof DhpActor && PartySheet.ALLOWED_ACTOR_TYPES.includes(document.type)) {
const currentMembers = this.document.system.partyMembers.map(x => x.uuid);
if (currentMembers.includes(data.uuid)) {
return ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.duplicateCharacter'));
@@ -477,24 +550,4 @@ export default class Party extends DHBaseActorSheet {
return null;
}
-
- static async #deletePartyMember(event, target) {
- const doc = await foundry.utils.fromUuid(target.closest('[data-uuid]')?.dataset.uuid);
- if (!event.shiftKey) {
- const confirmed = await foundry.applications.api.DialogV2.confirm({
- window: {
- title: game.i18n.format('DAGGERHEART.ACTORS.Party.RemoveConfirmation.title', {
- name: doc.name
- })
- },
- content: game.i18n.format('DAGGERHEART.ACTORS.Party.RemoveConfirmation.text', { name: doc.name })
- });
-
- if (!confirmed) return;
- }
-
- const currentMembers = this.document.system.partyMembers.map(x => x.uuid);
- const newMembersList = currentMembers.filter(uuid => uuid !== doc.uuid);
- await this.document.update({ 'system.partyMembers': newMembersList });
- }
}
diff --git a/module/systemRegistration/socket.mjs b/module/systemRegistration/socket.mjs
index de9bf00c..10206ab5 100644
--- a/module/systemRegistration/socket.mjs
+++ b/module/systemRegistration/socket.mjs
@@ -1,5 +1,5 @@
import DamageReductionDialog from '../applications/dialogs/damageReductionDialog.mjs';
-import Party from '../applications/sheets/actors/party.mjs';
+import PartySheet from '../applications/sheets/actors/party.mjs';
export function handleSocketEvent({ action = null, data = {} } = {}) {
switch (action) {
@@ -16,7 +16,7 @@ export function handleSocketEvent({ action = null, data = {} } = {}) {
Hooks.call(socketEvent.Refresh, data);
break;
case socketEvent.DowntimeTrigger:
- Party.downtimeMoveQuery(data);
+ PartySheet.downtimeMoveQuery(data);
break;
case socketEvent.TagTeamStart:
Hooks.callAll(CONFIG.DH.HOOKS.hooksConfig.tagTeamStart, data);
diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less
index d570c08c..22e34e96 100755
--- a/styles/less/global/elements.less
+++ b/styles/less/global/elements.less
@@ -26,9 +26,11 @@
&:focus,
&:focus[type='text'],
&:focus[type='number'] {
- background: light-dark(@soft-shadow, @semi-transparent-dark-blue);
- box-shadow: none;
- outline: 2px solid @input-color-border;
+ &:where(:not(:disabled)) {
+ background: light-dark(@soft-shadow, @semi-transparent-dark-blue);
+ box-shadow: none;
+ outline: 2px solid @input-color-border;
+ }
}
&:disabled[type='text'],
diff --git a/styles/less/sheets/actors/character/header.less b/styles/less/sheets/actors/character/header.less
index 81345715..68ebc812 100644
--- a/styles/less/sheets/actors/character/header.less
+++ b/styles/less/sheets/actors/character/header.less
@@ -42,19 +42,14 @@
}
h1 {
+ --dh-input-color-border: @color-border;
display: flex;
flex: 1;
padding: 6px 0 0 0;
font-size: var(--font-size-32);
text-align: start;
- border: 1px solid transparent;
- outline: 2px solid transparent;
transition: all 0.3s ease;
word-break: break-word;
-
- &:hover {
- outline: 2px solid light-dark(@dark, @golden);
- }
}
.level-div {
diff --git a/styles/less/sheets/actors/party/header.less b/styles/less/sheets/actors/party/header.less
index 58e3bc31..96858805 100644
--- a/styles/less/sheets/actors/party/header.less
+++ b/styles/less/sheets/actors/party/header.less
@@ -1,48 +1,44 @@
-@import '../../../utils/colors.less';
-@import '../../../utils/fonts.less';
-@import '../../../utils/mixin.less';
-
-.party-header-sheet {
- display: flex;
- flex-direction: column;
- justify-content: start;
- text-align: center;
-
- .profile {
- height: 235px;
- cursor: pointer;
- .smooth-gradient-ease-in-out(mask-image, to top, black, 3.5rem);
- }
-
- .item-container {
- margin-top: -2rem;
- z-index: 1;
- input.item-name[type='text'] {
- backdrop-filter: none;
- border: none;
- color: @color-text-emphatic;
- font-family: @font-title;
- font-size: var(--font-size-32);
- outline: 2px solid transparent;
- box-shadow: unset;
- text-shadow: 0 0 4px @color-text-shadow-contrast, 0 0 8px @color-text-shadow-contrast, 0 0 14px @color-text-shadow-contrast;
-
- text-align: center;
- transition: all 0.3s ease;
- width: calc(100% - 40px);
- height: 2.625rem;
-
- &:hover[type='text'],
- &:focus[type='text'] {
- outline: 2px solid @color-border;
- }
- }
-
- .label {
- font-style: normal;
- font-weight: 700;
- font-size: 16px;
- margin: 5px 0;
- }
- }
-}
+@import '../../../utils/colors.less';
+@import '../../../utils/fonts.less';
+@import '../../../utils/mixin.less';
+
+.party-header-sheet {
+ display: flex;
+ flex-direction: column;
+ justify-content: start;
+ text-align: center;
+
+ .profile {
+ height: 235px;
+ cursor: pointer;
+ .smooth-gradient-ease-in-out(mask-image, to top, black, 3.5rem);
+ }
+
+ .item-container {
+ margin-top: -2rem;
+ z-index: 1;
+ input.item-name[type='text'] {
+ --dh-input-color-border: @color-border;
+ backdrop-filter: none;
+ border: none;
+ color: @color-text-emphatic;
+ font-family: @font-title;
+ font-size: var(--font-size-32);
+ outline: 2px solid transparent;
+ box-shadow: unset;
+ text-shadow: 0 0 4px @color-text-shadow-contrast, 0 0 8px @color-text-shadow-contrast, 0 0 14px @color-text-shadow-contrast;
+
+ text-align: center;
+ transition: all 0.3s ease;
+ width: calc(100% - 40px);
+ height: 2.625rem;
+ }
+
+ .label {
+ font-style: normal;
+ font-weight: 700;
+ font-size: 16px;
+ margin: 5px 0;
+ }
+ }
+}
diff --git a/templates/sheets/actors/party/party-members.hbs b/templates/sheets/actors/party/party-members.hbs
index ce04a364..6fc6ecaa 100644
--- a/templates/sheets/actors/party/party-members.hbs
+++ b/templates/sheets/actors/party/party-members.hbs
@@ -23,12 +23,12 @@
- {{#if @root.showStats}}
-
- {{#each partyMembers as |member id|}}
-
-
-
+
+ {{#each partyMembers as |member id|}}
+
+
+
+ {{#if @root.showStats}}
{{#if member.weapons}}
{{#each member.weapons as |weapon|}}
@@ -51,12 +51,16 @@
{{localize "DAGGERHEART.ACTORS.Party.Thresholds.severe"}}
{{/unless}}
-
-
+
+ {{/if}}
+ {{#if member.subtitle}}
+ {{member.subtitle}}
+ {{/if}}
+
+ {{#if @root.showStats}}
{{#unless (or (eq member.type 'companion') (eq member.type 'npc')) }}
@@ -160,29 +166,10 @@
{{/if}}
-
- {{/each}}
-
- {{else}}
-
- {{#each partyMembers as |member id|}}
-
-
-
-
-
-
- {{#if member.subtitle}}
- {{member.subtitle}}
- {{/if}}
-
-
- {{/each}}
-
- {{/if}}
+ {{/if}}
+
+ {{/each}}
+
{{#unless document.system.partyMembers.length}}
{{localize "DAGGERHEART.GENERAL.dropActorsHere"}}
From b2eeed7bb72d3a93c9a29b83f8f72ed5412f0e5e Mon Sep 17 00:00:00 2001
From: WBHarry <89362246+WBHarry@users.noreply.github.com>
Date: Tue, 7 Jul 2026 00:20:48 +0200
Subject: [PATCH 07/34] [Fix] Cleanup RangeDependant (#2039)
* Made the RangeDependent setting for ActiveEffects Nullable
* Removed all RangeDependent data from SRD where enabled was false before
* Fixed random flickerfly SRD
---
daggerheart.mjs | 2 +-
lang/en.json | 4 +-
.../sheets-configs/activeEffectConfig.mjs | 18 +++
module/config/itemConfig.mjs | 28 ++--
module/data/activeEffect/baseEffect.mjs | 23 ++-
...ersary_Acid_Burrower_89yAh30vaNQOALlz.json | 6 -
...ary_Adult_Flickerfly_G7jiltRjgvVhZewm.json | 37 ++---
...ary_Arch_Necromancer_WPEOIGfclNJxWb87.json | 6 -
...versary_Archer_Guard_JRhrrEg5UroURiAD.json | 22 ++-
...sary_Archer_Squadron_0ts6CGd93lLqGZI5.json | 8 +-
...ry_Assassin_Poisoner_h5RuhzGL17dW5FBT.json | 34 ++---
...adversary_Battle_Box_dgH3fW9FTYLaIDvS.json | 12 --
.../adversary_Bear_71qKDLKO3CsrNkdy.json | 6 -
...versary_Bladed_Guard_B4LZcGuBAHzyVdzy.json | 6 -
...ersary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json | 6 -
...dversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json | 44 +++---
.../adversary_Construct_uOP5oT9QzXPlnf3p.json | 22 ++-
.../adversary_Courtesan_ZxWaWPdzFIUPNC62.json | 6 -
.../adversary_Courtier_CBBuEXAlLKFMJdjg.json | 6 -
...adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json | 12 --
.../adversary_Cult_Fang_tyBOpLfigAhI9bU3.json | 6 -
...ry_Deeproot_Defender_9x2xY9zwc3xzbXo5.json | 6 -
...ary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json | 22 ++-
...ary_Demon_of_Despair_kE4dfhqmIQpNd44e.json | 28 ++--
...rsary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json | 6 -
...y_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json | 8 +-
.../adversary_Dire_Bat_tBWHW00epmMnkawe.json | 6 -
.../adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json | 6 -
...ersary_Electric_Eels_TLzY1nDw0Bu9Ud40.json | 8 +-
...ry_Failed_Experiment_ChwwVqowFw8hJQwT.json | 44 +++---
...sary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json | 12 --
..._Undefeated_Champion_RXkZTwBRi4dJ3JE5.json | 6 -
...ry_Giant_Beastmaster_8VZIgU12cB3cvlyH.json | 6 -
...dversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json | 36 ++---
...ary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json | 30 ++--
...rsary_Giant_Scorpion_fmfntuJ8mHRCAktP.json | 6 -
...dversary_Glass_Snake_8KWVLWXFhlY2kYx0.json | 6 -
.../adversary_Gorgon_8mJYMpbLTb8qIOrr.json | 6 -
...ater_Earth_Elemental_dsfB3YhoL5SudvS2.json | 28 ++--
...ater_Water_Elemental_xIICT6tEdnA7dKDV.json | 28 ++--
...adversary_Green_Ooze_SHXedd9zZPVfUgUa.json | 6 -
...sary_Hallowed_Archer_kabueAo6BALApWqp.json | 22 ++-
...dversary_High_Seraph_r1mbfSSwKWdcFdAU.json | 6 -
...sary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json | 6 -
.../adversary_Hydra_MI126iMOOobQ1Obn.json | 6 -
...y_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json | 6 -
...ed_Knife_Kneebreaker_CBKixLH3yhivZZuL.json | 6 -
..._Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json | 22 ++-
..._Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json | 22 ++-
..._Knight_of_the_Realm_7ai2opemrclQe3VF.json | 44 +++---
.../adversary_Kraken_4nqv3ZwJGjnmic8j.json | 6 -
...versary_Masked_Thief_niBpVU7yeo5ccskE.json | 6 -
...inor_Chaos_Elemental_sRn4bqerfARvhgSV.json | 28 ++--
...ersary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json | 6 -
...adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json | 6 -
...r_Realms_Abomination_A0SeeDzwjvqOsyof.json | 28 ++--
...ary_Perfected_Zombie_CP6iRfHdyFWniTHY.json | 6 -
...rsary_Pirate_Raiders_5YgEajn0wa4i85kC.json | 8 +-
.../adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json | 6 -
.../adversary_Siren_BK4jwyXSRx7IOQiO.json | 6 -
...sary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json | 22 ++-
...ary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json | 22 ++-
...sary_Spectral_Archer_5tCkhnBByUIN5UdG.json | 22 ++-
...ary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json | 22 ++-
...ry_Spectral_Guardian_UFVGl1osOsJTneLf.json | 22 ++-
...dversary_Stonewraith_3aAS2Qm3R6cgaYfE.json | 6 -
...ersary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json | 8 +-
...rsary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json | 8 +-
...Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json | 16 +--
...ault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json | 6 -
...lt_Guardian_Sentinel_FVgYb28fhxlVcGwA.json | 22 ++-
...ault_Guardian_Turret_c5hGdvY5UnSjlHws.json | 22 ++-
...Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json | 28 ++--
...agon__Molten_Scourge_eArAPuB38CNR0ZIM.json | 6 -
...n__Obsidian_Predator_ladm7wykhZczYzrQ.json | 50 +++----
...versary_Weaponmaster_ZNbQ2jg35LG4t9eH.json | 6 -
...dversary_Young_Dryad_8yUj2Mzvnifhxegm.json | 6 -
...ary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json | 18 ---
...ersary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json | 30 ++--
...dversary_Zombie_Pack_Nf0v43rtflV56V2T.json | 8 +-
...ure_Celestial_Trance_TfolXWFG2W2hx6sK.json | 34 ++---
...feature_Dread_Visage_i92lYjDhVB0LyPid.json | 22 ++-
.../feature_Efficient_2xlqKOkDxWHbuj4t.json | 34 ++---
.../feature_Endurance_tXWEMdLXafUSZTbK.json | 22 ++-
...feature_High_Stamina_HMXNJZ7ynzajR2KT.json | 22 ++-
...ture_Natural_Climber_soQvPL0MrTLLcc31.json | 22 ++-
.../feature_Nimble_3lNqft3LmOlEIEkw.json | 22 ++-
.../feature_Retract_UFR67BUOhNGLFyg9.json | 6 -
...ure_Retracting_Claws_Zj69cAeb3NjIa8Hn.json | 6 -
.../feature_Scales_u8ZhV962rNmUlzkp.json | 22 ++-
.../feature_Shell_A6a87OWA3tx16g9V.json | 34 ++---
.../feature_Thick_Skin_S0Ww7pYOSREt8qKg.json | 22 ++-
.../feature_Tusks_YhxD1ujZpftPu19w.json | 34 ++---
.../feature_Wings_WquAjoOcso8lwySW.json | 22 ++-
.../feature_Rampage_8upqfcZvi7b5hRLE.json | 22 ++-
...ture_Combat_Training_eoSmuAJmgHUyULtp.json | 34 ++---
...feature_Make_a_Scene_N9E5skDDK2VgvohR.json | 6 -
.../feature_No_Mercy_njj2C3tMDeCHHOoh.json | 6 -
.../feature_Rally_PydiMnNCKpd44SGS.json | 22 ++-
...ature_Ranger_s_Focus_ncLx2P8BOUtrAD38.json | 8 +-
...eature_Rogue_s_Dodge_hVaaPIjxoextIgSL.json | 6 -
...feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json | 34 ++---
.../feature_Unstoppable_PnD2UCgzIlwX6cY3.json | 70 +++++----
.../feature_Lightfoot_TQ1AIQjndC4mYmmU.json | 22 ++-
...ure_Low_Light_Living_aMla3xQuCHEwORGD.json | 6 -
.../feature_Privilege_C7NR6qRatawZusmg.json | 46 +++---
.../feature_Scoundrel_ZmEuBdL0JrvuA8le.json | 46 +++---
.../feature_Steady_DYmmr5CknLtHnwuj.json | 46 +++---
.../feature_Well_Read_JBZJmywisJg5X3tH.json | 22 ++-
...nCard_Arcana_Touched_5PvMQKCjrgSxzstn.json | 22 ++-
...omainCard_Battle_Cry_Ef1JsUG50LIoKx2F.json | 6 -
...inCard_Blade_Touched_Gb5bqpFSBiuBxUix.json | 34 ++---
...mainCard_Body_Basher_aQz8jKkCd8M9aKMA.json | 30 ++--
...inCard_Bold_Presence_tdsL00yTSLNgZWs6.json | 22 ++-
...mainCard_Bolt_Beacon_BNevJyGk7hmN7XOY.json | 6 -
...ainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json | 22 ++-
...mainCard_Book_of_Ava_YtZzYBtR0yLPPA93.json | 6 -
...nCard_Book_of_Illiat_df4iRqQzRntrF6Qw.json | 12 --
...inCard_Book_of_Norai_WtwSWXTRZa7QVvmo.json | 6 -
...inCard_Book_of_Ronin_SZMNR3uGNinJcN4N.json | 16 +--
...inCard_Book_of_Sitil_eq8VNqYMRHhF9xw9.json | 16 +--
...inCard_Book_of_Vyola_VOIgm2j2Ijszwc5m.json | 8 +-
...nCard_Book_of_Yarrow_J1ovx2FpNDvPq1o6.json | 6 -
.../domainCard_Brace_QXs4vssSqNGQu5b8.json | 22 ++-
...inCard_Breaking_Blow_8UANBgSdhMZ0sqfO.json | 8 +-
...domainCard_Chokehold_R5GYUalYXLLFRlNl.json | 8 +-
...ainCard_Cinder_Grasp_5EP2Lgf7ojfrc0Is.json | 6 -
...nCard_Cloaking_Blast_Zhw7PtK8nMPlsOqD.json | 6 -
...inCard_Codex_Touched_7Pu83ABdMukTxu3e.json | 22 ++-
...inCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json | 6 -
...Card_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json | 46 +++---
...Corrosive_Projectile_qJaSNTuDfbPVr8Lb.json | 6 -
...Card_Cruel_Precision_bap1eCWryPNowbyo.json | 68 ++++-----
...ainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json | 22 ++-
...omainCard_Death_Grip_x0FVGE1YbfXalJiw.json | 18 ---
...inCard_Deft_Deceiver_38znCh6kHTkaPwYi.json | 22 ++-
...nCard_Deft_Maneuvers_dc4rAXlv95srZUct.json | 22 ++-
...omainCard_Earthquake_C0qLOwSSvZ6PG3Ws.json | 6 -
.../domainCard_Eclipse_62Sj67PdPFzwWVe3.json | 6 -
...domainCard_Enrapture_a8lFiKX1o8T924ze.json | 6 -
.../domainCard_Flight_54GUjNuBEy7xdzMz.json | 8 +-
...ainCard_Floating_Eye_wOQLu7nLMQ7v6Ogw.json | 8 +-
.../domainCard_Forager_06UapZuaA5S6fAKl.json | 22 ++-
...Card_Force_of_Nature_LzVpMkD5I4QeaIHf.json | 46 +++---
...inCard_Forceful_Push_z8FFPhDh2SdFkFfS.json | 6 -
...nCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json | 22 ++-
...Card_Fortified_Armor_oVa49lI107eZILZr.json | 34 ++---
.../domainCard_Frenzy_MMl7abdGRLl7TJLO.json | 6 -
...omainCard_Full_Surge_SgvjJfMyubZowPxS.json | 6 -
...mainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json | 22 ++-
...nCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json | 22 ++-
...d_Glyph_of_Nightfall_B5HXqYRJiL3xMNKT.json | 6 -
...ainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json | 22 ++-
...inCard_Grace_Touched_KAuNb51AwhD8KEXk.json | 8 +-
...inCard_Healing_Hands_WTlhnQMajc1r8i50.json | 8 +-
...inCard_Hold_the_Line_kdFoLo3KXwn4LqTG.json | 14 +-
.../domainCard_Hush_gwmYasmfgXZ7tFS6.json | 6 -
...ard_Hypnotic_Shimmer_2ZeuCGVatQdPOVC6.json | 6 -
...omainCard_Inevitable_XTT8c8uJ4D7fvtbL.json | 22 ++-
...ainCard_Invisibility_KHkzA4Zrw8EWN1CH.json | 8 +-
...Card_Lead_by_Example_YWCRplmtwpCjpq5i.json | 8 +-
...domainCard_Life_Ward_OszbCj0jTqq2ADx9.json | 6 -
...inCard_Mass_Disguise_dT95m0Jam8sWbeuC.json | 22 ++-
...nCard_Mass_Enrapture_ubpixIgZrJXKyM3b.json | 6 -
...ard_Midnight_Touched_uSyGKVxOJcnp28po.json | 8 +-
...ard_Natural_Familiar_Tag303LoRNC5zGgl.json | 34 ++---
...Card_Nature_s_Tongue_atWLorlCOxcrq8WB.json | 22 ++-
...nCard_Never_Upstaged_McdncxmO9K1YNP7Y.json | 136 ++++++++----------
...ainCard_Night_Terror_zcldCuqOg3dphUVI.json | 6 -
...ainCard_On_the_Brink_zbxPl81kbWEegKQN.json | 22 ++-
...rd_Overwhelming_Aura_iEBLySZD9z8CLdz7.json | 6 -
...inCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json | 46 +++---
.../domainCard_Rage_Up_GRL0cvs96vrTDckZ.json | 12 --
.../domainCard_Recovery_gsiQFT6q3WOgqerJ.json | 68 ++++-----
...Rejuvenation_Barrier_HtWx5IIemCoorMj2.json | 6 -
.../domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json | 22 ++-
...omainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json | 34 ++---
...ainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json | 66 ++++-----
...omainCard_Shadowbind_kguhWlidhxe2GbT0.json | 6 -
...ainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json | 30 ++--
...mainCard_Shield_Aura_rfIv6lln40Fh6EIl.json | 22 ++-
...ainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json | 22 ++-
...Sigil_of_Retribution_RiuN0lMlfoTAhLJz.json | 8 +-
.../domainCard_Smite_U1uWJE94HZVudujz.json | 8 +-
..._Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json | 22 ++-
...ard_Splendor_Touched_JT5dM3gVL6chDBYU.json | 22 ++-
...rd_Stunning_Sunlight_lRHo6ZkK1zybeEoG.json | 6 -
...ainCard_Tell_No_Lies_HTv9QEPS466WsstP.json | 8 +-
.../domainCard_Tempest_X7YaZgFieBlqaPdZ.json | 18 ---
...omainCard_Thorn_Skin_oUipGK84E2KjoKqh.json | 8 +-
...nCard_Thought_Delver_B4choj481tqajWb9.json | 8 +-
...rd_Through_Your_Eyes_7b0mzV5QMPjVPT4o.json | 6 -
...d_Transcendent_Union_kVkoCLBXLAIifqpz.json | 6 -
...inCard_Twilight_Toll_SDjjV61TC1NceV1m.json | 8 +-
...ard_Uncanny_Disguise_TV56wSysbU5xAlOa.json | 22 ++-
...inCard_Unleash_Chaos_o62i0QdbUDIiAhSq.json | 8 +-
...mainCard_Untouchable_9QElncQUDSakuSdR.json | 22 ++-
...Card_Vanishing_Dodge_GBMIElIpk4cvk1Bd.json | 8 +-
...inCard_Veil_of_Night_gV4L5ZZmfPrEbIDh.json | 6 -
...ard_Vicious_Entangle_qvpvTnkAoRn9vYO4.json | 12 --
.../domainCard_Vitality_sWUlSPOJEaXyQLCj.json | 78 ++++------
...Card_Voice_of_Reason_t3RRGH6mMYYJJCcF.json | 56 +++-----
...domainCard_Wall_Walk_1ROT08E1UVBwHLAS.json | 8 +-
...ard_Words_of_Discord_ZjAdi1FSNCDDHI3X.json | 8 +-
...ment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json | 6 -
...g_Heart_of_the_Woods_oY69NN4rYxoRE4hl.json | 6 -
...ironment_Cult_Ritual_QAXXiOKBDmCTauHD.json | 64 +++------
...nt_Divine_Usurpation_4DLYez7VbMCFDAuZ.json | 66 ++++-----
...ronment_Haunted_City_OzYbizKraK92FDiI.json | 22 ++-
...ronment_Raging_River_t4cdqTfzcqP3H1vJ.json | 6 -
...consumable_Death_Tea_xDnJeF1grkmKck8Q.json | 8 +-
...nsumable_Featherbone_DpxEMpwfasEBpORU.json | 8 +-
...onsumable_Gill_Salve_Nvbb9mze6o5D0AEg.json | 8 +-
...e_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json | 22 ++-
...omet_s_Secret_Potion_VSwa1LpQ9PjZKsWF.json | 8 +-
...d_Grindletooth_Venom_BqBWXXe9T07AMV4u.json | 22 ++-
...umable_Morphing_Clay_f1NHVSIHJJCIOaBl.json | 6 -
...nsumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json | 22 ++-
...consumable_Ogre_Musk_qr1bosjFcUfuwq4B.json | 6 -
...able_Redthorn_Saliva_s2Exl2XFuoOhtIov.json | 22 ++-
...ble_Vial_of_Moondrip_VqEX5YwK5oL3r1t6.json | 6 -
...onsumable_Wingsprout_n10vozlmosVR6lo4.json | 8 +-
...ot_Bag_of_Ficklesand_v758j4FwNVAurhYK.json | 8 +-
...loot_Charging_Quiver_gsUDP90d4SRtLEUn.json | 34 ++---
.../loot_Glamour_Stone_Pj17cvdJ1XG1jv6I.json | 8 +-
...loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json | 34 ++---
...t_Ring_of_Resistance_aUqRifqR5JXXa1dN.json | 34 ++---
...loot_Ring_of_Silence_K1ysGnTpNyxPu5Au.json | 8 +-
.../weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json | 20 +--
...ane_Frame_Wheelchair_la3sAWgnvadc4NvP.json | 20 +--
..._Advanced_Broadsword_WtQAGz0TUgz8Xg70.json | 20 +--
..._Advanced_Shortsword_p3nz5CaGUoyuGVg0.json | 16 +--
...dvanced_Small_Dagger_0thN0BpN05KT8Avx.json | 20 +--
...ane_Frame_Wheelchair_XRChepscgr75Uug7.json | 20 +--
.../weapon_Broadsword_1cwWNt4sqlgA8gCT.json | 20 +--
...ane_Frame_Wheelchair_N9P695V5KKlJbAY5.json | 20 +--
..._Improved_Broadsword_OcKeLJxvmdT81VBc.json | 20 +--
..._Improved_Shortsword_rSyBNRwemBVuTo3H.json | 16 +--
...mproved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json | 20 +--
...eapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json | 20 +--
...ane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json | 20 +--
...Legendary_Broadsword_y3hfTPfZhMognyaJ.json | 20 +--
...Legendary_Shortsword_dEumq3BIZBk5xYTk.json | 16 +--
...gendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json | 20 +--
.../weapon_Shortsword_cjGZpXCoshEqi1FI.json | 18 +--
.../weapon_Small_Dagger_wKklDxs5nkzILNp4.json | 20 +--
.../weapon_Thistlebow_I1nDGpulg29GpWOW.json | 20 +--
.../weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json | 20 +--
...ture_Act_of_Reprisal_k7vvMJtEcxMWUUrW.json | 6 -
.../feature_Adrenaline_uByM34yQlw38yf1V.json | 34 ++---
...re_Advanced_Training_uGcs785h94RMtueH.json | 22 ++-
...eature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json | 22 ++-
.../feature_Ascendant_fefLgx6kcYWusjBb.json | 22 ++-
.../feature_At_Ease_xPWFvGvtUjIcqgJq.json | 22 ++-
...eature_Battle_Bonded_hWsKyed1vfILg0I8.json | 6 -
.../feature_Battlemage_Y9eGMewnFZgPvX0M.json | 22 ++-
...ature_Conjure_Shield_oirsCnN66GOlK3Fa.json | 22 ++-
...ature_Elemental_Aura_2JH9NaOh69yN80Gw.json | 18 ---
...e_Elemental_Dominion_EFUJHrkTuyv8uA9l.json | 58 +++-----
...lemental_Incarnation_f37TTgCc0Q3Ih1A1.json | 72 ++++------
...feature_Elementalist_dPcqKN5NeDkjB1HW.json | 56 +++-----
...ure_Elusive_Predator_Cjtc43V3IzAmfIFG.json | 6 -
.../feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json | 22 ++-
...ture_Ethereal_Visage_tyGB6wRKjYdIBK1i.json | 22 ++-
...ture_Expert_Training_iCXtOWBKv1FdKdWz.json | 22 ++-
...ture_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json | 22 ++-
...ure_Gifted_Performer_99U7YWNCxFZHCiT0.json | 6 -
.../feature_Iron_Will_7AVRNyBcd1Nffjtn.json | 22 ++-
.../feature_Nemesis_DPKmipNRlSAMs2Cg.json | 8 +-
...re_Ruthless_Predator_Qny2J3R35bvC0Cey.json | 22 ++-
...ature_Shadow_Stepper_hAwTXjhyphiE3aeW.json | 8 +-
...eature_Transcendence_th6HZwEFnVBjUtqm.json | 44 ++----
.../feature_Undaunted_866b2jjyzXP8nPRQ.json | 34 ++---
.../feature_Unrelenting_4qP7bNyxVHBmr4Rb.json | 34 ++---
.../feature_Unwavering_WBiFZaYNoQNhysmN.json | 34 ++---
...eature_Vanishing_Act_iyIg1VLwO8C6jvFZ.json | 8 +-
...ature_Wings_of_Light_KkQH0tYhagIqe2MT.json | 34 ++---
styles/less/global/elements.less | 4 +
templates/sheets/activeEffect/changes.hbs | 2 +-
templates/sheets/activeEffect/settings.hbs | 19 ++-
280 files changed, 1692 insertions(+), 3605 deletions(-)
diff --git a/daggerheart.mjs b/daggerheart.mjs
index b92be2a2..63127aa4 100644
--- a/daggerheart.mjs
+++ b/daggerheart.mjs
@@ -390,7 +390,7 @@ const updateActorsRangeDependentEffects = async token => {
).rangeMeasurement;
for (let effect of token.actor?.allApplicableEffects() ?? []) {
- if (!effect.system.rangeDependence?.enabled) continue;
+ if (!effect.system.rangeDependence) continue;
const { target, range, type } = effect.system.rangeDependence;
// If there are no targets, assume false. Otherwise, start with the effect enabled.
diff --git a/lang/en.json b/lang/en.json
index b9a81b29..627a2015 100755
--- a/lang/en.json
+++ b/lang/en.json
@@ -167,9 +167,7 @@
},
"ACTIVEEFFECT": {
"Config": {
- "rangeDependence": {
- "title": "Range Dependence"
- },
+ "rangeDependence": { "title": "Range Dependence" },
"stacking": { "title": "Stacking" },
"targetDispositions": "Affected Dispositions"
},
diff --git a/module/applications/sheets-configs/activeEffectConfig.mjs b/module/applications/sheets-configs/activeEffectConfig.mjs
index 2d9eafc3..2967c5f1 100644
--- a/module/applications/sheets-configs/activeEffectConfig.mjs
+++ b/module/applications/sheets-configs/activeEffectConfig.mjs
@@ -155,6 +155,10 @@ export default class DhActiveEffectConfig extends foundry.applications.sheets.Ac
.querySelector('.stacking-change-checkbox')
?.addEventListener('change', this.stackingChangeToggle.bind(this));
+ htmlElement
+ .querySelector('.range-dependence-change-checkbox')
+ ?.addEventListener('change', this.rangeDependenceChangeToggle.bind(this));
+
htmlElement
.querySelector('.armor-change-checkbox')
?.addEventListener('change', this.armorChangeToggle.bind(this));
@@ -224,6 +228,20 @@ export default class DhActiveEffectConfig extends foundry.applications.sheets.Ac
return this.submit({ updateData: { system: systemData } });
}
+ rangeDependenceChangeToggle(event) {
+ const rangeFields = this.document.system.schema.fields.rangeDependence.fields;
+ const systemData = {
+ rangeDependence: event.target.checked
+ ? _replace({
+ type: rangeFields.type.initial,
+ target: rangeFields.target.initial,
+ range: rangeFields.range.initial
+ })
+ : null
+ };
+ return this.submit({ updateData: { system: systemData } });
+ }
+
armorChangeToggle(event) {
if (event.target.checked) {
this.addArmorChange();
diff --git a/module/config/itemConfig.mjs b/module/config/itemConfig.mjs
index 43054ec5..9ebfd1e2 100644
--- a/module/config/itemConfig.mjs
+++ b/module/config/itemConfig.mjs
@@ -791,14 +791,14 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.description',
img: 'icons/skills/melee/sword-shield-stylized-white.webp',
- changes: [
- {
- key: 'system.bonuses.damage.primaryWeapon.bonus',
- mode: 2,
- value: '1'
- }
- ],
system: {
+ changes: [
+ {
+ key: 'system.bonuses.damage.primaryWeapon.bonus',
+ mode: 2,
+ value: '1'
+ }
+ ],
rangeDependence: {
enabled: true,
range: 'melee',
@@ -1103,14 +1103,14 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.paired.effects.paired.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.paired.effects.paired.description',
img: 'icons/skills/melee/weapons-crossed-swords-yellow-teal.webp',
- changes: [
- {
- key: 'system.bonuses.damage.primaryWeapon.bonus',
- mode: 2,
- value: 'ITEM.@system.tier + 1'
- }
- ],
system: {
+ changes: [
+ {
+ key: 'system.bonuses.damage.primaryWeapon.bonus',
+ mode: 2,
+ value: 'ITEM.@system.tier + 1'
+ }
+ ],
rangeDependence: {
enabled: true,
range: 'melee',
diff --git a/module/data/activeEffect/baseEffect.mjs b/module/data/activeEffect/baseEffect.mjs
index 9b17164d..547bdcf7 100644
--- a/module/data/activeEffect/baseEffect.mjs
+++ b/module/data/activeEffect/baseEffect.mjs
@@ -57,11 +57,6 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel {
description: new fields.HTMLField({ label: 'DAGGERHEART.GENERAL.description' })
}),
rangeDependence: new fields.SchemaField({
- enabled: new fields.BooleanField({
- required: true,
- initial: false,
- label: 'DAGGERHEART.GENERAL.enabled'
- }),
type: new fields.StringField({
required: true,
choices: CONFIG.DH.GENERAL.rangeInclusion,
@@ -80,7 +75,7 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel {
initial: CONFIG.DH.GENERAL.range.melee.id,
label: 'DAGGERHEART.GENERAL.range'
})
- }),
+ }, { nullable: true, initial: null }),
stacking: new fields.SchemaField(
{
value: new fields.NumberField({
@@ -146,14 +141,8 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel {
description: '',
transfer: options.transfer,
statuses: [],
- changes: [],
system: {
- rangeDependence: {
- enabled: false,
- type: CONFIG.DH.GENERAL.rangeInclusion.withinRange.id,
- target: CONFIG.DH.GENERAL.otherTargetTypes.hostile.id,
- range: CONFIG.DH.GENERAL.range.melee.id
- }
+ changes: []
}
};
}
@@ -185,4 +174,12 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel {
if (this.parent.actor && options.scrollingTextData)
this.parent.actor.queueScrollText(options.scrollingTextData);
}
+
+ static migrateData(source) {
+ if (source.rangeDependence?.enabled === false) {
+ source.rangeDependence = null;
+ }
+
+ return super.migrateData(source);
+ }
}
diff --git a/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json b/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json
index d3c8c955..4261a261 100644
--- a/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json
+++ b/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json
@@ -403,12 +403,6 @@
"_id": "9PsnogEPsp1OOK64",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "act"
diff --git a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json
index ecb93d1b..9fef39f0 100644
--- a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json
+++ b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json
@@ -322,32 +322,23 @@
"_id": "ia0NUIOxE3RHb45P",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 5,
+ "value": "@system.evasion / 2",
+ "priority": 10
+ }
+ ]
},
- "changes": [
- {
- "key": "system.evasion",
- "mode": 5,
- "value": "@system.evasion / 2",
- "priority": 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": "
When the Flickerfl y makes an attack, the target’s Evasion is halved against the attack.
",
+ "disabled": false,
+ "description": "
When the Flickerfly makes an attack, the target’s Evasion is halved against the attack.
",
"tint": "#ffffff",
"statuses": [],
"sort": 0,
diff --git a/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json b/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json
index 5da74eb3..6cb0c95d 100644
--- a/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json
+++ b/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json
@@ -491,12 +491,6 @@
"_id": "KGdf2eqcXkdigg0u",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json
index 965c5168..46dc3777 100644
--- a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json
+++ b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json
@@ -325,21 +325,15 @@
"_id": "wGuxOLokMqdxVSOo",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.disadvantageSources",
+ "mode": 2,
+ "value": "Agility Rolls",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.disadvantageSources",
- "mode": 2,
- "value": "Agility Rolls",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json b/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json
index 1e45b90a..24b7c6eb 100644
--- a/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json
+++ b/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json
@@ -472,14 +472,8 @@
"disabled": true,
"_id": "bq8hTzQoCXmA3xad",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"duration": {
"startTime": 0,
"combat": null
diff --git a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json
index c1bce57b..f156174d 100644
--- a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json
+++ b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json
@@ -270,12 +270,6 @@
"_id": "2iBVUGHtGW3I9VIj",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
@@ -341,23 +335,17 @@
"name": "Out of Nowhere",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "On attacks if they are Hidden.",
+ "priority": null
+ }
+ ]
},
"_id": "qT5nh7OcQ6aGdiWS",
"img": "icons/magic/perception/shadow-stealth-eyes-purple.webp",
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "On attacks if they are Hidden.",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -452,12 +440,6 @@
"_id": "yP4ot8VqS56RnxnE",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
diff --git a/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json b/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json
index be47829b..5625ff0f 100644
--- a/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json
+++ b/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json
@@ -680,12 +680,6 @@
"_id": "9NQcCXMhjyBReJRd",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
@@ -927,12 +921,6 @@
"_id": "S7kJlhnV8Nexzi8l",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json b/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json
index cfc71120..8dd7fb95 100644
--- a/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json
+++ b/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json
@@ -363,12 +363,6 @@
"_id": "U50Ccm9emMqAxma6",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json b/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json
index a315f91a..2083208f 100644
--- a/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json
+++ b/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json
@@ -371,12 +371,6 @@
"_id": "LmzztuktRkwOCy1a",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json b/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json
index 8863641d..94862545 100644
--- a/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json
+++ b/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json
@@ -447,12 +447,6 @@
"_id": "CjMrSdL6kgD8mKRQ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json
index 876519cf..8739fb2e 100644
--- a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json
+++ b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json
@@ -232,23 +232,17 @@
"name": "Levitation",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.conditionImmunities.restrained",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "k6iaQVfMZhrpwYQj",
"img": "icons/magic/air/fog-gas-smoke-blue-gray.webp",
- "changes": [
- {
- "key": "system.rules.conditionImmunities.restrained",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -301,23 +295,17 @@
"name": "Wards",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.magical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "4rj6PM0AGrrlbxSc",
"img": "icons/magic/defensive/barrier-shield-dome-blue-purple.webp",
- "changes": [
- {
- "key": "system.resistance.magical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json
index 3bd154ef..840f030b 100644
--- a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json
+++ b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json
@@ -459,21 +459,15 @@
"_id": "xkDIZk9u2ipDHvOL",
"img": "icons/creatures/magical/construct-golem-stone-blue.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "10",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "10",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json b/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json
index aba9ea46..14de1b12 100644
--- a/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json
+++ b/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json
@@ -315,12 +315,6 @@
"_id": "blcRqns0PHqiuPac",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json b/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json
index 8777ee06..1e4f4140 100644
--- a/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json
+++ b/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json
@@ -331,12 +331,6 @@
"_id": "YNMhgBZW8ndrCjIp",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "scene"
diff --git a/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json b/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json
index 27553d32..e191c11e 100644
--- a/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json
+++ b/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json
@@ -415,12 +415,6 @@
"_id": "U9lWz1LgeAiK5L85",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.resistance.magical.resistance",
@@ -546,12 +540,6 @@
"_id": "lNH6srSPyEprXZ4o",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json b/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json
index e65f3202..0bb00b6b 100644
--- a/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json
+++ b/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json
@@ -379,12 +379,6 @@
"_id": "LwWxRz7FTMA80VdA",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json b/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json
index 9ff0a161..a4aca10d 100644
--- a/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json
+++ b/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json
@@ -410,12 +410,6 @@
"_id": "F3E7fiz01AbF2kr5",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json
index 1a3538da..e80c91d3 100644
--- a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json
+++ b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json
@@ -270,23 +270,17 @@
"name": "Numbers Must Go Up",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.attack.bonus",
+ "mode": 2,
+ "value": "ITEM.@system.resource.value",
+ "priority": 21
+ }
+ ]
},
"_id": "iLeiOlUtWvYsgbDQ",
"img": "icons/magic/control/fear-fright-monster-grin-red-orange.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
- "value": "ITEM.@system.resource.value",
- "priority": 21
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json
index 6468c1aa..6ac0279c 100644
--- a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json
+++ b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json
@@ -238,23 +238,17 @@
"name": "Depths Of Despair",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.attack.damage.hpDamageMultiplier",
+ "mode": 5,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
"_id": "nofxm1vGZ2TmceA2",
"img": "icons/magic/death/skull-horned-worn-fire-blue.webp",
- "changes": [
- {
- "key": "system.rules.attack.damage.hpDamageMultiplier",
- "mode": 5,
- "value": "2",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
@@ -356,12 +350,6 @@
"_id": "6WSx03mFbpbPWnOI",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.rules.dualityRoll.defaultHopeDice",
diff --git a/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json b/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json
index 0bc6bf2d..a158b2b7 100644
--- a/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json
+++ b/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json
@@ -319,12 +319,6 @@
"_id": "gFeHLGgeRoDdd3VG",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.rules.dualityRoll.defaultFearDice",
diff --git a/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json b/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json
index b534562b..09bca946 100644
--- a/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json
+++ b/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json
@@ -440,14 +440,8 @@
"disabled": true,
"_id": "dPZ7PwvTERjtG92P",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"duration": {
"startTime": 0,
"combat": null
diff --git a/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json b/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json
index a1107f7c..bc1ab981 100644
--- a/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json
+++ b/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json
@@ -238,12 +238,6 @@
"name": "Flying",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.difficulty",
diff --git a/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json b/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json
index 939a5307..41ca7129 100644
--- a/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json
+++ b/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json
@@ -430,12 +430,6 @@
"_id": "YNKHEFQ4ucGr4Rmc",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json b/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json
index 1909a74a..88a0dddb 100644
--- a/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json
+++ b/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json
@@ -358,14 +358,8 @@
"disabled": true,
"_id": "xoal60Ed3Ih7saBJ",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"duration": {
"startTime": 0,
"combat": null
diff --git a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json
index 70e56980..325530b0 100644
--- a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json
+++ b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json
@@ -240,23 +240,17 @@
"name": "Warped Fortitude",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "3QLH2EEtcUEZolFz",
"img": "icons/creatures/magical/humanoid-silhouette-glowing-pink.webp",
- "changes": [
- {
- "key": "system.resistance.physical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -309,23 +303,17 @@
"name": "Overwhelm",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.attack.damage.hpDamageMultiplier",
+ "mode": 5,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
"_id": "eGB9G0ljYCcdGbOx",
"img": "icons/skills/melee/strike-slashes-orange.webp",
- "changes": [
- {
- "key": "system.rules.attack.damage.hpDamageMultiplier",
- "mode": 5,
- "value": "2",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json b/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json
index 975cf6aa..0f335dcb 100644
--- a/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json
+++ b/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json
@@ -388,12 +388,6 @@
"_id": "Q99saHj6NOY2PSXf",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
@@ -596,12 +590,6 @@
"_id": "pWDg0MADoohKu40O",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json b/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json
index 6cb1c0ce..fb616c4c 100644
--- a/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json
+++ b/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json
@@ -656,12 +656,6 @@
"vulnerable"
],
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"description": "",
diff --git a/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json b/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json
index c6a482dd..9563c287 100644
--- a/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json
+++ b/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json
@@ -347,12 +347,6 @@
"_id": "vb1sZCOLwDNLsr3j",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json
index a8a33586..dd10483a 100644
--- a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json
+++ b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json
@@ -265,23 +265,17 @@
"name": "Flying",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.difficulty",
+ "mode": 2,
+ "value": "3",
+ "priority": null
+ }
+ ]
},
"_id": "odAyKY0BSAkcO3Dd",
"img": "icons/creatures/birds/raptor-hawk-flying.webp",
- "changes": [
- {
- "key": "system.difficulty",
- "mode": 2,
- "value": "3",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -425,12 +419,6 @@
"_id": "m6qqQZxukDPVcGdQ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "act"
@@ -579,14 +567,8 @@
"_id": "Sd34xywRqiF5w9sX",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json
index a74cb88d..74fd0b04 100644
--- a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json
+++ b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json
@@ -269,21 +269,15 @@
"_id": "aATxfjeOzUYtKuU6",
"img": "icons/commodities/biological/wing-insect-green.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.difficulty",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.difficulty",
- "mode": 2,
- "value": "2",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
@@ -385,14 +379,8 @@
"disabled": true,
"_id": "dQgcYTz5vmV25Y6G",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"duration": {
"startTime": 0,
"combat": null
diff --git a/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json b/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json
index 03a0272d..cb815547 100644
--- a/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json
+++ b/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json
@@ -433,12 +433,6 @@
"_id": "oILkLJlGNZl7KI1R",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "shortRest"
diff --git a/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json b/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json
index f290875d..fd832332 100644
--- a/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json
+++ b/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json
@@ -597,12 +597,6 @@
"_id": "Mchd23xNQ4nSWw9X",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
diff --git a/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json b/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json
index 1fcfcce4..1a971a21 100644
--- a/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json
+++ b/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json
@@ -330,12 +330,6 @@
"_id": "bYBrgiSwHwYfQyjn",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.rules.conditionImmunities.hidden",
diff --git a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json
index 72ad8ae2..a3ae5de3 100644
--- a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json
+++ b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json
@@ -340,23 +340,17 @@
"name": "Immovable Object",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.reduction",
+ "mode": 2,
+ "value": "7",
+ "priority": null
+ }
+ ]
},
"_id": "7V7qMq9in3AArwiM",
"img": "icons/magic/defensive/shield-barrier-glowing-triangle-green.webp",
- "changes": [
- {
- "key": "system.resistance.physical.reduction",
- "mode": 2,
- "value": "7",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -510,12 +504,6 @@
"_id": "38MUzfbH64EMLVse",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json
index db73a536..f0f68c11 100644
--- a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json
+++ b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json
@@ -323,21 +323,15 @@
"_id": "WYqjt1tVqPEdVV5l",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.disadvantageSources",
+ "mode": 2,
+ "value": "Your next action",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.disadvantageSources",
- "mode": 2,
- "value": "Your next action",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -462,12 +456,6 @@
"_id": "X8NF2OB23mSpDvlx",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json b/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json
index a3a76d7a..9714a3a2 100644
--- a/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json
+++ b/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json
@@ -460,12 +460,6 @@
"_id": "yk5kR5OVLCgDWfgY",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json
index eb7eafc1..34e40c70 100644
--- a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json
+++ b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json
@@ -234,23 +234,17 @@
"name": "Punish the Guilty",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.attack.damage.hpDamageMultiplier",
+ "mode": 5,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
"_id": "ID85zoIa5GfhNMti",
"img": "icons/magic/control/buff-flight-wings-runes-red-yellow.webp",
- "changes": [
- {
- "key": "system.rules.attack.damage.hpDamageMultiplier",
- "mode": 5,
- "value": "2",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json b/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json
index 3dc96fd5..874330d4 100644
--- a/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json
+++ b/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json
@@ -386,12 +386,6 @@
"_id": "O8G0oOf9f3qzNOAT",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json b/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json
index 183719f2..986f3146 100644
--- a/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json
+++ b/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json
@@ -429,12 +429,6 @@
"_id": "EwZ8owroJxFpg81e",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json b/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json
index 9c53487a..4ebd5735 100644
--- a/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json
+++ b/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json
@@ -510,12 +510,6 @@
"_id": "iBJ3YhEkVsGKEIVk",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.resistance.magical.immunity",
diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json b/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json
index c6b2554e..f42433f0 100644
--- a/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json
+++ b/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json
@@ -273,12 +273,6 @@
"_id": "ihy3kvEGSOEKdNfT",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json b/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json
index 3ce6a165..262d2954 100644
--- a/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json
+++ b/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json
@@ -329,12 +329,6 @@
"_id": "d7sB1Qa1kJMnglqu",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.rules.attack.damage.hpDamageTakenMultiplier",
diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json
index 81b95d8b..a8600966 100644
--- a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json
+++ b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json
@@ -375,21 +375,15 @@
"_id": "w5VTwlHmUjl8XCQ4",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Attacks made while Hidden",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Attacks made while Hidden",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json
index 24683a37..c9fbb78a 100644
--- a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json
+++ b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json
@@ -346,21 +346,15 @@
"_id": "pZUEkMkCus4U7h8W",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 5,
+ "value": "@system.evasion / 2",
+ "priority": 10
+ }
+ ]
},
- "changes": [
- {
- "key": "system.evasion",
- "mode": 5,
- "value": "@system.evasion / 2",
- "priority": 10
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json b/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json
index 01435922..da767edc 100644
--- a/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json
+++ b/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json
@@ -250,23 +250,17 @@
"name": "Chevalier",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.difficulty",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
"_id": "w8wLcSsTiTU3mS7e",
"img": "icons/environment/people/cavalry-heavy.webp",
- "changes": [
- {
- "key": "system.difficulty",
- "mode": 2,
- "value": "2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -319,23 +313,17 @@
"name": "Heavily Armored",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.reduction",
+ "mode": 2,
+ "value": "3",
+ "priority": null
+ }
+ ]
},
"_id": "xZjvrNRRjskY3n3j",
"img": "icons/equipment/chest/breastplate-cuirass-steel-grey.webp",
- "changes": [
- {
- "key": "system.resistance.physical.reduction",
- "mode": 2,
- "value": "3",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json b/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json
index 4bcdc15d..f03b6408 100644
--- a/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json
+++ b/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json
@@ -378,12 +378,6 @@
"_id": "Xes6ZIE01CCN67KF",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json b/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json
index 77d48be3..1d9b30b2 100644
--- a/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json
+++ b/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json
@@ -402,12 +402,6 @@
"_id": "zMut1PRphlwE0xOa",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json
index 9ddfb4f3..b22bbe51 100644
--- a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json
+++ b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json
@@ -235,21 +235,15 @@
"_id": "vwc93gtzFoFZj4XT",
"img": "icons/magic/defensive/shield-barrier-flaming-diamond-blue.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.magical.resistance",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.resistance.magical.resistance",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -383,12 +377,6 @@
"_id": "KIyV2eXDmmymXY5y",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "shortRest"
diff --git a/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json b/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json
index 33677263..8bc19d39 100644
--- a/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json
+++ b/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json
@@ -447,12 +447,6 @@
"_id": "YznseQP43jNrk07h",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "scene"
diff --git a/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json b/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json
index c5feed37..edc0ea82 100644
--- a/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json
+++ b/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json
@@ -394,12 +394,6 @@
"_id": "3PY5KIG6d3dr3dty",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- },
"changes": [
{
"key": "system.resistance.physical.resistance",
diff --git a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json
index 3e5bacf3..bb5b99fe 100644
--- a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json
+++ b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json
@@ -313,21 +313,15 @@
"_id": "rpkjVdlJYI5dB99B",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.disadvantageSources",
+ "mode": 2,
+ "value": "On your next action roll.",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.disadvantageSources",
- "mode": 2,
- "value": "On your next action roll.",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -445,12 +439,6 @@
"_id": "edEZER9ImWicMwRb",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "scene"
diff --git a/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json b/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json
index 06a18345..5753337e 100644
--- a/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json
+++ b/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json
@@ -446,12 +446,6 @@
"_id": "Q5eeh0B6qaXFS1Ck",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "shortRest",
diff --git a/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json b/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json
index 94137c2f..ccd07cf1 100644
--- a/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json
+++ b/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json
@@ -337,14 +337,8 @@
"disabled": true,
"_id": "OU05YZwFQffawtna",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"duration": {
"startTime": 0,
"combat": null
diff --git a/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json b/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json
index f74da475..3b54337a 100644
--- a/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json
+++ b/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json
@@ -404,12 +404,6 @@
"_id": "9UBLk9M87VIUziAQ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json b/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json
index 39f6a5b9..43af1f43 100644
--- a/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json
+++ b/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json
@@ -411,12 +411,6 @@
"_id": "xrm5786ckKbMYHjn",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json
index f0dde9f0..e9cfde91 100644
--- a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json
+++ b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json
@@ -235,23 +235,17 @@
"name": "Opportunist",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.attack.damage.hpDamageMultiplier",
+ "mode": 5,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
"_id": "O03vYbyNLO3YPZGo",
"img": "icons/skills/targeting/crosshair-triple-strike-orange.webp",
- "changes": [
- {
- "key": "system.rules.attack.damage.hpDamageMultiplier",
- "mode": 5,
- "value": "2",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json
index 726b06e1..288089a5 100644
--- a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json
+++ b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json
@@ -237,21 +237,15 @@
"_id": "zTepuF1Z5OObQdSi",
"img": "icons/magic/death/bones-crossed-orange.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.resistance.physical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json
index 5b9cbb65..6acbcf61 100644
--- a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json
+++ b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json
@@ -270,23 +270,17 @@
"name": "Ghost",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "xNkkl7nwKFkiB9Rv",
"img": "icons/magic/death/undead-ghost-scream-teal.webp",
- "changes": [
- {
- "key": "system.resistance.physical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json
index 0572e018..73d06ee6 100644
--- a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json
+++ b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json
@@ -270,23 +270,17 @@
"name": "Ghost",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "kZhvwDvfcYQ10reO",
"img": "icons/magic/death/undead-ghost-scream-teal.webp",
- "changes": [
- {
- "key": "system.resistance.physical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json
index 85893254..dcb4e57e 100644
--- a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json
+++ b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json
@@ -270,23 +270,17 @@
"name": "Ghost",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "QDXyAMk33kJGe6hU",
"img": "icons/magic/death/undead-ghost-scream-teal.webp",
- "changes": [
- {
- "key": "system.resistance.physical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json b/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json
index 52869085..45093ea7 100644
--- a/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json
+++ b/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json
@@ -352,12 +352,6 @@
"_id": "6UgMuuJ8ZygbCsDh",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json b/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json
index 28d5dabe..49b75790 100644
--- a/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json
+++ b/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json
@@ -278,14 +278,8 @@
"disabled": true,
"_id": "FOV6AzngiR0PZyuN",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"duration": {
"startTime": 0,
"combat": null
diff --git a/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json b/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json
index f3ce03c3..dfb6fd42 100644
--- a/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json
+++ b/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json
@@ -489,14 +489,8 @@
"_id": "xyXPmPIOtqXYF1TJ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json b/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json
index f8f93cf2..6ad802aa 100644
--- a/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json
+++ b/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json
@@ -421,14 +421,8 @@
"_id": "PdkhaTw2j15KJwBf",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
@@ -473,14 +467,8 @@
"disabled": true,
"_id": "ki4vrzrFcEYtGeJu",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"duration": {
"startTime": 0,
"combat": null
diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json b/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json
index 97c493a8..23a6048a 100644
--- a/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json
+++ b/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json
@@ -323,12 +323,6 @@
"_id": "6TZlstmWJPbeoL7i",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json
index ba3f5c33..4d70cf28 100644
--- a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json
+++ b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json
@@ -297,21 +297,15 @@
"_id": "Fo5bLYlmYGtQFAGg",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.disadvantageSources",
+ "mode": 2,
+ "value": "On attack rolls while you're within Very Close range of the Sentinel",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.disadvantageSources",
- "mode": 2,
- "value": "On attack rolls while you're within Very Close range of the Sentinel",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json
index 018d5b58..9ecd43fc 100644
--- a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json
+++ b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json
@@ -302,21 +302,15 @@
"_id": "yQ85C0JHRG1pwu8a",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 5,
+ "value": "@system.evasion / 2",
+ "priority": 10
+ }
+ ]
},
- "changes": [
- {
- "key": "system.evasion",
- "mode": 5,
- "value": "@system.evasion / 2",
- "priority": 10
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json b/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json
index e360f0c8..9052287b 100644
--- a/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json
+++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json
@@ -376,23 +376,17 @@
"name": "Injured Wings",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.difficulty",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "zCi90lgFAaA7yrJG",
"img": "icons/commodities/biological/wing-green.webp",
- "changes": [
- {
- "key": "system.difficulty",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -873,12 +867,6 @@
"_id": "YUjdwrEZ4zn7WR9X",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json b/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json
index d4babd71..cce2c07e 100644
--- a/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json
+++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json
@@ -734,12 +734,6 @@
"_id": "xmzA6NC9zrulhzQs",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json b/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json
index 82daed6a..2959c66f 100644
--- a/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json
+++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json
@@ -321,23 +321,17 @@
"name": "Flying",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.difficulty",
+ "mode": 2,
+ "value": "3",
+ "priority": null
+ }
+ ]
},
"_id": "8o8yG73ZfrZ3hb5i",
"img": "icons/commodities/biological/wing-green.webp",
- "changes": [
- {
- "key": "system.difficulty",
- "mode": 2,
- "value": "3",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -390,23 +384,17 @@
"name": "Obsidian Scales",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "Jr9SlkRnkroulYhy",
"img": "icons/commodities/leather/scale-chitin-grey.webp",
- "changes": [
- {
- "key": "system.resistance.physical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -551,12 +539,6 @@
"_id": "qtIaAZDW8QsjILgb",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
diff --git a/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json b/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json
index 8eaf56f9..f06a2c72 100644
--- a/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json
+++ b/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json
@@ -319,12 +319,6 @@
"_id": "j2jYmYbtWXvq32yX",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json b/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json
index 9d7f66d0..30db7ff7 100644
--- a/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json
+++ b/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json
@@ -362,12 +362,6 @@
"_id": "k8LzBWRZo6VPqvpH",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json b/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json
index 6c55ba15..f5324abd 100644
--- a/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json
+++ b/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json
@@ -500,12 +500,6 @@
"_id": "g9bUvmw3jet6T99e",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
@@ -634,12 +628,6 @@
"_id": "40cFHuNdEvbUZ9rs",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
@@ -768,12 +756,6 @@
"_id": "1JlRxa07i8T1a9x6",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.disadvantageSources",
diff --git a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json
index 2c3495ff..322b23af 100644
--- a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json
+++ b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json
@@ -259,23 +259,17 @@
"name": "Unyielding",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "D1lCoe9WVr6vYuD9",
"img": "icons/magic/defensive/shield-barrier-blue.webp",
- "changes": [
- {
- "key": "system.resistance.physical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -434,14 +428,8 @@
"disabled": true,
"_id": "9D6SteWlhbfMPhvt",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"duration": {
"startTime": 0,
"combat": null
diff --git a/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json b/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json
index f418758a..0b6d0177 100644
--- a/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json
+++ b/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json
@@ -309,14 +309,8 @@
"disabled": true,
"_id": "aWWZTlNS9zYoUay7",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"duration": {
"startTime": 0,
"combat": null
diff --git a/src/packs/ancestries/feature_Celestial_Trance_TfolXWFG2W2hx6sK.json b/src/packs/ancestries/feature_Celestial_Trance_TfolXWFG2W2hx6sK.json
index 7cbe132e..b1022f1f 100644
--- a/src/packs/ancestries/feature_Celestial_Trance_TfolXWFG2W2hx6sK.json
+++ b/src/packs/ancestries/feature_Celestial_Trance_TfolXWFG2W2hx6sK.json
@@ -24,27 +24,21 @@
"_id": "LqQvZJJLNMnFkt1D",
"img": "icons/magic/perception/orb-crystal-ball-scrying-blue.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.rest.shortRest.shortMoves",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.rest.longRest.longMoves",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
- "value": "1",
- "priority": null
- },
- {
- "key": "system.bonuses.rest.longRest.longMoves",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Dread_Visage_i92lYjDhVB0LyPid.json b/src/packs/ancestries/feature_Dread_Visage_i92lYjDhVB0LyPid.json
index bbe35d19..0b38aebc 100644
--- a/src/packs/ancestries/feature_Dread_Visage_i92lYjDhVB0LyPid.json
+++ b/src/packs/ancestries/feature_Dread_Visage_i92lYjDhVB0LyPid.json
@@ -24,21 +24,15 @@
"_id": "2Gd6iHQX521aAZqC",
"img": "icons/magic/control/fear-fright-monster-red.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Dread Visage: Rolls to intimidate hostile creatures",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Dread Visage: Rolls to intimidate hostile creatures",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Efficient_2xlqKOkDxWHbuj4t.json b/src/packs/ancestries/feature_Efficient_2xlqKOkDxWHbuj4t.json
index 81f19a2f..fad97bdf 100644
--- a/src/packs/ancestries/feature_Efficient_2xlqKOkDxWHbuj4t.json
+++ b/src/packs/ancestries/feature_Efficient_2xlqKOkDxWHbuj4t.json
@@ -24,27 +24,21 @@
"_id": "EEryWN2nE33ppGHi",
"img": "icons/magic/time/clock-stopwatch-white-blue.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.rest.shortRest.longMoves",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.rest.shortRest.shortMoves",
+ "mode": 2,
+ "value": "-1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.rest.shortRest.longMoves",
- "mode": 2,
- "value": "1",
- "priority": null
- },
- {
- "key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
- "value": "-1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Endurance_tXWEMdLXafUSZTbK.json b/src/packs/ancestries/feature_Endurance_tXWEMdLXafUSZTbK.json
index 3e64fece..9d4710ab 100644
--- a/src/packs/ancestries/feature_Endurance_tXWEMdLXafUSZTbK.json
+++ b/src/packs/ancestries/feature_Endurance_tXWEMdLXafUSZTbK.json
@@ -24,21 +24,15 @@
"_id": "db8W2Q0Qty84XV0x",
"img": "icons/magic/control/buff-strength-muscle-damage.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resources.hitPoints.max",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.resources.hitPoints.max",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_High_Stamina_HMXNJZ7ynzajR2KT.json b/src/packs/ancestries/feature_High_Stamina_HMXNJZ7ynzajR2KT.json
index 769bec96..b93562e1 100644
--- a/src/packs/ancestries/feature_High_Stamina_HMXNJZ7ynzajR2KT.json
+++ b/src/packs/ancestries/feature_High_Stamina_HMXNJZ7ynzajR2KT.json
@@ -24,21 +24,15 @@
"_id": "Xl3TsKUJcl6vi1ly",
"img": "icons/magic/control/buff-flight-wings-runes-purple-orange.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resources.stress.max",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.resources.stress.max",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Natural_Climber_soQvPL0MrTLLcc31.json b/src/packs/ancestries/feature_Natural_Climber_soQvPL0MrTLLcc31.json
index fd02b72f..8b33dc70 100644
--- a/src/packs/ancestries/feature_Natural_Climber_soQvPL0MrTLLcc31.json
+++ b/src/packs/ancestries/feature_Natural_Climber_soQvPL0MrTLLcc31.json
@@ -24,21 +24,15 @@
"_id": "HQeQH9gUfrjlWWcg",
"img": "icons/magic/nature/root-vine-barrier-wall-brown.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Agility Rolls that involve balancing and climbing",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Agility Rolls that involve balancing and climbing",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Nimble_3lNqft3LmOlEIEkw.json b/src/packs/ancestries/feature_Nimble_3lNqft3LmOlEIEkw.json
index d56ab3ac..07d894e3 100644
--- a/src/packs/ancestries/feature_Nimble_3lNqft3LmOlEIEkw.json
+++ b/src/packs/ancestries/feature_Nimble_3lNqft3LmOlEIEkw.json
@@ -24,21 +24,15 @@
"_id": "zaxVYqKzUYDJ3SDq",
"img": "icons/skills/movement/arrows-up-trio-red.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.evasion",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Retract_UFR67BUOhNGLFyg9.json b/src/packs/ancestries/feature_Retract_UFR67BUOhNGLFyg9.json
index eb9696b2..89cf8b9e 100644
--- a/src/packs/ancestries/feature_Retract_UFR67BUOhNGLFyg9.json
+++ b/src/packs/ancestries/feature_Retract_UFR67BUOhNGLFyg9.json
@@ -63,12 +63,6 @@
"_id": "3V4FPoyjJUnFP9WS",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.resistance.physical.resistance",
diff --git a/src/packs/ancestries/feature_Retracting_Claws_Zj69cAeb3NjIa8Hn.json b/src/packs/ancestries/feature_Retracting_Claws_Zj69cAeb3NjIa8Hn.json
index b9b000f4..4f8a7158 100644
--- a/src/packs/ancestries/feature_Retracting_Claws_Zj69cAeb3NjIa8Hn.json
+++ b/src/packs/ancestries/feature_Retracting_Claws_Zj69cAeb3NjIa8Hn.json
@@ -78,12 +78,6 @@
"_id": "pO76svFkmWmZ6LjC",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/ancestries/feature_Scales_u8ZhV962rNmUlzkp.json b/src/packs/ancestries/feature_Scales_u8ZhV962rNmUlzkp.json
index fbf63533..6bf571ab 100644
--- a/src/packs/ancestries/feature_Scales_u8ZhV962rNmUlzkp.json
+++ b/src/packs/ancestries/feature_Scales_u8ZhV962rNmUlzkp.json
@@ -24,21 +24,15 @@
"_id": "b6Pkwwk7pgBeeUTe",
"img": "icons/commodities/leather/scales-brown.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.damageReduction.stressDamageReduction.severe.cost",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.rules.damageReduction.stressDamageReduction.severe.cost",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Shell_A6a87OWA3tx16g9V.json b/src/packs/ancestries/feature_Shell_A6a87OWA3tx16g9V.json
index f07fff69..4dbfbc34 100644
--- a/src/packs/ancestries/feature_Shell_A6a87OWA3tx16g9V.json
+++ b/src/packs/ancestries/feature_Shell_A6a87OWA3tx16g9V.json
@@ -24,27 +24,21 @@
"_id": "41uiZKXzSSomf9YD",
"img": "icons/creatures/reptiles/turtle-shell-glowing-green.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.major",
+ "mode": 2,
+ "value": "@prof",
+ "priority": 21
+ },
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "@prof",
+ "priority": 21
+ }
+ ]
},
- "changes": [
- {
- "key": "system.damageThresholds.major",
- "mode": 2,
- "value": "@prof",
- "priority": 21
- },
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "@prof",
- "priority": 21
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Thick_Skin_S0Ww7pYOSREt8qKg.json b/src/packs/ancestries/feature_Thick_Skin_S0Ww7pYOSREt8qKg.json
index 7bc10752..d9fc92de 100644
--- a/src/packs/ancestries/feature_Thick_Skin_S0Ww7pYOSREt8qKg.json
+++ b/src/packs/ancestries/feature_Thick_Skin_S0Ww7pYOSREt8qKg.json
@@ -24,21 +24,15 @@
"_id": "4Lc40mNnRInTKMC5",
"img": "icons/magic/defensive/shield-barrier-glowing-triangle-orange.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.damageReduction.stressDamageReduction.minor.cost",
+ "mode": 5,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.rules.damageReduction.stressDamageReduction.minor.cost",
- "mode": 5,
- "value": "2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json b/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json
index 6038f2c6..3581bb7f 100644
--- a/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json
+++ b/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json
@@ -87,27 +87,21 @@
"_id": "klEyAxQa5YHXVnrl",
"img": "icons/creatures/abilities/fang-tooth-blood-red.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.dice",
+ "mode": 2,
+ "value": "1d6",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.dice",
+ "mode": 2,
+ "value": "1d6",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.dice",
- "mode": 2,
- "value": "1d6",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.dice",
- "mode": 2,
- "value": "1d6",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/ancestries/feature_Wings_WquAjoOcso8lwySW.json b/src/packs/ancestries/feature_Wings_WquAjoOcso8lwySW.json
index 9941432e..0db94fb2 100644
--- a/src/packs/ancestries/feature_Wings_WquAjoOcso8lwySW.json
+++ b/src/packs/ancestries/feature_Wings_WquAjoOcso8lwySW.json
@@ -54,21 +54,15 @@
"_id": "zD3xVdwkEQi2ivOn",
"img": "icons/creatures/abilities/wing-batlike-white-blue.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.evasion",
- "mode": 2,
- "value": "2",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/beastforms/feature_Rampage_8upqfcZvi7b5hRLE.json b/src/packs/beastforms/feature_Rampage_8upqfcZvi7b5hRLE.json
index ecc46058..03c3b2c7 100644
--- a/src/packs/beastforms/feature_Rampage_8upqfcZvi7b5hRLE.json
+++ b/src/packs/beastforms/feature_Rampage_8upqfcZvi7b5hRLE.json
@@ -59,21 +59,15 @@
"_id": "A7l4JEBC1FFQajsN",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.proficiency",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.proficiency",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json b/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json
index d28f360c..8b4ad82e 100644
--- a/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json
+++ b/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json
@@ -21,29 +21,23 @@
"name": "Combat Training",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "@system.levelData.level.current",
+ "priority": null
+ },
+ {
+ "key": "system.rules.burden.ignore",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "Y7sTM0tw0VpgU6pC",
"img": "icons/skills/melee/spear-tips-quintuple-orange.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "@system.levelData.level.current",
- "priority": null
- },
- {
- "key": "system.rules.burden.ignore",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/classes/feature_Make_a_Scene_N9E5skDDK2VgvohR.json b/src/packs/classes/feature_Make_a_Scene_N9E5skDDK2VgvohR.json
index 5f28c048..3ae763da 100644
--- a/src/packs/classes/feature_Make_a_Scene_N9E5skDDK2VgvohR.json
+++ b/src/packs/classes/feature_Make_a_Scene_N9E5skDDK2VgvohR.json
@@ -59,12 +59,6 @@
"_id": "8G9zDv1gac6dEHmS",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.difficulty",
diff --git a/src/packs/classes/feature_No_Mercy_njj2C3tMDeCHHOoh.json b/src/packs/classes/feature_No_Mercy_njj2C3tMDeCHHOoh.json
index 5b770e5d..184085bf 100644
--- a/src/packs/classes/feature_No_Mercy_njj2C3tMDeCHHOoh.json
+++ b/src/packs/classes/feature_No_Mercy_njj2C3tMDeCHHOoh.json
@@ -62,12 +62,6 @@
"_id": "XK4cCcz9sRGDJr0q",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.bonuses.roll.attack.bonus",
diff --git a/src/packs/classes/feature_Rally_PydiMnNCKpd44SGS.json b/src/packs/classes/feature_Rally_PydiMnNCKpd44SGS.json
index e2a0b5bb..e4f84a9f 100644
--- a/src/packs/classes/feature_Rally_PydiMnNCKpd44SGS.json
+++ b/src/packs/classes/feature_Rally_PydiMnNCKpd44SGS.json
@@ -52,21 +52,15 @@
"_id": "FrSJH9vzDHkFGYQL",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.rally",
+ "mode": 2,
+ "value": "6 + min((floor(@system.levelData.level.current / 5)*2), 2)",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.rally",
- "mode": 2,
- "value": "6 + min((floor(@system.levelData.level.current / 5)*2), 2)",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/classes/feature_Ranger_s_Focus_ncLx2P8BOUtrAD38.json b/src/packs/classes/feature_Ranger_s_Focus_ncLx2P8BOUtrAD38.json
index b744c4c5..b82954a5 100644
--- a/src/packs/classes/feature_Ranger_s_Focus_ncLx2P8BOUtrAD38.json
+++ b/src/packs/classes/feature_Ranger_s_Focus_ncLx2P8BOUtrAD38.json
@@ -60,14 +60,8 @@
"_id": "SXi2dQWqpwY9fap4",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/classes/feature_Rogue_s_Dodge_hVaaPIjxoextIgSL.json b/src/packs/classes/feature_Rogue_s_Dodge_hVaaPIjxoextIgSL.json
index b886b079..4a7e0cac 100644
--- a/src/packs/classes/feature_Rogue_s_Dodge_hVaaPIjxoextIgSL.json
+++ b/src/packs/classes/feature_Rogue_s_Dodge_hVaaPIjxoextIgSL.json
@@ -60,12 +60,6 @@
"_id": "hhVjBro2osGDTT5g",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- },
"changes": [
{
"key": "system.evasion",
diff --git a/src/packs/classes/feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json b/src/packs/classes/feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json
index 505a96cb..4b5ce9bd 100644
--- a/src/packs/classes/feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json
+++ b/src/packs/classes/feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json
@@ -25,27 +25,21 @@
"_id": "380jFzw756qSy5ae",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.dice",
+ "mode": 2,
+ "value": "@tierd6",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.dice",
+ "mode": 2,
+ "value": "@tierd6",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.dice",
- "mode": 2,
- "value": "@tierd6",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.dice",
- "mode": 2,
- "value": "@tierd6",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/classes/feature_Unstoppable_PnD2UCgzIlwX6cY3.json b/src/packs/classes/feature_Unstoppable_PnD2UCgzIlwX6cY3.json
index 9c9ecf61..56362824 100644
--- a/src/packs/classes/feature_Unstoppable_PnD2UCgzIlwX6cY3.json
+++ b/src/packs/classes/feature_Unstoppable_PnD2UCgzIlwX6cY3.json
@@ -62,45 +62,39 @@
"_id": "xzQtFSuDS48kUdAZ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "ORIGIN.@item.resource.value",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "ORIGIN.@item.resource.value",
+ "priority": null
+ },
+ {
+ "key": "system.rules.damageReduction.reduceSeverity.physical",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ },
+ {
+ "key": "system.rules.conditionImmunities.vulnerable",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ },
+ {
+ "key": "system.rules.conditionImmunities.restrained",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "ORIGIN.@item.resource.value",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "ORIGIN.@item.resource.value",
- "priority": null
- },
- {
- "key": "system.rules.damageReduction.reduceSeverity.physical",
- "mode": 2,
- "value": "1",
- "priority": null
- },
- {
- "key": "system.rules.conditionImmunities.vulnerable",
- "mode": 5,
- "value": "1",
- "priority": null
- },
- {
- "key": "system.rules.conditionImmunities.restrained",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/communities/feature_Lightfoot_TQ1AIQjndC4mYmmU.json b/src/packs/communities/feature_Lightfoot_TQ1AIQjndC4mYmmU.json
index a18b4689..91c771fc 100644
--- a/src/packs/communities/feature_Lightfoot_TQ1AIQjndC4mYmmU.json
+++ b/src/packs/communities/feature_Lightfoot_TQ1AIQjndC4mYmmU.json
@@ -24,21 +24,15 @@
"_id": "4my9X5XC3uwDSx7B",
"img": "icons/magic/control/debuff-energy-snare-blue.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Move without being heard.",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Move without being heard.",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/communities/feature_Low_Light_Living_aMla3xQuCHEwORGD.json b/src/packs/communities/feature_Low_Light_Living_aMla3xQuCHEwORGD.json
index c95d9132..b02ef4d6 100644
--- a/src/packs/communities/feature_Low_Light_Living_aMla3xQuCHEwORGD.json
+++ b/src/packs/communities/feature_Low_Light_Living_aMla3xQuCHEwORGD.json
@@ -24,12 +24,6 @@
"_id": "pCp32u7UwqxCI4WW",
"img": "icons/environment/settlement/temple-night.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.advantageSources",
diff --git a/src/packs/communities/feature_Privilege_C7NR6qRatawZusmg.json b/src/packs/communities/feature_Privilege_C7NR6qRatawZusmg.json
index 171f4d50..caae7322 100644
--- a/src/packs/communities/feature_Privilege_C7NR6qRatawZusmg.json
+++ b/src/packs/communities/feature_Privilege_C7NR6qRatawZusmg.json
@@ -24,33 +24,27 @@
"_id": "xgtjykfgvg142urA",
"img": "icons/commodities/currency/coins-plain-stack-gold.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Consort with nobles",
+ "priority": null
+ },
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Negotiate prices",
+ "priority": null
+ },
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Leverage your reputation to get what you want",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Consort with nobles",
- "priority": null
- },
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Negotiate prices",
- "priority": null
- },
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Leverage your reputation to get what you want",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/communities/feature_Scoundrel_ZmEuBdL0JrvuA8le.json b/src/packs/communities/feature_Scoundrel_ZmEuBdL0JrvuA8le.json
index d91a7638..55605a00 100644
--- a/src/packs/communities/feature_Scoundrel_ZmEuBdL0JrvuA8le.json
+++ b/src/packs/communities/feature_Scoundrel_ZmEuBdL0JrvuA8le.json
@@ -24,33 +24,27 @@
"_id": "snkYmZ22Q8HHLY9M",
"img": "icons/equipment/head/hood-cloth-teal-gold.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Negotiate with criminals",
+ "priority": null
+ },
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Detect lies",
+ "priority": null
+ },
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Find a safe place to hide",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Negotiate with criminals",
- "priority": null
- },
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Detect lies",
- "priority": null
- },
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Find a safe place to hide",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/communities/feature_Steady_DYmmr5CknLtHnwuj.json b/src/packs/communities/feature_Steady_DYmmr5CknLtHnwuj.json
index 497854ac..ee9c683c 100644
--- a/src/packs/communities/feature_Steady_DYmmr5CknLtHnwuj.json
+++ b/src/packs/communities/feature_Steady_DYmmr5CknLtHnwuj.json
@@ -24,33 +24,27 @@
"_id": "QDf9LD8Mhd0Cw0CB",
"img": "icons/equipment/feet/boots-collared-simple-leather.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Traverse dangerous cliffs and ledges",
+ "priority": null
+ },
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Navigate harsh environment",
+ "priority": null
+ },
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Use your survival knowledge",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Traverse dangerous cliffs and ledges",
- "priority": null
- },
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Navigate harsh environment",
- "priority": null
- },
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Use your survival knowledge",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/communities/feature_Well_Read_JBZJmywisJg5X3tH.json b/src/packs/communities/feature_Well_Read_JBZJmywisJg5X3tH.json
index dd40b33b..3ce8fd16 100644
--- a/src/packs/communities/feature_Well_Read_JBZJmywisJg5X3tH.json
+++ b/src/packs/communities/feature_Well_Read_JBZJmywisJg5X3tH.json
@@ -24,21 +24,15 @@
"_id": "RwhxYOAAKKlYZiz0",
"img": "icons/sundries/books/book-open-brown.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "History, culture, or politics of a prominent person or place",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "History, culture, or politics of a prominent person or place",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Arcana_Touched_5PvMQKCjrgSxzstn.json b/src/packs/domains/domainCard_Arcana_Touched_5PvMQKCjrgSxzstn.json
index 556d5074..70e2d23c 100644
--- a/src/packs/domains/domainCard_Arcana_Touched_5PvMQKCjrgSxzstn.json
+++ b/src/packs/domains/domainCard_Arcana_Touched_5PvMQKCjrgSxzstn.json
@@ -65,23 +65,17 @@
"name": "Arcana-Touched",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.spellcast.bonus",
+ "mode": 2,
+ "value": "+1",
+ "priority": null
+ }
+ ]
},
"_id": "vTW98Xha0HP8ITrs",
"img": "systems/daggerheart/assets/icons/domains/domain-card/arcana.png",
- "changes": [
- {
- "key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
- "value": "+1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Battle_Cry_Ef1JsUG50LIoKx2F.json b/src/packs/domains/domainCard_Battle_Cry_Ef1JsUG50LIoKx2F.json
index 1fde286d..000437b7 100644
--- a/src/packs/domains/domainCard_Battle_Cry_Ef1JsUG50LIoKx2F.json
+++ b/src/packs/domains/domainCard_Battle_Cry_Ef1JsUG50LIoKx2F.json
@@ -127,12 +127,6 @@
"_id": "s7ma4TNgAvt0ZgEW",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.advantageSources",
diff --git a/src/packs/domains/domainCard_Blade_Touched_Gb5bqpFSBiuBxUix.json b/src/packs/domains/domainCard_Blade_Touched_Gb5bqpFSBiuBxUix.json
index ebb95570..8cc9834e 100644
--- a/src/packs/domains/domainCard_Blade_Touched_Gb5bqpFSBiuBxUix.json
+++ b/src/packs/domains/domainCard_Blade_Touched_Gb5bqpFSBiuBxUix.json
@@ -24,29 +24,23 @@
"name": "Blade-Touched",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.attack.bonus",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ },
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "4",
+ "priority": null
+ }
+ ]
},
"_id": "fBpLkCWGsB8MbymR",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
- "value": "2",
- "priority": null
- },
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "4",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Body_Basher_aQz8jKkCd8M9aKMA.json b/src/packs/domains/domainCard_Body_Basher_aQz8jKkCd8M9aKMA.json
index f0d4c988..7c5a7ef1 100644
--- a/src/packs/domains/domainCard_Body_Basher_aQz8jKkCd8M9aKMA.json
+++ b/src/packs/domains/domainCard_Body_Basher_aQz8jKkCd8M9aKMA.json
@@ -31,22 +31,22 @@
"type": "withinRange",
"target": "hostile",
"range": "melee"
- }
- },
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "@system.traits.strength.value",
- "priority": 21
},
- {
- "key": "system.bonuses.damage.secondaryWeapon.bonus",
- "mode": 2,
- "value": "@system.traits.strength.value",
- "priority": 21
- }
- ],
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "@system.traits.strength.value",
+ "priority": 21
+ },
+ {
+ "key": "system.bonuses.damage.secondaryWeapon.bonus",
+ "mode": 2,
+ "value": "@system.traits.strength.value",
+ "priority": 21
+ }
+ ]
+ },
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Bold_Presence_tdsL00yTSLNgZWs6.json b/src/packs/domains/domainCard_Bold_Presence_tdsL00yTSLNgZWs6.json
index aaf070fc..95b73ff5 100644
--- a/src/packs/domains/domainCard_Bold_Presence_tdsL00yTSLNgZWs6.json
+++ b/src/packs/domains/domainCard_Bold_Presence_tdsL00yTSLNgZWs6.json
@@ -85,21 +85,15 @@
"_id": "2XEYhuAcRGTtqvED",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.traits.presence.value",
+ "mode": 2,
+ "value": "@system.traits.strength.value",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.traits.presence.value",
- "mode": 2,
- "value": "@system.traits.strength.value",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Bolt_Beacon_BNevJyGk7hmN7XOY.json b/src/packs/domains/domainCard_Bolt_Beacon_BNevJyGk7hmN7XOY.json
index df7d36a4..ce01f6b0 100644
--- a/src/packs/domains/domainCard_Bolt_Beacon_BNevJyGk7hmN7XOY.json
+++ b/src/packs/domains/domainCard_Bolt_Beacon_BNevJyGk7hmN7XOY.json
@@ -114,12 +114,6 @@
"_id": "veZpnhnF8NRRhKG4",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json b/src/packs/domains/domainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json
index 8880bb07..35f8a4d0 100644
--- a/src/packs/domains/domainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json
+++ b/src/packs/domains/domainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json
@@ -57,23 +57,17 @@
"name": "Bone Touched",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.traits.agility.value",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "P6hYkkI64FqIcMoP",
"img": "icons/magic/death/bones-crossed-orange.webp",
- "changes": [
- {
- "key": "system.traits.agility.value",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Book_of_Ava_YtZzYBtR0yLPPA93.json b/src/packs/domains/domainCard_Book_of_Ava_YtZzYBtR0yLPPA93.json
index fa247c89..e218e771 100644
--- a/src/packs/domains/domainCard_Book_of_Ava_YtZzYBtR0yLPPA93.json
+++ b/src/packs/domains/domainCard_Book_of_Ava_YtZzYBtR0yLPPA93.json
@@ -255,12 +255,6 @@
"_id": "ptYT10JZ2WJHvFMd",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"type": "armor",
diff --git a/src/packs/domains/domainCard_Book_of_Illiat_df4iRqQzRntrF6Qw.json b/src/packs/domains/domainCard_Book_of_Illiat_df4iRqQzRntrF6Qw.json
index b34fa000..e7b4dd8b 100644
--- a/src/packs/domains/domainCard_Book_of_Illiat_df4iRqQzRntrF6Qw.json
+++ b/src/packs/domains/domainCard_Book_of_Illiat_df4iRqQzRntrF6Qw.json
@@ -172,12 +172,6 @@
"_id": "zAEaETYSOE2fmcyB",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "shortRest"
@@ -218,12 +212,6 @@
"_id": "gfZTHSgwYSDKsePW",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/domains/domainCard_Book_of_Norai_WtwSWXTRZa7QVvmo.json b/src/packs/domains/domainCard_Book_of_Norai_WtwSWXTRZa7QVvmo.json
index 78028bab..31d869be 100644
--- a/src/packs/domains/domainCard_Book_of_Norai_WtwSWXTRZa7QVvmo.json
+++ b/src/packs/domains/domainCard_Book_of_Norai_WtwSWXTRZa7QVvmo.json
@@ -243,12 +243,6 @@
"_id": "iPnT02apql16Zhjf",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Book_of_Ronin_SZMNR3uGNinJcN4N.json b/src/packs/domains/domainCard_Book_of_Ronin_SZMNR3uGNinJcN4N.json
index 88bb759d..ad01a99a 100644
--- a/src/packs/domains/domainCard_Book_of_Ronin_SZMNR3uGNinJcN4N.json
+++ b/src/packs/domains/domainCard_Book_of_Ronin_SZMNR3uGNinJcN4N.json
@@ -131,14 +131,8 @@
"_id": "ntQfpTcXyEL76vCK",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
@@ -167,14 +161,8 @@
"_id": "y44r3c91m06WKSiq",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Book_of_Sitil_eq8VNqYMRHhF9xw9.json b/src/packs/domains/domainCard_Book_of_Sitil_eq8VNqYMRHhF9xw9.json
index 16b7a63b..d3fe6b1a 100644
--- a/src/packs/domains/domainCard_Book_of_Sitil_eq8VNqYMRHhF9xw9.json
+++ b/src/packs/domains/domainCard_Book_of_Sitil_eq8VNqYMRHhF9xw9.json
@@ -136,14 +136,8 @@
"_id": "klUaU5KeQCu7KCBI",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
@@ -172,14 +166,8 @@
"_id": "wnrHSvvB6pydTVcC",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Book_of_Vyola_VOIgm2j2Ijszwc5m.json b/src/packs/domains/domainCard_Book_of_Vyola_VOIgm2j2Ijszwc5m.json
index 522a8f7c..e36936f5 100644
--- a/src/packs/domains/domainCard_Book_of_Vyola_VOIgm2j2Ijszwc5m.json
+++ b/src/packs/domains/domainCard_Book_of_Vyola_VOIgm2j2Ijszwc5m.json
@@ -109,14 +109,8 @@
"_id": "6PPapwuwgKy23oHg",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Book_of_Yarrow_J1ovx2FpNDvPq1o6.json b/src/packs/domains/domainCard_Book_of_Yarrow_J1ovx2FpNDvPq1o6.json
index 45fbc77f..4bcdc349 100644
--- a/src/packs/domains/domainCard_Book_of_Yarrow_J1ovx2FpNDvPq1o6.json
+++ b/src/packs/domains/domainCard_Book_of_Yarrow_J1ovx2FpNDvPq1o6.json
@@ -118,12 +118,6 @@
"_id": "HWJYhSegVLeAa3dE",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.resistance.magical.immunity",
diff --git a/src/packs/domains/domainCard_Brace_QXs4vssSqNGQu5b8.json b/src/packs/domains/domainCard_Brace_QXs4vssSqNGQu5b8.json
index bc2e59e5..23b15eba 100644
--- a/src/packs/domains/domainCard_Brace_QXs4vssSqNGQu5b8.json
+++ b/src/packs/domains/domainCard_Brace_QXs4vssSqNGQu5b8.json
@@ -23,23 +23,17 @@
"name": "Brace",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.damageReduction.maxArmorMarked.stressExtra",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "xSjqLOHfi5lImDHS",
"img": "icons/magic/defensive/shield-barrier-blue.webp",
- "changes": [
- {
- "key": "system.rules.damageReduction.maxArmorMarked.stressExtra",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Breaking_Blow_8UANBgSdhMZ0sqfO.json b/src/packs/domains/domainCard_Breaking_Blow_8UANBgSdhMZ0sqfO.json
index 24b3d661..1e11b8a9 100644
--- a/src/packs/domains/domainCard_Breaking_Blow_8UANBgSdhMZ0sqfO.json
+++ b/src/packs/domains/domainCard_Breaking_Blow_8UANBgSdhMZ0sqfO.json
@@ -65,14 +65,8 @@
"_id": "ETIeXRAib3DFBHpX",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Chokehold_R5GYUalYXLLFRlNl.json b/src/packs/domains/domainCard_Chokehold_R5GYUalYXLLFRlNl.json
index 73424902..b9d576e3 100644
--- a/src/packs/domains/domainCard_Chokehold_R5GYUalYXLLFRlNl.json
+++ b/src/packs/domains/domainCard_Chokehold_R5GYUalYXLLFRlNl.json
@@ -96,14 +96,8 @@
"_id": "yzGem7IfViJdAv1H",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Cinder_Grasp_5EP2Lgf7ojfrc0Is.json b/src/packs/domains/domainCard_Cinder_Grasp_5EP2Lgf7ojfrc0Is.json
index e3df986e..384e4834 100644
--- a/src/packs/domains/domainCard_Cinder_Grasp_5EP2Lgf7ojfrc0Is.json
+++ b/src/packs/domains/domainCard_Cinder_Grasp_5EP2Lgf7ojfrc0Is.json
@@ -162,12 +162,6 @@
"_id": "HNKkaWi507whJuYN",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Cloaking_Blast_Zhw7PtK8nMPlsOqD.json b/src/packs/domains/domainCard_Cloaking_Blast_Zhw7PtK8nMPlsOqD.json
index a2a06889..143e7e17 100644
--- a/src/packs/domains/domainCard_Cloaking_Blast_Zhw7PtK8nMPlsOqD.json
+++ b/src/packs/domains/domainCard_Cloaking_Blast_Zhw7PtK8nMPlsOqD.json
@@ -65,12 +65,6 @@
"_id": "twCBqXytmRkMz0kV",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/domains/domainCard_Codex_Touched_7Pu83ABdMukTxu3e.json b/src/packs/domains/domainCard_Codex_Touched_7Pu83ABdMukTxu3e.json
index 6443ed6a..f07e89be 100644
--- a/src/packs/domains/domainCard_Codex_Touched_7Pu83ABdMukTxu3e.json
+++ b/src/packs/domains/domainCard_Codex_Touched_7Pu83ABdMukTxu3e.json
@@ -86,21 +86,15 @@
"_id": "oWs00mBY3onxGjF9",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.spellcast.bonus",
+ "mode": 2,
+ "value": "@system.proficiency",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
- "value": "@system.proficiency",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json b/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json
index d9e8da6d..7b0b7fb8 100644
--- a/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json
+++ b/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json
@@ -208,12 +208,6 @@
"_id": "dImnF8ZT2rVybiIP",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.rules.damageReduction.reduceSeverity.magical",
diff --git a/src/packs/domains/domainCard_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json b/src/packs/domains/domainCard_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json
index 31ad8612..62f42054 100644
--- a/src/packs/domains/domainCard_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json
+++ b/src/packs/domains/domainCard_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json
@@ -63,33 +63,27 @@
"_id": "cNSlGBGPKKBNnlH8",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.attack.bonus",
+ "mode": 2,
+ "value": "-2",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.dice",
+ "mode": 2,
+ "value": "+2",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "+2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
- "value": "-2",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.dice",
- "mode": 2,
- "value": "+2",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "+2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Corrosive_Projectile_qJaSNTuDfbPVr8Lb.json b/src/packs/domains/domainCard_Corrosive_Projectile_qJaSNTuDfbPVr8Lb.json
index 6a039bbf..203e4d06 100644
--- a/src/packs/domains/domainCard_Corrosive_Projectile_qJaSNTuDfbPVr8Lb.json
+++ b/src/packs/domains/domainCard_Corrosive_Projectile_qJaSNTuDfbPVr8Lb.json
@@ -134,12 +134,6 @@
"_id": "zB95bjSSdVlApQnR",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.difficulty",
diff --git a/src/packs/domains/domainCard_Cruel_Precision_bap1eCWryPNowbyo.json b/src/packs/domains/domainCard_Cruel_Precision_bap1eCWryPNowbyo.json
index 9e5c414e..c71dfa04 100644
--- a/src/packs/domains/domainCard_Cruel_Precision_bap1eCWryPNowbyo.json
+++ b/src/packs/domains/domainCard_Cruel_Precision_bap1eCWryPNowbyo.json
@@ -23,29 +23,23 @@
"name": "Cruel Precision (Agi)",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "@system.traits.agility.value",
+ "priority": 21
+ },
+ {
+ "key": "system.bonuses.damage.secondaryWeapon.bonus",
+ "mode": 2,
+ "value": "@system.traits.agility.value",
+ "priority": 21
+ }
+ ]
},
"_id": "t5D10AL2W9LMGsX4",
"img": "icons/skills/melee/strike-dagger-arcane-pink.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "@system.traits.agility.value",
- "priority": 21
- },
- {
- "key": "system.bonuses.damage.secondaryWeapon.bonus",
- "mode": 2,
- "value": "@system.traits.agility.value",
- "priority": 21
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
@@ -72,29 +66,23 @@
"name": "Cruel Precision (Fin)",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "@system.traits.finesse.value",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.secondaryWeapon.bonus",
+ "mode": 2,
+ "value": "@system.traits.finesse.value",
+ "priority": null
+ }
+ ]
},
"_id": "Ha7c4XgmN5zGMSHG",
"img": "icons/skills/melee/strike-dagger-arcane-pink.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "@system.traits.finesse.value",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.secondaryWeapon.bonus",
- "mode": 2,
- "value": "@system.traits.finesse.value",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json b/src/packs/domains/domainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json
index c559dfd9..938f2daf 100644
--- a/src/packs/domains/domainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json
+++ b/src/packs/domains/domainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json
@@ -57,21 +57,15 @@
"_id": "TFWiAUDCfGaax5MU",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.proficiency",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.proficiency",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Death_Grip_x0FVGE1YbfXalJiw.json b/src/packs/domains/domainCard_Death_Grip_x0FVGE1YbfXalJiw.json
index d33b6bab..a2aa67fd 100644
--- a/src/packs/domains/domainCard_Death_Grip_x0FVGE1YbfXalJiw.json
+++ b/src/packs/domains/domainCard_Death_Grip_x0FVGE1YbfXalJiw.json
@@ -244,12 +244,6 @@
"_id": "wMXCIQxqLS9IbsEK",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
@@ -282,12 +276,6 @@
"_id": "bZ0xgZ6TT2099OYp",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
@@ -320,12 +308,6 @@
"_id": "Oe95zWWY41nH8y5l",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
diff --git a/src/packs/domains/domainCard_Deft_Deceiver_38znCh6kHTkaPwYi.json b/src/packs/domains/domainCard_Deft_Deceiver_38znCh6kHTkaPwYi.json
index dd9c82a2..dac804e2 100644
--- a/src/packs/domains/domainCard_Deft_Deceiver_38znCh6kHTkaPwYi.json
+++ b/src/packs/domains/domainCard_Deft_Deceiver_38znCh6kHTkaPwYi.json
@@ -63,21 +63,15 @@
"_id": "qtHDKXJ1pH8Cu7by",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Deceive or trick someone into believing a lie you told them",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Deceive or trick someone into believing a lie you told them",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Deft_Maneuvers_dc4rAXlv95srZUct.json b/src/packs/domains/domainCard_Deft_Maneuvers_dc4rAXlv95srZUct.json
index 2b63b534..6cb59b2c 100644
--- a/src/packs/domains/domainCard_Deft_Maneuvers_dc4rAXlv95srZUct.json
+++ b/src/packs/domains/domainCard_Deft_Maneuvers_dc4rAXlv95srZUct.json
@@ -65,21 +65,15 @@
"_id": "gEDGcbsgWY2D2nOo",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.attack.bonus",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Earthquake_C0qLOwSSvZ6PG3Ws.json b/src/packs/domains/domainCard_Earthquake_C0qLOwSSvZ6PG3Ws.json
index 0a35c95f..801278a6 100644
--- a/src/packs/domains/domainCard_Earthquake_C0qLOwSSvZ6PG3Ws.json
+++ b/src/packs/domains/domainCard_Earthquake_C0qLOwSSvZ6PG3Ws.json
@@ -118,12 +118,6 @@
"_id": "Z31XqmGUKWYcZdMY",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Eclipse_62Sj67PdPFzwWVe3.json b/src/packs/domains/domainCard_Eclipse_62Sj67PdPFzwWVe3.json
index e2afaf66..8db164a7 100644
--- a/src/packs/domains/domainCard_Eclipse_62Sj67PdPFzwWVe3.json
+++ b/src/packs/domains/domainCard_Eclipse_62Sj67PdPFzwWVe3.json
@@ -142,12 +142,6 @@
"_id": "ARMcw2FtKfaYr902",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.disadvantageSources",
diff --git a/src/packs/domains/domainCard_Enrapture_a8lFiKX1o8T924ze.json b/src/packs/domains/domainCard_Enrapture_a8lFiKX1o8T924ze.json
index 284682fa..5ea36d31 100644
--- a/src/packs/domains/domainCard_Enrapture_a8lFiKX1o8T924ze.json
+++ b/src/packs/domains/domainCard_Enrapture_a8lFiKX1o8T924ze.json
@@ -139,12 +139,6 @@
"_id": "EYG5dLImk6GkmfRd",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Flight_54GUjNuBEy7xdzMz.json b/src/packs/domains/domainCard_Flight_54GUjNuBEy7xdzMz.json
index 4d1355ee..91b4b172 100644
--- a/src/packs/domains/domainCard_Flight_54GUjNuBEy7xdzMz.json
+++ b/src/packs/domains/domainCard_Flight_54GUjNuBEy7xdzMz.json
@@ -119,14 +119,8 @@
"_id": "gd8crfrvMGWXLWGP",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Floating_Eye_wOQLu7nLMQ7v6Ogw.json b/src/packs/domains/domainCard_Floating_Eye_wOQLu7nLMQ7v6Ogw.json
index 97e94563..c82adcdb 100644
--- a/src/packs/domains/domainCard_Floating_Eye_wOQLu7nLMQ7v6Ogw.json
+++ b/src/packs/domains/domainCard_Floating_Eye_wOQLu7nLMQ7v6Ogw.json
@@ -57,14 +57,8 @@
"_id": "ahKlKAc9TuGgx9Zm",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json b/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json
index e8919d6b..cfa183d1 100644
--- a/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json
+++ b/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json
@@ -257,21 +257,15 @@
"_id": "cTf5gEem5Gt4fLS4",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.spellcast.bonus",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
- "value": "2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Force_of_Nature_LzVpMkD5I4QeaIHf.json b/src/packs/domains/domainCard_Force_of_Nature_LzVpMkD5I4QeaIHf.json
index 331d19b5..9db4016c 100644
--- a/src/packs/domains/domainCard_Force_of_Nature_LzVpMkD5I4QeaIHf.json
+++ b/src/packs/domains/domainCard_Force_of_Nature_LzVpMkD5I4QeaIHf.json
@@ -92,33 +92,27 @@
"_id": "ptBC882plZW39Ld9",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "10",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "10",
+ "priority": null
+ },
+ {
+ "key": "system.rules.conditionImmunities.restrained",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "10",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "10",
- "priority": null
- },
- {
- "key": "system.rules.conditionImmunities.restrained",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Forceful_Push_z8FFPhDh2SdFkFfS.json b/src/packs/domains/domainCard_Forceful_Push_z8FFPhDh2SdFkFfS.json
index 3d17ab5d..8fc09c1c 100644
--- a/src/packs/domains/domainCard_Forceful_Push_z8FFPhDh2SdFkFfS.json
+++ b/src/packs/domains/domainCard_Forceful_Push_z8FFPhDh2SdFkFfS.json
@@ -64,12 +64,6 @@
"_id": "95oX6QYPySdyyh2v",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json b/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json
index 4fa469a6..f345262a 100644
--- a/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json
+++ b/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json
@@ -88,21 +88,15 @@
"_id": "SuiUFAPyB37Qr6sO",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.attack.bonus",
+ "mode": 2,
+ "value": "+3",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
- "value": "+3",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Fortified_Armor_oVa49lI107eZILZr.json b/src/packs/domains/domainCard_Fortified_Armor_oVa49lI107eZILZr.json
index e755bf8d..7162c664 100644
--- a/src/packs/domains/domainCard_Fortified_Armor_oVa49lI107eZILZr.json
+++ b/src/packs/domains/domainCard_Fortified_Armor_oVa49lI107eZILZr.json
@@ -23,29 +23,23 @@
"name": "Fortified Armor",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.major",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ },
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
"_id": "jx8KWAdyoPV2hV0s",
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
- "changes": [
- {
- "key": "system.damageThresholds.major",
- "mode": 2,
- "value": "2",
- "priority": null
- },
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Frenzy_MMl7abdGRLl7TJLO.json b/src/packs/domains/domainCard_Frenzy_MMl7abdGRLl7TJLO.json
index 6666bc28..022cc65f 100644
--- a/src/packs/domains/domainCard_Frenzy_MMl7abdGRLl7TJLO.json
+++ b/src/packs/domains/domainCard_Frenzy_MMl7abdGRLl7TJLO.json
@@ -57,12 +57,6 @@
"_id": "1POoAgObPOWDpUco",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
diff --git a/src/packs/domains/domainCard_Full_Surge_SgvjJfMyubZowPxS.json b/src/packs/domains/domainCard_Full_Surge_SgvjJfMyubZowPxS.json
index fb0bd16d..37087001 100644
--- a/src/packs/domains/domainCard_Full_Surge_SgvjJfMyubZowPxS.json
+++ b/src/packs/domains/domainCard_Full_Surge_SgvjJfMyubZowPxS.json
@@ -63,12 +63,6 @@
"_id": "H5q5iYImr69TfZcp",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.traits.strength.value",
diff --git a/src/packs/domains/domainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json b/src/packs/domains/domainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json
index 571a3fb4..f4cc2cbf 100644
--- a/src/packs/domains/domainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json
+++ b/src/packs/domains/domainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json
@@ -24,23 +24,17 @@
"name": "Get Back Up",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.damageReduction.stressDamageReduction.severe.cost",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "aV3KUHtXXR86PRMh",
"img": "icons/magic/control/silhouette-aura-energy.webp",
- "changes": [
- {
- "key": "system.rules.damageReduction.stressDamageReduction.severe.cost",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json b/src/packs/domains/domainCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json
index 61d90f0c..7998b6c4 100644
--- a/src/packs/domains/domainCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json
+++ b/src/packs/domains/domainCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json
@@ -63,21 +63,15 @@
"_id": "47Oh2weCdmuvKHM9",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 2,
+ "value": "+1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.evasion",
- "mode": 2,
- "value": "+1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Glyph_of_Nightfall_B5HXqYRJiL3xMNKT.json b/src/packs/domains/domainCard_Glyph_of_Nightfall_B5HXqYRJiL3xMNKT.json
index 35100187..a4aa4d9f 100644
--- a/src/packs/domains/domainCard_Glyph_of_Nightfall_B5HXqYRJiL3xMNKT.json
+++ b/src/packs/domains/domainCard_Glyph_of_Nightfall_B5HXqYRJiL3xMNKT.json
@@ -100,12 +100,6 @@
"duration": {
"description": "",
"type": "temporary"
- },
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
}
},
"disabled": false,
diff --git a/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json b/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json
index db28b8b5..11610aac 100644
--- a/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json
+++ b/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json
@@ -106,21 +106,15 @@
"_id": "Jccsuc48gmA6QAni",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.disadvantageSources",
+ "mode": 2,
+ "value": "Attacking the goading creature",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.disadvantageSources",
- "mode": 2,
- "value": "Attacking the goading creature",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Grace_Touched_KAuNb51AwhD8KEXk.json b/src/packs/domains/domainCard_Grace_Touched_KAuNb51AwhD8KEXk.json
index 2e48f07b..a788e205 100644
--- a/src/packs/domains/domainCard_Grace_Touched_KAuNb51AwhD8KEXk.json
+++ b/src/packs/domains/domainCard_Grace_Touched_KAuNb51AwhD8KEXk.json
@@ -107,16 +107,10 @@
"name": "Grace-Touched",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
"_id": "KK5m2slpFuXDxFaL",
"img": "systems/daggerheart/assets/icons/domains/domain-card/grace.png",
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Healing_Hands_WTlhnQMajc1r8i50.json b/src/packs/domains/domainCard_Healing_Hands_WTlhnQMajc1r8i50.json
index c771562c..a3657ef6 100644
--- a/src/packs/domains/domainCard_Healing_Hands_WTlhnQMajc1r8i50.json
+++ b/src/packs/domains/domainCard_Healing_Hands_WTlhnQMajc1r8i50.json
@@ -385,14 +385,8 @@
"_id": "sd5liP4ZcVeTMAoW",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Hold_the_Line_kdFoLo3KXwn4LqTG.json b/src/packs/domains/domainCard_Hold_the_Line_kdFoLo3KXwn4LqTG.json
index 263220e4..a6edb862 100644
--- a/src/packs/domains/domainCard_Hold_the_Line_kdFoLo3KXwn4LqTG.json
+++ b/src/packs/domains/domainCard_Hold_the_Line_kdFoLo3KXwn4LqTG.json
@@ -91,14 +91,8 @@
"_id": "y82y3nUStyL8DIJL",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
@@ -127,12 +121,6 @@
"_id": "WTYg0b8nE1XbnMiA",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Hush_gwmYasmfgXZ7tFS6.json b/src/packs/domains/domainCard_Hush_gwmYasmfgXZ7tFS6.json
index 28c41c7e..9793c70f 100644
--- a/src/packs/domains/domainCard_Hush_gwmYasmfgXZ7tFS6.json
+++ b/src/packs/domains/domainCard_Hush_gwmYasmfgXZ7tFS6.json
@@ -88,12 +88,6 @@
"_id": "pZ5YpjKidaj48IYF",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/domains/domainCard_Hypnotic_Shimmer_2ZeuCGVatQdPOVC6.json b/src/packs/domains/domainCard_Hypnotic_Shimmer_2ZeuCGVatQdPOVC6.json
index 08f0d3ee..f4f95d83 100644
--- a/src/packs/domains/domainCard_Hypnotic_Shimmer_2ZeuCGVatQdPOVC6.json
+++ b/src/packs/domains/domainCard_Hypnotic_Shimmer_2ZeuCGVatQdPOVC6.json
@@ -116,12 +116,6 @@
"_id": "xAG75UWUz3aDZH3m",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Inevitable_XTT8c8uJ4D7fvtbL.json b/src/packs/domains/domainCard_Inevitable_XTT8c8uJ4D7fvtbL.json
index fc083136..790acf08 100644
--- a/src/packs/domains/domainCard_Inevitable_XTT8c8uJ4D7fvtbL.json
+++ b/src/packs/domains/domainCard_Inevitable_XTT8c8uJ4D7fvtbL.json
@@ -23,23 +23,17 @@
"name": "Inevitable",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "If you failed your previous action roll",
+ "priority": null
+ }
+ ]
},
"_id": "wX4BFGaM0bdzHPn2",
"img": "icons/magic/light/explosion-beam-impact-silhouette.webp",
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "If you failed your previous action roll",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Invisibility_KHkzA4Zrw8EWN1CH.json b/src/packs/domains/domainCard_Invisibility_KHkzA4Zrw8EWN1CH.json
index 5f67ff74..9ed72705 100644
--- a/src/packs/domains/domainCard_Invisibility_KHkzA4Zrw8EWN1CH.json
+++ b/src/packs/domains/domainCard_Invisibility_KHkzA4Zrw8EWN1CH.json
@@ -94,14 +94,8 @@
"_id": "bRJy0MoIPQEQOMzZ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Lead_by_Example_YWCRplmtwpCjpq5i.json b/src/packs/domains/domainCard_Lead_by_Example_YWCRplmtwpCjpq5i.json
index a29b021f..e2836d8c 100644
--- a/src/packs/domains/domainCard_Lead_by_Example_YWCRplmtwpCjpq5i.json
+++ b/src/packs/domains/domainCard_Lead_by_Example_YWCRplmtwpCjpq5i.json
@@ -63,14 +63,8 @@
"_id": "BbBs2XYXMsLwkHKh",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Life_Ward_OszbCj0jTqq2ADx9.json b/src/packs/domains/domainCard_Life_Ward_OszbCj0jTqq2ADx9.json
index de841ffe..ec2dc590 100644
--- a/src/packs/domains/domainCard_Life_Ward_OszbCj0jTqq2ADx9.json
+++ b/src/packs/domains/domainCard_Life_Ward_OszbCj0jTqq2ADx9.json
@@ -65,12 +65,6 @@
"_id": "E7Ou4OMEy3TeK1Gf",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "longRest"
diff --git a/src/packs/domains/domainCard_Mass_Disguise_dT95m0Jam8sWbeuC.json b/src/packs/domains/domainCard_Mass_Disguise_dT95m0Jam8sWbeuC.json
index b9fbaed9..8c0122f4 100644
--- a/src/packs/domains/domainCard_Mass_Disguise_dT95m0Jam8sWbeuC.json
+++ b/src/packs/domains/domainCard_Mass_Disguise_dT95m0Jam8sWbeuC.json
@@ -93,21 +93,15 @@
"_id": "HgF4n0idPcdz8Bi7",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Presence Rolls to avoid scrutiny.",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Presence Rolls to avoid scrutiny.",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Mass_Enrapture_ubpixIgZrJXKyM3b.json b/src/packs/domains/domainCard_Mass_Enrapture_ubpixIgZrJXKyM3b.json
index 8ada8d80..48da2c58 100644
--- a/src/packs/domains/domainCard_Mass_Enrapture_ubpixIgZrJXKyM3b.json
+++ b/src/packs/domains/domainCard_Mass_Enrapture_ubpixIgZrJXKyM3b.json
@@ -148,12 +148,6 @@
"_id": "QNbnelRylVB0yCm0",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Midnight_Touched_uSyGKVxOJcnp28po.json b/src/packs/domains/domainCard_Midnight_Touched_uSyGKVxOJcnp28po.json
index b859aafb..e3b845c2 100644
--- a/src/packs/domains/domainCard_Midnight_Touched_uSyGKVxOJcnp28po.json
+++ b/src/packs/domains/domainCard_Midnight_Touched_uSyGKVxOJcnp28po.json
@@ -122,16 +122,10 @@
"name": "Midnight-Touched",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
"_id": "sNBuI2xIZAI4RgZy",
"img": "systems/daggerheart/assets/icons/domains/domain-card/midnight.png",
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json b/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json
index c14116d4..f561e0be 100644
--- a/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json
+++ b/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json
@@ -139,27 +139,21 @@
"_id": "0BumAWKw2aK4A5al",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.magical.dice",
+ "mode": 2,
+ "value": "d6",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.physical.dice",
+ "mode": 2,
+ "value": "d6",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.magical.dice",
- "mode": 2,
- "value": "d6",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.physical.dice",
- "mode": 2,
- "value": "d6",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json b/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json
index b6c9464a..81c0734e 100644
--- a/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json
+++ b/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json
@@ -109,21 +109,15 @@
"_id": "0JYDk5CQ66bHGQO0",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.spellcast.bonus",
+ "mode": 2,
+ "value": "+2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
- "value": "+2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Never_Upstaged_McdncxmO9K1YNP7Y.json b/src/packs/domains/domainCard_Never_Upstaged_McdncxmO9K1YNP7Y.json
index aaa2c60e..4662a882 100644
--- a/src/packs/domains/domainCard_Never_Upstaged_McdncxmO9K1YNP7Y.json
+++ b/src/packs/domains/domainCard_Never_Upstaged_McdncxmO9K1YNP7Y.json
@@ -211,27 +211,21 @@
"_id": "C6e1T2oEx6PFoRUP",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "+5",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "+5",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "+5",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "+5",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -260,27 +254,21 @@
"_id": "bMMxsBungVYB1rI8",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "+10",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "+10",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "+10",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "+10",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -309,27 +297,21 @@
"_id": "tsQRbrurzi8iqs0o",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "+15",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "+15",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "+15",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "+15",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -358,27 +340,21 @@
"_id": "3eTaSgHlmNDcymnW",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "+20",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "+20",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "+20",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "+20",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Night_Terror_zcldCuqOg3dphUVI.json b/src/packs/domains/domainCard_Night_Terror_zcldCuqOg3dphUVI.json
index 8eefeec4..57b8f862 100644
--- a/src/packs/domains/domainCard_Night_Terror_zcldCuqOg3dphUVI.json
+++ b/src/packs/domains/domainCard_Night_Terror_zcldCuqOg3dphUVI.json
@@ -150,12 +150,6 @@
"_id": "32j3ZeNMMCk1QLlM",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_On_the_Brink_zbxPl81kbWEegKQN.json b/src/packs/domains/domainCard_On_the_Brink_zbxPl81kbWEegKQN.json
index e5f90fe4..c4c89d17 100644
--- a/src/packs/domains/domainCard_On_the_Brink_zbxPl81kbWEegKQN.json
+++ b/src/packs/domains/domainCard_On_the_Brink_zbxPl81kbWEegKQN.json
@@ -23,23 +23,17 @@
"name": "On The Brink",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.damageReduction.thresholdImmunities.minor",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "UJTsJlnhi5Zi0XQ2",
"img": "systems/daggerheart/assets/icons/domains/domain-card/bone.png",
- "changes": [
- {
- "key": "system.rules.damageReduction.thresholdImmunities.minor",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Overwhelming_Aura_iEBLySZD9z8CLdz7.json b/src/packs/domains/domainCard_Overwhelming_Aura_iEBLySZD9z8CLdz7.json
index 9aa2f5b4..e73171a5 100644
--- a/src/packs/domains/domainCard_Overwhelming_Aura_iEBLySZD9z8CLdz7.json
+++ b/src/packs/domains/domainCard_Overwhelming_Aura_iEBLySZD9z8CLdz7.json
@@ -89,12 +89,6 @@
"_id": "ba9GO4NtQHYkaRR9",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.traits.presence.value",
diff --git a/src/packs/domains/domainCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json b/src/packs/domains/domainCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json
index 35ac6ce4..250bc539 100644
--- a/src/packs/domains/domainCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json
+++ b/src/packs/domains/domainCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json
@@ -23,35 +23,29 @@
"name": "Pick and Pull",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Pick nonmagical locks",
+ "priority": null
+ },
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Disarm nonmagical traps",
+ "priority": null
+ },
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Steal items from a target (either through stealth or by force)",
+ "priority": null
+ }
+ ]
},
"_id": "6IkjF8qNR0NVvvv8",
"img": "icons/tools/hand/lockpicks-steel-grey.webp",
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Pick nonmagical locks",
- "priority": null
- },
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Disarm nonmagical traps",
- "priority": null
- },
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Steal items from a target (either through stealth or by force)",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Rage_Up_GRL0cvs96vrTDckZ.json b/src/packs/domains/domainCard_Rage_Up_GRL0cvs96vrTDckZ.json
index c3493aea..13d0f540 100644
--- a/src/packs/domains/domainCard_Rage_Up_GRL0cvs96vrTDckZ.json
+++ b/src/packs/domains/domainCard_Rage_Up_GRL0cvs96vrTDckZ.json
@@ -65,12 +65,6 @@
"_id": "bq1MhcmoP6Wo5CXF",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.bonuses.damage.magical.bonus",
@@ -129,12 +123,6 @@
"_id": "t6SIjQxB6UBUJ98f",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.bonuses.damage.magical.bonus",
diff --git a/src/packs/domains/domainCard_Recovery_gsiQFT6q3WOgqerJ.json b/src/packs/domains/domainCard_Recovery_gsiQFT6q3WOgqerJ.json
index 4cfd0b19..83e3a22c 100644
--- a/src/packs/domains/domainCard_Recovery_gsiQFT6q3WOgqerJ.json
+++ b/src/packs/domains/domainCard_Recovery_gsiQFT6q3WOgqerJ.json
@@ -57,27 +57,21 @@
"_id": "smTjINqIldErFD3q",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.rest.shortRest.longMoves",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.rest.shortRest.shortMoves",
+ "mode": 2,
+ "value": "-1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.rest.shortRest.longMoves",
- "mode": 2,
- "value": "1",
- "priority": null
- },
- {
- "key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
- "value": "-1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -102,29 +96,23 @@
"name": "Recovery",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.rest.shortRest.longMoves",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.rest.shortRest.shortMoves",
+ "mode": 2,
+ "value": "-1",
+ "priority": null
+ }
+ ]
},
"_id": "7GsHTQCtNB8PEVgr",
"img": "icons/magic/life/cross-beam-green.webp",
- "changes": [
- {
- "key": "system.bonuses.rest.shortRest.longMoves",
- "mode": 2,
- "value": "1",
- "priority": null
- },
- {
- "key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
- "value": "-1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Rejuvenation_Barrier_HtWx5IIemCoorMj2.json b/src/packs/domains/domainCard_Rejuvenation_Barrier_HtWx5IIemCoorMj2.json
index 6d8757f7..bfd8fb09 100644
--- a/src/packs/domains/domainCard_Rejuvenation_Barrier_HtWx5IIemCoorMj2.json
+++ b/src/packs/domains/domainCard_Rejuvenation_Barrier_HtWx5IIemCoorMj2.json
@@ -110,12 +110,6 @@
"_id": "obul9k0P4CjFuxJD",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.resistance.physical.resistance",
diff --git a/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json b/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json
index 5d46562d..74f6293f 100644
--- a/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json
+++ b/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json
@@ -92,23 +92,17 @@
"name": "Rise Up",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "@system.proficiency",
+ "priority": 21
+ }
+ ]
},
"_id": "ulQpnnRFwW4BwMlE",
"img": "icons/magic/defensive/shield-barrier-flaming-pentagon-teal-purple.webp",
- "changes": [
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "@system.proficiency",
- "priority": 21
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json b/src/packs/domains/domainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json
index 0d98c1f9..de4872a2 100644
--- a/src/packs/domains/domainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json
+++ b/src/packs/domains/domainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json
@@ -63,27 +63,21 @@
"_id": "UaqohKZnokIPLeYf",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.rest.shortRest.shortMoves",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.rest.longRest.longMoves",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
- "value": "1",
- "priority": null
- },
- {
- "key": "system.bonuses.rest.longRest.longMoves",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json b/src/packs/domains/domainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json
index 432ff638..082f8620 100644
--- a/src/packs/domains/domainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json
+++ b/src/packs/domains/domainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json
@@ -105,23 +105,17 @@
"name": "Increase Spellcasting",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.spellcast.bonus",
+ "mode": 2,
+ "value": "+2",
+ "priority": null
+ }
+ ]
},
"_id": "7zMpgedPII5GIYUl",
"img": "systems/daggerheart/assets/icons/domains/domain-card/sage.png",
- "changes": [
- {
- "key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
- "value": "+2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -152,21 +146,15 @@
"_id": "Mmax64mlLPYxJPB7",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.traits.agility.value",
+ "mode": 1,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.traits.agility.value",
- "mode": 1,
- "value": "2",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
@@ -195,21 +183,15 @@
"_id": "p03IjcyigL4b2WD1",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.traits.instinct.value",
+ "mode": 1,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.traits.instinct.value",
- "mode": 1,
- "value": "2",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Shadowbind_kguhWlidhxe2GbT0.json b/src/packs/domains/domainCard_Shadowbind_kguhWlidhxe2GbT0.json
index a90ec0f7..1023b92c 100644
--- a/src/packs/domains/domainCard_Shadowbind_kguhWlidhxe2GbT0.json
+++ b/src/packs/domains/domainCard_Shadowbind_kguhWlidhxe2GbT0.json
@@ -89,12 +89,6 @@
"_id": "RFB4V0V4bDJ6vCL2",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json b/src/packs/domains/domainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json
index a3d98039..9c9a31c7 100644
--- a/src/packs/domains/domainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json
+++ b/src/packs/domains/domainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json
@@ -24,16 +24,10 @@
"name": "Shadowhunter Evasion",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
"_id": "A6gMv7TbMu3nV3NT",
"img": "icons/skills/movement/feet-winged-boots-glowing-yellow.webp",
- "changes": [],
"disabled": true,
"duration": {
"startTime": null,
@@ -60,23 +54,17 @@
"name": "Shadowhunter Advantage Hint",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Attack rolls while shrouded in low light or darkness.",
+ "priority": null
+ }
+ ]
},
"_id": "a1hDCNYDvF4dWt58",
"img": "icons/skills/targeting/crosshair-bars-yellow.webp",
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Attack rolls while shrouded in low light or darkness.",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Shield_Aura_rfIv6lln40Fh6EIl.json b/src/packs/domains/domainCard_Shield_Aura_rfIv6lln40Fh6EIl.json
index 64544f76..6a2b565c 100644
--- a/src/packs/domains/domainCard_Shield_Aura_rfIv6lln40Fh6EIl.json
+++ b/src/packs/domains/domainCard_Shield_Aura_rfIv6lln40Fh6EIl.json
@@ -65,21 +65,15 @@
"_id": "OQreUqdAfIt3V6uq",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.damageReduction.increasePerArmorMark",
+ "mode": 2,
+ "value": "+1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.rules.damageReduction.increasePerArmorMark",
- "mode": 2,
- "value": "+1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json b/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json
index 3e757308..b6461215 100644
--- a/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json
+++ b/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json
@@ -79,23 +79,17 @@
"name": "Shrug It Off",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.damageReduction.stressDamageReduction.any.cost",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "5DTQDVU8Jy5Nnp5V",
"img": "icons/magic/defensive/shield-barrier-deflect-teal.webp",
- "changes": [
- {
- "key": "system.rules.damageReduction.stressDamageReduction.any.cost",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Sigil_of_Retribution_RiuN0lMlfoTAhLJz.json b/src/packs/domains/domainCard_Sigil_of_Retribution_RiuN0lMlfoTAhLJz.json
index a368edad..d0933e2f 100644
--- a/src/packs/domains/domainCard_Sigil_of_Retribution_RiuN0lMlfoTAhLJz.json
+++ b/src/packs/domains/domainCard_Sigil_of_Retribution_RiuN0lMlfoTAhLJz.json
@@ -63,14 +63,8 @@
"_id": "pJntjutNO7bYX6td",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Smite_U1uWJE94HZVudujz.json b/src/packs/domains/domainCard_Smite_U1uWJE94HZVudujz.json
index 23786540..8a6d2281 100644
--- a/src/packs/domains/domainCard_Smite_U1uWJE94HZVudujz.json
+++ b/src/packs/domains/domainCard_Smite_U1uWJE94HZVudujz.json
@@ -65,14 +65,8 @@
"_id": "mqZSae8J9d7o3lon",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json b/src/packs/domains/domainCard_Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json
index 18af0877..0ee15cb9 100644
--- a/src/packs/domains/domainCard_Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json
+++ b/src/packs/domains/domainCard_Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json
@@ -63,21 +63,15 @@
"_id": "d9bZJl0yZnvOe2f3",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.immunity",
+ "mode": 5,
+ "value": "true",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.resistance.physical.immunity",
- "mode": 5,
- "value": "true",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Splendor_Touched_JT5dM3gVL6chDBYU.json b/src/packs/domains/domainCard_Splendor_Touched_JT5dM3gVL6chDBYU.json
index 6b530289..a7609b62 100644
--- a/src/packs/domains/domainCard_Splendor_Touched_JT5dM3gVL6chDBYU.json
+++ b/src/packs/domains/domainCard_Splendor_Touched_JT5dM3gVL6chDBYU.json
@@ -24,23 +24,17 @@
"name": "Splendor-Touched",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "+3",
+ "priority": null
+ }
+ ]
},
"_id": "u13fiOMD8B36PkiZ",
"img": "systems/daggerheart/assets/icons/domains/domain-card/splendor.png",
- "changes": [
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "+3",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Stunning_Sunlight_lRHo6ZkK1zybeEoG.json b/src/packs/domains/domainCard_Stunning_Sunlight_lRHo6ZkK1zybeEoG.json
index e2d68a10..3ffb8821 100644
--- a/src/packs/domains/domainCard_Stunning_Sunlight_lRHo6ZkK1zybeEoG.json
+++ b/src/packs/domains/domainCard_Stunning_Sunlight_lRHo6ZkK1zybeEoG.json
@@ -179,12 +179,6 @@
"_id": "kSLuGSI6FLhOJaGp",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Tell_No_Lies_HTv9QEPS466WsstP.json b/src/packs/domains/domainCard_Tell_No_Lies_HTv9QEPS466WsstP.json
index 1efb1374..e17842dd 100644
--- a/src/packs/domains/domainCard_Tell_No_Lies_HTv9QEPS466WsstP.json
+++ b/src/packs/domains/domainCard_Tell_No_Lies_HTv9QEPS466WsstP.json
@@ -97,16 +97,10 @@
"name": "Can't Lie",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
"_id": "5L6fC80VfbPfGmcA",
"img": "icons/magic/control/voodoo-doll-pain-damage-red.webp",
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Tempest_X7YaZgFieBlqaPdZ.json b/src/packs/domains/domainCard_Tempest_X7YaZgFieBlqaPdZ.json
index e027ca8f..9bf8f2c0 100644
--- a/src/packs/domains/domainCard_Tempest_X7YaZgFieBlqaPdZ.json
+++ b/src/packs/domains/domainCard_Tempest_X7YaZgFieBlqaPdZ.json
@@ -290,12 +290,6 @@
"_id": "oqPY3I9oO9J6l5Aj",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
@@ -338,12 +332,6 @@
"_id": "tB7AyDy0pbE9q5hM",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
@@ -374,12 +362,6 @@
"_id": "S4Vpgf3FMmq8MGrb",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
diff --git a/src/packs/domains/domainCard_Thorn_Skin_oUipGK84E2KjoKqh.json b/src/packs/domains/domainCard_Thorn_Skin_oUipGK84E2KjoKqh.json
index 2f97dd84..1f1da4dc 100644
--- a/src/packs/domains/domainCard_Thorn_Skin_oUipGK84E2KjoKqh.json
+++ b/src/packs/domains/domainCard_Thorn_Skin_oUipGK84E2KjoKqh.json
@@ -97,14 +97,8 @@
"_id": "KPA1okccsR7AQH0x",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Thought_Delver_B4choj481tqajWb9.json b/src/packs/domains/domainCard_Thought_Delver_B4choj481tqajWb9.json
index 7c8d6235..a69670d5 100644
--- a/src/packs/domains/domainCard_Thought_Delver_B4choj481tqajWb9.json
+++ b/src/packs/domains/domainCard_Thought_Delver_B4choj481tqajWb9.json
@@ -109,14 +109,8 @@
"_id": "obbNjDhwN60YhH1s",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Through_Your_Eyes_7b0mzV5QMPjVPT4o.json b/src/packs/domains/domainCard_Through_Your_Eyes_7b0mzV5QMPjVPT4o.json
index 529950b5..85f435be 100644
--- a/src/packs/domains/domainCard_Through_Your_Eyes_7b0mzV5QMPjVPT4o.json
+++ b/src/packs/domains/domainCard_Through_Your_Eyes_7b0mzV5QMPjVPT4o.json
@@ -56,12 +56,6 @@
"_id": "TCOHV7tWpunCZDxn",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "shortRest"
diff --git a/src/packs/domains/domainCard_Transcendent_Union_kVkoCLBXLAIifqpz.json b/src/packs/domains/domainCard_Transcendent_Union_kVkoCLBXLAIifqpz.json
index 4460a5db..14bdc45f 100644
--- a/src/packs/domains/domainCard_Transcendent_Union_kVkoCLBXLAIifqpz.json
+++ b/src/packs/domains/domainCard_Transcendent_Union_kVkoCLBXLAIifqpz.json
@@ -65,12 +65,6 @@
"_id": "kMcvp2QKmBP4uinB",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "shortRest"
diff --git a/src/packs/domains/domainCard_Twilight_Toll_SDjjV61TC1NceV1m.json b/src/packs/domains/domainCard_Twilight_Toll_SDjjV61TC1NceV1m.json
index cc7f45c7..b21f907e 100644
--- a/src/packs/domains/domainCard_Twilight_Toll_SDjjV61TC1NceV1m.json
+++ b/src/packs/domains/domainCard_Twilight_Toll_SDjjV61TC1NceV1m.json
@@ -96,14 +96,8 @@
"_id": "65UMKq0epBx5DbMC",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json b/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json
index 62953005..6088f1dc 100644
--- a/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json
+++ b/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json
@@ -97,21 +97,15 @@
"_id": "ZMDyDwI5RHe427O4",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Presence Rolls to avoid scrutiny",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Presence Rolls to avoid scrutiny",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Unleash_Chaos_o62i0QdbUDIiAhSq.json b/src/packs/domains/domainCard_Unleash_Chaos_o62i0QdbUDIiAhSq.json
index 69049d01..20b8f00e 100644
--- a/src/packs/domains/domainCard_Unleash_Chaos_o62i0QdbUDIiAhSq.json
+++ b/src/packs/domains/domainCard_Unleash_Chaos_o62i0QdbUDIiAhSq.json
@@ -151,14 +151,8 @@
"_id": "F2yHIwHeZmLlrkkS",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Untouchable_9QElncQUDSakuSdR.json b/src/packs/domains/domainCard_Untouchable_9QElncQUDSakuSdR.json
index 11a1a841..a5326403 100644
--- a/src/packs/domains/domainCard_Untouchable_9QElncQUDSakuSdR.json
+++ b/src/packs/domains/domainCard_Untouchable_9QElncQUDSakuSdR.json
@@ -23,23 +23,17 @@
"name": "Untouchable",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 2,
+ "value": "ceil(@system.traits.agility.value / 2)",
+ "priority": 21
+ }
+ ]
},
"_id": "H8hazlQe4Wj4JFO6",
"img": "icons/skills/movement/feet-winged-boots-glowing-yellow.webp",
- "changes": [
- {
- "key": "system.evasion",
- "mode": 2,
- "value": "ceil(@system.traits.agility.value / 2)",
- "priority": 21
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Vanishing_Dodge_GBMIElIpk4cvk1Bd.json b/src/packs/domains/domainCard_Vanishing_Dodge_GBMIElIpk4cvk1Bd.json
index f95c8814..14f7f970 100644
--- a/src/packs/domains/domainCard_Vanishing_Dodge_GBMIElIpk4cvk1Bd.json
+++ b/src/packs/domains/domainCard_Vanishing_Dodge_GBMIElIpk4cvk1Bd.json
@@ -63,14 +63,8 @@
"_id": "kxal5WfDr3hTHYpb",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Veil_of_Night_gV4L5ZZmfPrEbIDh.json b/src/packs/domains/domainCard_Veil_of_Night_gV4L5ZZmfPrEbIDh.json
index cff0c185..8eba6388 100644
--- a/src/packs/domains/domainCard_Veil_of_Night_gV4L5ZZmfPrEbIDh.json
+++ b/src/packs/domains/domainCard_Veil_of_Night_gV4L5ZZmfPrEbIDh.json
@@ -89,12 +89,6 @@
"_id": "eSfBBZ7IP8qirLu7",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.advantageSources",
diff --git a/src/packs/domains/domainCard_Vicious_Entangle_qvpvTnkAoRn9vYO4.json b/src/packs/domains/domainCard_Vicious_Entangle_qvpvTnkAoRn9vYO4.json
index 3b7358bc..cce6cef4 100644
--- a/src/packs/domains/domainCard_Vicious_Entangle_qvpvTnkAoRn9vYO4.json
+++ b/src/packs/domains/domainCard_Vicious_Entangle_qvpvTnkAoRn9vYO4.json
@@ -141,12 +141,6 @@
"_id": "Xh0wrgRUuYpwChBU",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
@@ -189,12 +183,6 @@
"_id": "2xzOqTaPJQzGqFJv",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/domains/domainCard_Vitality_sWUlSPOJEaXyQLCj.json b/src/packs/domains/domainCard_Vitality_sWUlSPOJEaXyQLCj.json
index ec47c9f9..2d42ef9f 100644
--- a/src/packs/domains/domainCard_Vitality_sWUlSPOJEaXyQLCj.json
+++ b/src/packs/domains/domainCard_Vitality_sWUlSPOJEaXyQLCj.json
@@ -66,21 +66,15 @@
"_id": "1jtgIyFvDpTb0asZ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resources.hitPoints.max",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.resources.hitPoints.max",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
@@ -109,21 +103,15 @@
"_id": "vj9rm1tLqqsSFOXF",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resources.stress.max",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.resources.stress.max",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
@@ -152,27 +140,21 @@
"_id": "BcqCG9yF6l1LRYqm",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.major",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ },
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.damageThresholds.major",
- "mode": 2,
- "value": "2",
- "priority": null
- },
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "2",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Voice_of_Reason_t3RRGH6mMYYJJCcF.json b/src/packs/domains/domainCard_Voice_of_Reason_t3RRGH6mMYYJJCcF.json
index 748adec3..5b6c21ca 100644
--- a/src/packs/domains/domainCard_Voice_of_Reason_t3RRGH6mMYYJJCcF.json
+++ b/src/packs/domains/domainCard_Voice_of_Reason_t3RRGH6mMYYJJCcF.json
@@ -23,29 +23,23 @@
"name": "Advantage",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "De-escalate violent situations.",
+ "priority": null
+ },
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Convince someone to follow your lead.",
+ "priority": null
+ }
+ ]
},
"_id": "qWDojebJXMPIP629",
"img": "icons/skills/social/diplomacy-handshake.webp",
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "De-escalate violent situations.",
- "priority": null
- },
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Convince someone to follow your lead.",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -72,23 +66,17 @@
"name": "Emboldened (activate manually)",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.proficiency",
+ "mode": 2,
+ "value": "+1",
+ "priority": null
+ }
+ ]
},
"_id": "i5dnpOxTtWV1J46k",
"img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp",
- "changes": [
- {
- "key": "system.proficiency",
- "mode": 2,
- "value": "+1",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Wall_Walk_1ROT08E1UVBwHLAS.json b/src/packs/domains/domainCard_Wall_Walk_1ROT08E1UVBwHLAS.json
index 066600b1..2a229101 100644
--- a/src/packs/domains/domainCard_Wall_Walk_1ROT08E1UVBwHLAS.json
+++ b/src/packs/domains/domainCard_Wall_Walk_1ROT08E1UVBwHLAS.json
@@ -65,14 +65,8 @@
"_id": "s1q4O65vtoEDvvUF",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/domains/domainCard_Words_of_Discord_ZjAdi1FSNCDDHI3X.json b/src/packs/domains/domainCard_Words_of_Discord_ZjAdi1FSNCDDHI3X.json
index d743f5e1..eb14eead 100644
--- a/src/packs/domains/domainCard_Words_of_Discord_ZjAdi1FSNCDDHI3X.json
+++ b/src/packs/domains/domainCard_Words_of_Discord_ZjAdi1FSNCDDHI3X.json
@@ -106,14 +106,8 @@
"_id": "DGp7TSriFWotAvP6",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json b/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json
index 25340e77..23c1d966 100644
--- a/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json
+++ b/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json
@@ -271,12 +271,6 @@
"_id": "LSeftEwgBbXXkLw3",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/environments/environment_Burning_Heart_of_the_Woods_oY69NN4rYxoRE4hl.json b/src/packs/environments/environment_Burning_Heart_of_the_Woods_oY69NN4rYxoRE4hl.json
index 86d3eff4..95266957 100644
--- a/src/packs/environments/environment_Burning_Heart_of_the_Woods_oY69NN4rYxoRE4hl.json
+++ b/src/packs/environments/environment_Burning_Heart_of_the_Woods_oY69NN4rYxoRE4hl.json
@@ -264,12 +264,6 @@
"_id": "gCkqvBUljsOsYacB",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json b/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
index 1295db59..f3845f23 100644
--- a/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
+++ b/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
@@ -183,21 +183,15 @@
"_id": "8yNIw8Y7rfMdOqWC",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.dualityRoll.defaultHopeDice",
+ "mode": 5,
+ "value": "d10",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.rules.dualityRoll.defaultHopeDice",
- "mode": 5,
- "value": "d10",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -285,14 +279,8 @@
"_id": "dYQBQq1xIysM0qLo",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
@@ -321,27 +309,21 @@
"_id": "Hxw5lXE77bGzuaOu",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.dice",
+ "mode": 2,
+ "value": "1d10",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.dice",
+ "mode": 2,
+ "value": "1d10",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.dice",
- "mode": 2,
- "value": "1d10",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.dice",
- "mode": 2,
- "value": "1d10",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json b/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json
index 637cdd41..e7ca7832 100644
--- a/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json
+++ b/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json
@@ -397,14 +397,8 @@
"_id": "znFFS76Nopwb8Yi7",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
@@ -428,39 +422,33 @@
"_id": "i3KYskkA9D4GHbXi",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.difficulty",
+ "mode": 2,
+ "value": "0",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "0",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "0",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.roll.attack.bonus",
+ "mode": 2,
+ "value": "0",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.difficulty",
- "mode": 2,
- "value": "0",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "0",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "0",
- "priority": null
- },
- {
- "key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
- "value": "0",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json b/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json
index 1bd07a57..f2da690b 100644
--- a/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json
+++ b/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json
@@ -203,21 +203,15 @@
"_id": "S9gl4jqdrziC1F0h",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.physical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.resistance.physical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/environments/environment_Raging_River_t4cdqTfzcqP3H1vJ.json b/src/packs/environments/environment_Raging_River_t4cdqTfzcqP3H1vJ.json
index 6c87c446..21e1bbe5 100644
--- a/src/packs/environments/environment_Raging_River_t4cdqTfzcqP3H1vJ.json
+++ b/src/packs/environments/environment_Raging_River_t4cdqTfzcqP3H1vJ.json
@@ -310,12 +310,6 @@
"_id": "T0ouSQyR8cVpAn79",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/items/consumables/consumable_Death_Tea_xDnJeF1grkmKck8Q.json b/src/packs/items/consumables/consumable_Death_Tea_xDnJeF1grkmKck8Q.json
index 5fbae976..c3140964 100644
--- a/src/packs/items/consumables/consumable_Death_Tea_xDnJeF1grkmKck8Q.json
+++ b/src/packs/items/consumables/consumable_Death_Tea_xDnJeF1grkmKck8Q.json
@@ -60,14 +60,8 @@
"_id": "IqlpqsgurXsUEQhs",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/consumables/consumable_Featherbone_DpxEMpwfasEBpORU.json b/src/packs/items/consumables/consumable_Featherbone_DpxEMpwfasEBpORU.json
index 9b5bd0df..60801419 100644
--- a/src/packs/items/consumables/consumable_Featherbone_DpxEMpwfasEBpORU.json
+++ b/src/packs/items/consumables/consumable_Featherbone_DpxEMpwfasEBpORU.json
@@ -60,14 +60,8 @@
"_id": "VfJIJBW96e45xQHY",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/consumables/consumable_Gill_Salve_Nvbb9mze6o5D0AEg.json b/src/packs/items/consumables/consumable_Gill_Salve_Nvbb9mze6o5D0AEg.json
index 890c61e4..2e0ac7b6 100644
--- a/src/packs/items/consumables/consumable_Gill_Salve_Nvbb9mze6o5D0AEg.json
+++ b/src/packs/items/consumables/consumable_Gill_Salve_Nvbb9mze6o5D0AEg.json
@@ -60,14 +60,8 @@
"_id": "5rL9CY5GO9SJcEZq",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/consumables/consumable_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json b/src/packs/items/consumables/consumable_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json
index 70291404..1472c00a 100644
--- a/src/packs/items/consumables/consumable_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json
+++ b/src/packs/items/consumables/consumable_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json
@@ -60,21 +60,15 @@
"_id": "yx4ZkXeuXgw2KvV4",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.dice",
+ "mode": 2,
+ "value": "1d6",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.dice",
- "mode": 2,
- "value": "1d6",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/consumables/consumable_Homet_s_Secret_Potion_VSwa1LpQ9PjZKsWF.json b/src/packs/items/consumables/consumable_Homet_s_Secret_Potion_VSwa1LpQ9PjZKsWF.json
index 00eb03f1..9b88b267 100644
--- a/src/packs/items/consumables/consumable_Homet_s_Secret_Potion_VSwa1LpQ9PjZKsWF.json
+++ b/src/packs/items/consumables/consumable_Homet_s_Secret_Potion_VSwa1LpQ9PjZKsWF.json
@@ -60,14 +60,8 @@
"_id": "QyzXAnvho7lVQQtP",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/consumables/consumable_Improved_Grindletooth_Venom_BqBWXXe9T07AMV4u.json b/src/packs/items/consumables/consumable_Improved_Grindletooth_Venom_BqBWXXe9T07AMV4u.json
index 560644b3..ed8ca562 100644
--- a/src/packs/items/consumables/consumable_Improved_Grindletooth_Venom_BqBWXXe9T07AMV4u.json
+++ b/src/packs/items/consumables/consumable_Improved_Grindletooth_Venom_BqBWXXe9T07AMV4u.json
@@ -60,21 +60,15 @@
"_id": "P7tbNjq58bQ9R1Cc",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.dice",
+ "mode": 2,
+ "value": "1d8",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.dice",
- "mode": 2,
- "value": "1d8",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/consumables/consumable_Morphing_Clay_f1NHVSIHJJCIOaBl.json b/src/packs/items/consumables/consumable_Morphing_Clay_f1NHVSIHJJCIOaBl.json
index 90dd4fdc..b7f44fea 100644
--- a/src/packs/items/consumables/consumable_Morphing_Clay_f1NHVSIHJJCIOaBl.json
+++ b/src/packs/items/consumables/consumable_Morphing_Clay_f1NHVSIHJJCIOaBl.json
@@ -60,12 +60,6 @@
"_id": "rMno0zO5Cbwlu4zn",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "shortRest"
diff --git a/src/packs/items/consumables/consumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json b/src/packs/items/consumables/consumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json
index 342bf60b..62d9e6bf 100644
--- a/src/packs/items/consumables/consumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json
+++ b/src/packs/items/consumables/consumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json
@@ -60,21 +60,15 @@
"_id": "L68lFhuWdS3ppDxR",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.magical.dice",
+ "mode": 2,
+ "value": "1d12",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.magical.dice",
- "mode": 2,
- "value": "1d12",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/consumables/consumable_Ogre_Musk_qr1bosjFcUfuwq4B.json b/src/packs/items/consumables/consumable_Ogre_Musk_qr1bosjFcUfuwq4B.json
index 59e51e80..6e384417 100644
--- a/src/packs/items/consumables/consumable_Ogre_Musk_qr1bosjFcUfuwq4B.json
+++ b/src/packs/items/consumables/consumable_Ogre_Musk_qr1bosjFcUfuwq4B.json
@@ -60,12 +60,6 @@
"_id": "n73d0J4oMCBIPWHN",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "shortRest"
diff --git a/src/packs/items/consumables/consumable_Redthorn_Saliva_s2Exl2XFuoOhtIov.json b/src/packs/items/consumables/consumable_Redthorn_Saliva_s2Exl2XFuoOhtIov.json
index 69edf2df..0a2b6469 100644
--- a/src/packs/items/consumables/consumable_Redthorn_Saliva_s2Exl2XFuoOhtIov.json
+++ b/src/packs/items/consumables/consumable_Redthorn_Saliva_s2Exl2XFuoOhtIov.json
@@ -60,21 +60,15 @@
"_id": "tWf00ezdpxQQLuZ1",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.dice",
+ "mode": 2,
+ "value": "1d12",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.dice",
- "mode": 2,
- "value": "1d12",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/consumables/consumable_Vial_of_Moondrip_VqEX5YwK5oL3r1t6.json b/src/packs/items/consumables/consumable_Vial_of_Moondrip_VqEX5YwK5oL3r1t6.json
index 3fc572fd..b81a2604 100644
--- a/src/packs/items/consumables/consumable_Vial_of_Moondrip_VqEX5YwK5oL3r1t6.json
+++ b/src/packs/items/consumables/consumable_Vial_of_Moondrip_VqEX5YwK5oL3r1t6.json
@@ -60,12 +60,6 @@
"_id": "548KAUPcSbQLsivh",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "shortRest"
diff --git a/src/packs/items/consumables/consumable_Wingsprout_n10vozlmosVR6lo4.json b/src/packs/items/consumables/consumable_Wingsprout_n10vozlmosVR6lo4.json
index 1bdd4bc0..e0ea5ea5 100644
--- a/src/packs/items/consumables/consumable_Wingsprout_n10vozlmosVR6lo4.json
+++ b/src/packs/items/consumables/consumable_Wingsprout_n10vozlmosVR6lo4.json
@@ -60,14 +60,8 @@
"_id": "80F8gAn7ejhhNL7R",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/loot/loot_Bag_of_Ficklesand_v758j4FwNVAurhYK.json b/src/packs/items/loot/loot_Bag_of_Ficklesand_v758j4FwNVAurhYK.json
index 2cb80d86..44565535 100644
--- a/src/packs/items/loot/loot_Bag_of_Ficklesand_v758j4FwNVAurhYK.json
+++ b/src/packs/items/loot/loot_Bag_of_Ficklesand_v758j4FwNVAurhYK.json
@@ -74,14 +74,8 @@
"_id": "Ouq3xWzj5rf6olVs",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/loot/loot_Charging_Quiver_gsUDP90d4SRtLEUn.json b/src/packs/items/loot/loot_Charging_Quiver_gsUDP90d4SRtLEUn.json
index ee7d7a10..8f9a5904 100644
--- a/src/packs/items/loot/loot_Charging_Quiver_gsUDP90d4SRtLEUn.json
+++ b/src/packs/items/loot/loot_Charging_Quiver_gsUDP90d4SRtLEUn.json
@@ -20,27 +20,21 @@
"_id": "0zebbOsyjkm9IqE6",
"img": "icons/weapons/ammunition/arrow-broadhead-glowing-orange.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "@system.tier",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "@system.tier",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "@system.tier",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "@system.tier",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/items/loot/loot_Glamour_Stone_Pj17cvdJ1XG1jv6I.json b/src/packs/items/loot/loot_Glamour_Stone_Pj17cvdJ1XG1jv6I.json
index 424d7a04..0521ccd8 100644
--- a/src/packs/items/loot/loot_Glamour_Stone_Pj17cvdJ1XG1jv6I.json
+++ b/src/packs/items/loot/loot_Glamour_Stone_Pj17cvdJ1XG1jv6I.json
@@ -57,14 +57,8 @@
"_id": "K5SB6tfuDkdVaQYe",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/loot/loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json b/src/packs/items/loot/loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json
index b87bd1b0..1dcf503c 100644
--- a/src/packs/items/loot/loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json
+++ b/src/packs/items/loot/loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json
@@ -43,27 +43,21 @@
"_id": "lRfqfbwlfxzPbE6U",
"img": "icons/weapons/ammunition/arrow-broadhead-glowing-orange.webp",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "@system.proficiency",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "@system.proficiency",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "@system.proficiency",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "@system.proficiency",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/items/loot/loot_Ring_of_Resistance_aUqRifqR5JXXa1dN.json b/src/packs/items/loot/loot_Ring_of_Resistance_aUqRifqR5JXXa1dN.json
index 3668b6b7..47f38431 100644
--- a/src/packs/items/loot/loot_Ring_of_Resistance_aUqRifqR5JXXa1dN.json
+++ b/src/packs/items/loot/loot_Ring_of_Resistance_aUqRifqR5JXXa1dN.json
@@ -50,27 +50,21 @@
"_id": "Sj7uGf560T7u4rlX",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resistance.magical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ },
+ {
+ "key": "system.resistance.physical.resistance",
+ "mode": 5,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.resistance.magical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- },
- {
- "key": "system.resistance.physical.resistance",
- "mode": 5,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/loot/loot_Ring_of_Silence_K1ysGnTpNyxPu5Au.json b/src/packs/items/loot/loot_Ring_of_Silence_K1ysGnTpNyxPu5Au.json
index 3521098d..b44419e6 100644
--- a/src/packs/items/loot/loot_Ring_of_Silence_K1ysGnTpNyxPu5Au.json
+++ b/src/packs/items/loot/loot_Ring_of_Silence_K1ysGnTpNyxPu5Au.json
@@ -57,14 +57,8 @@
"_id": "9JSLRu7amQ4iuIO7",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json b/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json
index 7b51d436..975b2489 100644
--- a/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json
+++ b/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json
@@ -113,22 +113,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "nRNnU57i7RMJoklC",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json b/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json
index a727bcd5..8910a1a4 100644
--- a/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json
+++ b/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json
@@ -112,22 +112,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "VnV5X9MBMabhz47b",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json b/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json
index 4581c52f..23c78cc8 100644
--- a/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json
+++ b/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json
@@ -113,22 +113,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "wu2AmDvgeWI3hmRQ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json b/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json
index dd48db21..64337b2b 100644
--- a/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json
+++ b/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json
@@ -113,20 +113,20 @@
"name": "Paired",
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "ITEM.@system.tier + 1"
- }
- ],
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
- }
+ },
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "ITEM.@system.tier + 1"
+ }
+ ]
},
"_id": "zQMaG3JcUWJR9k2L",
"type": "base",
diff --git a/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json b/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json
index a63789f3..55bcc11f 100644
--- a/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json
+++ b/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json
@@ -113,20 +113,20 @@
"name": "Paired",
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "ITEM.@system.tier + 1"
- }
- ],
"system": {
"rangeDependence": {
"enabled": true,
- "range": "melee",
+ "type": "withinRange",
"target": "hostile",
- "type": "withinRange"
- }
+ "range": "melee"
+ },
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "ITEM.@system.tier + 1"
+ }
+ ]
},
"_id": "6tJmTBsumbPmEwkY",
"type": "base",
diff --git a/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json b/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json
index 6959fb30..4ee53b92 100644
--- a/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json
+++ b/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json
@@ -113,22 +113,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "dXHsy9qr5FWZqsVq",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json b/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json
index 87c6f7e8..3e7662da 100644
--- a/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json
+++ b/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json
@@ -113,22 +113,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "mqcpj2cFAprf2AmY",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json b/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json
index 33f96030..71f03625 100644
--- a/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json
+++ b/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json
@@ -112,22 +112,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "1f6fFhOLwZrmA6e5",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json b/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json
index 6d6f1921..c0b2d460 100644
--- a/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json
+++ b/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json
@@ -113,22 +113,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "228lcQpohdJ3Bbga",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json b/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json
index 96ecd37f..070e2374 100644
--- a/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json
+++ b/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json
@@ -113,20 +113,20 @@
"name": "Paired",
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "ITEM.@system.tier + 1"
- }
- ],
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
- }
+ },
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "ITEM.@system.tier + 1"
+ }
+ ]
},
"_id": "UW2fqbhBqvnK1coG",
"type": "base",
diff --git a/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json b/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json
index 1553d75d..5b0282f1 100644
--- a/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json
+++ b/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json
@@ -113,20 +113,20 @@
"name": "Paired",
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "ITEM.@system.tier + 1"
- }
- ],
"system": {
"rangeDependence": {
"enabled": true,
- "range": "melee",
+ "type": "withinRange",
"target": "hostile",
- "type": "withinRange"
- }
+ "range": "melee"
+ },
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "ITEM.@system.tier + 1"
+ }
+ ]
},
"_id": "PMXG4l85UkXRf41E",
"type": "base",
diff --git a/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json b/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json
index 21fe863b..f511af8b 100644
--- a/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json
+++ b/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json
@@ -113,22 +113,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "LvxPAfrKuRfgubGV",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json b/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json
index f947acac..6d022c8a 100644
--- a/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json
+++ b/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json
@@ -112,22 +112,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "TvsoAiqHCwgtYat1",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json b/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json
index 361d0353..3a09f8e4 100644
--- a/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json
+++ b/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json
@@ -113,22 +113,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "ujb6VAqjyXmfnnjy",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json b/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json
index a2203a1d..cfc648de 100644
--- a/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json
+++ b/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json
@@ -113,20 +113,20 @@
"name": "Paired",
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "ITEM.@system.tier + 1"
- }
- ],
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
- }
+ },
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "ITEM.@system.tier + 1"
+ }
+ ]
},
"_id": "ebloMf4gItx38xkZ",
"type": "base",
diff --git a/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json b/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json
index cf63bde2..33859bf4 100644
--- a/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json
+++ b/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json
@@ -113,20 +113,20 @@
"name": "Paired",
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "ITEM.@system.tier + 1"
- }
- ],
"system": {
"rangeDependence": {
"enabled": true,
- "range": "melee",
+ "type": "withinRange",
"target": "hostile",
- "type": "withinRange"
- }
+ "range": "melee"
+ },
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "ITEM.@system.tier + 1"
+ }
+ ]
},
"_id": "WAqE3sZFkTefglDq",
"type": "base",
diff --git a/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json b/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json
index 0ea874f8..61f91b58 100644
--- a/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json
+++ b/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json
@@ -113,21 +113,21 @@
"name": "Paired",
"description": "
Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range
",
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "ITEM.@system.tier + 1",
- "priority": null
- }
- ],
"system": {
"rangeDependence": {
"enabled": true,
"range": "melee",
"target": "hostile",
"type": "withinRange"
- }
+ },
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "ITEM.@system.tier + 1",
+ "priority": null
+ }
+ ]
},
"_id": "djNtNpasgNDRP8Dd",
"type": "base",
diff --git a/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json b/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json
index 058d138e..ddaa312f 100644
--- a/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json
+++ b/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json
@@ -113,20 +113,20 @@
"name": "Paired",
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
- "value": "ITEM.@system.tier + 1"
- }
- ],
"system": {
"rangeDependence": {
"enabled": true,
- "range": "melee",
+ "type": "withinRange",
"target": "hostile",
- "type": "withinRange"
- }
+ "range": "melee"
+ },
+ "changes": [
+ {
+ "key": "system.bonuses.damage.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "ITEM.@system.tier + 1"
+ }
+ ]
},
"_id": "HKh73AHxImdgxgTg",
"type": "base",
diff --git a/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json b/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json
index 18f635eb..3821342f 100644
--- a/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json
+++ b/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json
@@ -113,22 +113,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "G9mMGxBSexwjWTYV",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json b/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json
index 0c57dd50..df9186ac 100644
--- a/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json
+++ b/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json
@@ -113,22 +113,16 @@
"name": "Reliable",
"description": "+1 to attack rolls",
"img": "icons/skills/melee/strike-sword-slashing-red.webp",
- "changes": [
- {
- "key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
- "value": "1"
- }
- ],
"_id": "cOYeI9TxHXpDwszu",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.primaryWeapon.bonus",
+ "mode": 2,
+ "value": "1"
+ }
+ ]
},
"disabled": false,
"duration": {
diff --git a/src/packs/subclasses/feature_Act_of_Reprisal_k7vvMJtEcxMWUUrW.json b/src/packs/subclasses/feature_Act_of_Reprisal_k7vvMJtEcxMWUUrW.json
index 5dee0c1c..4c862887 100644
--- a/src/packs/subclasses/feature_Act_of_Reprisal_k7vvMJtEcxMWUUrW.json
+++ b/src/packs/subclasses/feature_Act_of_Reprisal_k7vvMJtEcxMWUUrW.json
@@ -54,12 +54,6 @@
"_id": "9Uo0yOYGn3vandPp",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [],
"duration": {
"type": "temporary",
diff --git a/src/packs/subclasses/feature_Adrenaline_uByM34yQlw38yf1V.json b/src/packs/subclasses/feature_Adrenaline_uByM34yQlw38yf1V.json
index dc25498b..764dd92a 100644
--- a/src/packs/subclasses/feature_Adrenaline_uByM34yQlw38yf1V.json
+++ b/src/packs/subclasses/feature_Adrenaline_uByM34yQlw38yf1V.json
@@ -25,27 +25,21 @@
"_id": "HMx9uZ54mvMiH95x",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "@system.levelData.level.current",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "@system.levelData.level.current",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "@system.levelData.level.current",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "@system.levelData.level.current",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Advanced_Training_uGcs785h94RMtueH.json b/src/packs/subclasses/feature_Advanced_Training_uGcs785h94RMtueH.json
index 16a5cd79..f15d1efa 100644
--- a/src/packs/subclasses/feature_Advanced_Training_uGcs785h94RMtueH.json
+++ b/src/packs/subclasses/feature_Advanced_Training_uGcs785h94RMtueH.json
@@ -21,23 +21,17 @@
"name": "Advanced Training",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.companionData.levelupChoices",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
"_id": "bKOuMxhB2Jth3j2T",
"img": "icons/creatures/mammals/wolf-howl-moon-gray.webp",
- "changes": [
- {
- "key": "system.companionData.levelupChoices",
- "mode": 2,
- "value": "2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json b/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json
index e92b71ad..c884bc6f 100644
--- a/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json
+++ b/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json
@@ -29,23 +29,17 @@
"name": "Charged",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "+10",
+ "priority": null
+ }
+ ]
},
"_id": "z49V45ir45HGHOBB",
"img": "icons/magic/unholy/strike-hand-glow-pink.webp",
- "changes": [
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "+10",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Ascendant_fefLgx6kcYWusjBb.json b/src/packs/subclasses/feature_Ascendant_fefLgx6kcYWusjBb.json
index 737930df..845e287d 100644
--- a/src/packs/subclasses/feature_Ascendant_fefLgx6kcYWusjBb.json
+++ b/src/packs/subclasses/feature_Ascendant_fefLgx6kcYWusjBb.json
@@ -21,23 +21,17 @@
"name": "Ascendant",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "+4",
+ "priority": null
+ }
+ ]
},
"_id": "7M8UsvVweRtT3E85",
"img": "icons/magic/defensive/shield-barrier-deflect-gold.webp",
- "changes": [
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "+4",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_At_Ease_xPWFvGvtUjIcqgJq.json b/src/packs/subclasses/feature_At_Ease_xPWFvGvtUjIcqgJq.json
index ce628a2f..abc5fbfc 100644
--- a/src/packs/subclasses/feature_At_Ease_xPWFvGvtUjIcqgJq.json
+++ b/src/packs/subclasses/feature_At_Ease_xPWFvGvtUjIcqgJq.json
@@ -21,23 +21,17 @@
"name": "At Ease",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resources.stress.max",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "xbS4Lr3dWpXUCHEi",
"img": "icons/magic/holy/meditation-chi-focus-blue.webp",
- "changes": [
- {
- "key": "system.resources.stress.max",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Battle_Bonded_hWsKyed1vfILg0I8.json b/src/packs/subclasses/feature_Battle_Bonded_hWsKyed1vfILg0I8.json
index 578be0a3..9f68639f 100644
--- a/src/packs/subclasses/feature_Battle_Bonded_hWsKyed1vfILg0I8.json
+++ b/src/packs/subclasses/feature_Battle_Bonded_hWsKyed1vfILg0I8.json
@@ -21,12 +21,6 @@
"name": "Battle Bonded",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.evasion",
diff --git a/src/packs/subclasses/feature_Battlemage_Y9eGMewnFZgPvX0M.json b/src/packs/subclasses/feature_Battlemage_Y9eGMewnFZgPvX0M.json
index 9e389095..c9b54d71 100644
--- a/src/packs/subclasses/feature_Battlemage_Y9eGMewnFZgPvX0M.json
+++ b/src/packs/subclasses/feature_Battlemage_Y9eGMewnFZgPvX0M.json
@@ -21,23 +21,17 @@
"name": "Battlemage",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.resources.hitPoints.max",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "6jjKzvBxAJTHHGoX",
"img": "icons/equipment/chest/collar-steel.webp",
- "changes": [
- {
- "key": "system.resources.hitPoints.max",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Conjure_Shield_oirsCnN66GOlK3Fa.json b/src/packs/subclasses/feature_Conjure_Shield_oirsCnN66GOlK3Fa.json
index 99b04487..0455de3d 100644
--- a/src/packs/subclasses/feature_Conjure_Shield_oirsCnN66GOlK3Fa.json
+++ b/src/packs/subclasses/feature_Conjure_Shield_oirsCnN66GOlK3Fa.json
@@ -21,23 +21,17 @@
"name": "Conjure Shield",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 2,
+ "value": "@system.proficiency",
+ "priority": 21
+ }
+ ]
},
"_id": "0i7GVOvjH6bK5AUM",
"img": "icons/magic/defensive/barrier-shield-dome-blue-purple.webp",
- "changes": [
- {
- "key": "system.evasion",
- "mode": 2,
- "value": "@system.proficiency",
- "priority": 21
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Elemental_Aura_2JH9NaOh69yN80Gw.json b/src/packs/subclasses/feature_Elemental_Aura_2JH9NaOh69yN80Gw.json
index e0476a56..cc6ff640 100644
--- a/src/packs/subclasses/feature_Elemental_Aura_2JH9NaOh69yN80Gw.json
+++ b/src/packs/subclasses/feature_Elemental_Aura_2JH9NaOh69yN80Gw.json
@@ -223,12 +223,6 @@
"_id": "H7W52ps5d3UGmaFr",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
@@ -259,12 +253,6 @@
"_id": "WX5AMEpmUAutB9Hm",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": []
},
"disabled": false,
@@ -295,12 +283,6 @@
"transfer": false,
"statuses": [],
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.traits.strength.value",
diff --git a/src/packs/subclasses/feature_Elemental_Dominion_EFUJHrkTuyv8uA9l.json b/src/packs/subclasses/feature_Elemental_Dominion_EFUJHrkTuyv8uA9l.json
index 2476046c..5035393f 100644
--- a/src/packs/subclasses/feature_Elemental_Dominion_EFUJHrkTuyv8uA9l.json
+++ b/src/packs/subclasses/feature_Elemental_Dominion_EFUJHrkTuyv8uA9l.json
@@ -141,21 +141,15 @@
"_id": "FoBFRSXRfGa1zkiX",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- }
+ "changes": [
+ {
+ "key": "system.proficiency",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.proficiency",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -184,12 +178,6 @@
"_id": "bGwFZZT4juuaIRmZ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "veryFar"
- },
"changes": [],
"duration": {
"type": "temporary"
@@ -232,21 +220,15 @@
"_id": "edF2zvvlcGf54r2n",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.evasion",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -275,14 +257,8 @@
"_id": "p5FoUb4JKQFP405d",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json b/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json
index 45ffde60..e7e282b4 100644
--- a/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json
+++ b/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json
@@ -243,27 +243,21 @@
"_id": "7xyUtUbBk5jbNnqY",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.major",
+ "mode": 2,
+ "value": "@system.proficiency",
+ "priority": 21
+ },
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "@system.proficiency",
+ "priority": 21
+ }
+ ]
},
- "changes": [
- {
- "key": "system.damageThresholds.major",
- "mode": 2,
- "value": "@system.proficiency",
- "priority": 21
- },
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "@system.proficiency",
- "priority": 21
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -292,21 +286,15 @@
"_id": "3ck6CeapLxQVjE2W",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Advantage on Agility Rolls",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Advantage on Agility Rolls",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -335,14 +323,8 @@
"_id": "Jy6dpEbzkZ2eRDf5",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
@@ -371,14 +353,8 @@
"_id": "ANle8tuOEZIevTWv",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json b/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json
index 8a6b742a..8ab51263 100644
--- a/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json
+++ b/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json
@@ -98,21 +98,15 @@
"_id": "EY87mY6ULfIt3XC8",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.roll.action.bonus",
+ "mode": 2,
+ "value": "+2",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.roll.action.bonus",
- "mode": 2,
- "value": "+2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
@@ -141,27 +135,21 @@
"_id": "WwibpgaO6Kkks7aZ",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.magical.bonus",
+ "mode": 2,
+ "value": "+3",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.physical.bonus",
+ "mode": 2,
+ "value": "+3",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
- "value": "+3",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
- "value": "+3",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Elusive_Predator_Cjtc43V3IzAmfIFG.json b/src/packs/subclasses/feature_Elusive_Predator_Cjtc43V3IzAmfIFG.json
index 82cd55a0..865268e9 100644
--- a/src/packs/subclasses/feature_Elusive_Predator_Cjtc43V3IzAmfIFG.json
+++ b/src/packs/subclasses/feature_Elusive_Predator_Cjtc43V3IzAmfIFG.json
@@ -21,12 +21,6 @@
"name": "Elusive Predator",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.evasion",
diff --git a/src/packs/subclasses/feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json b/src/packs/subclasses/feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json
index 0eb3240e..c5814cdc 100644
--- a/src/packs/subclasses/feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json
+++ b/src/packs/subclasses/feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json
@@ -20,23 +20,17 @@
"name": "Rally:d10",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.rally",
+ "mode": 5,
+ "value": "d10",
+ "priority": null
+ }
+ ]
},
"_id": "RSmscgGyuHJucF6C",
"img": "icons/sundries/documents/document-letter-blue.webp",
- "changes": [
- {
- "key": "system.bonuses.rally",
- "mode": 5,
- "value": "d10",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Ethereal_Visage_tyGB6wRKjYdIBK1i.json b/src/packs/subclasses/feature_Ethereal_Visage_tyGB6wRKjYdIBK1i.json
index 43039d73..59164f27 100644
--- a/src/packs/subclasses/feature_Ethereal_Visage_tyGB6wRKjYdIBK1i.json
+++ b/src/packs/subclasses/feature_Ethereal_Visage_tyGB6wRKjYdIBK1i.json
@@ -21,23 +21,17 @@
"name": "Ethereal Visage",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.advantageSources",
+ "mode": 2,
+ "value": "Presence rolls while flying",
+ "priority": null
+ }
+ ]
},
"_id": "Ns1DcQ8wo47LhlL3",
"img": "icons/magic/holy/saint-glass-portrait-halo.webp",
- "changes": [
- {
- "key": "system.advantageSources",
- "mode": 2,
- "value": "Presence rolls while flying",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Expert_Training_iCXtOWBKv1FdKdWz.json b/src/packs/subclasses/feature_Expert_Training_iCXtOWBKv1FdKdWz.json
index 06819dc9..e356c3a9 100644
--- a/src/packs/subclasses/feature_Expert_Training_iCXtOWBKv1FdKdWz.json
+++ b/src/packs/subclasses/feature_Expert_Training_iCXtOWBKv1FdKdWz.json
@@ -21,23 +21,17 @@
"name": "Expert Training",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.companionData.levelupChoices",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "rknTONvaUDZ2Yz1W",
"img": "icons/creatures/mammals/dog-husky-white-blue.webp",
- "changes": [
- {
- "key": "system.companionData.levelupChoices",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json b/src/packs/subclasses/feature_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json
index cdebe9b3..2b338bb3 100644
--- a/src/packs/subclasses/feature_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json
+++ b/src/packs/subclasses/feature_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json
@@ -21,23 +21,17 @@
"name": "Fleeting Shadow",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.evasion",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "hsEwoHkNr2qVwm2H",
"img": "icons/magic/unholy/projectile-flame-white-purple.webp",
- "changes": [
- {
- "key": "system.evasion",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Gifted_Performer_99U7YWNCxFZHCiT0.json b/src/packs/subclasses/feature_Gifted_Performer_99U7YWNCxFZHCiT0.json
index f65cd041..47a597e7 100644
--- a/src/packs/subclasses/feature_Gifted_Performer_99U7YWNCxFZHCiT0.json
+++ b/src/packs/subclasses/feature_Gifted_Performer_99U7YWNCxFZHCiT0.json
@@ -186,12 +186,6 @@
"_id": "FK4IdbxluRErfYor",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "close"
- },
"changes": [],
"duration": {
"type": "temporary"
diff --git a/src/packs/subclasses/feature_Iron_Will_7AVRNyBcd1Nffjtn.json b/src/packs/subclasses/feature_Iron_Will_7AVRNyBcd1Nffjtn.json
index bea62e2b..e45f91e0 100644
--- a/src/packs/subclasses/feature_Iron_Will_7AVRNyBcd1Nffjtn.json
+++ b/src/packs/subclasses/feature_Iron_Will_7AVRNyBcd1Nffjtn.json
@@ -21,23 +21,17 @@
"name": "Iron Will",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.rules.damageReduction.maxArmorMarked.value",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "htEDIjCEWYtznpRV",
"img": "icons/equipment/chest/breastplate-helmet-metal.webp",
- "changes": [
- {
- "key": "system.rules.damageReduction.maxArmorMarked.value",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Nemesis_DPKmipNRlSAMs2Cg.json b/src/packs/subclasses/feature_Nemesis_DPKmipNRlSAMs2Cg.json
index 3b2d440c..f3931f8c 100644
--- a/src/packs/subclasses/feature_Nemesis_DPKmipNRlSAMs2Cg.json
+++ b/src/packs/subclasses/feature_Nemesis_DPKmipNRlSAMs2Cg.json
@@ -60,14 +60,8 @@
"_id": "JoBFHkhLbm4JyuZm",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Ruthless_Predator_Qny2J3R35bvC0Cey.json b/src/packs/subclasses/feature_Ruthless_Predator_Qny2J3R35bvC0Cey.json
index 135447fa..64bde511 100644
--- a/src/packs/subclasses/feature_Ruthless_Predator_Qny2J3R35bvC0Cey.json
+++ b/src/packs/subclasses/feature_Ruthless_Predator_Qny2J3R35bvC0Cey.json
@@ -60,21 +60,15 @@
"_id": "8BNwCS7ueIQuvn2M",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- }
+ "changes": [
+ {
+ "key": "system.proficiency",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.proficiency",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Shadow_Stepper_hAwTXjhyphiE3aeW.json b/src/packs/subclasses/feature_Shadow_Stepper_hAwTXjhyphiE3aeW.json
index 7e6fa730..fcba875a 100644
--- a/src/packs/subclasses/feature_Shadow_Stepper_hAwTXjhyphiE3aeW.json
+++ b/src/packs/subclasses/feature_Shadow_Stepper_hAwTXjhyphiE3aeW.json
@@ -60,14 +60,8 @@
"_id": "RYri0b9z5kq74U5n",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json b/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json
index c03c10b5..6d43ed30 100644
--- a/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json
+++ b/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json
@@ -53,12 +53,6 @@
"name": "Bonus to Threshold",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- },
"changes": [
{
"key": "system.damageThresholds.severe",
@@ -106,16 +100,10 @@
"name": "Bonus to Trait",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
"_id": "cTgSmxkTi89y6sbc",
"img": "icons/magic/fire/elemental-fire-flying.webp",
- "changes": [],
"disabled": true,
"duration": {
"startTime": null,
@@ -142,23 +130,17 @@
"name": "Bonus to Proficiency",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.proficiency",
+ "mode": 2,
+ "value": "+1",
+ "priority": null
+ }
+ ]
},
"_id": "oWf3iXf4dawdbmzd",
"img": "icons/magic/fire/elemental-fire-flying.webp",
- "changes": [
- {
- "key": "system.proficiency",
- "mode": 2,
- "value": "+1",
- "priority": null
- }
- ],
"disabled": true,
"duration": {
"startTime": null,
@@ -185,16 +167,10 @@
"name": "Bonus to Evasion",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
"_id": "2LCF6lSnWFqNiPs5",
"img": "icons/magic/fire/elemental-fire-flying.webp",
- "changes": [],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Undaunted_866b2jjyzXP8nPRQ.json b/src/packs/subclasses/feature_Undaunted_866b2jjyzXP8nPRQ.json
index dc5ae2ec..79c51474 100644
--- a/src/packs/subclasses/feature_Undaunted_866b2jjyzXP8nPRQ.json
+++ b/src/packs/subclasses/feature_Undaunted_866b2jjyzXP8nPRQ.json
@@ -21,29 +21,23 @@
"name": "Undaunted",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "3",
+ "priority": null
+ },
+ {
+ "key": "system.damageThresholds.major",
+ "mode": 2,
+ "value": "3",
+ "priority": null
+ }
+ ]
},
"_id": "zggFRaerHCj1e5F5",
"img": "icons/skills/melee/shield-block-gray-yellow.webp",
- "changes": [
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "3",
- "priority": null
- },
- {
- "key": "system.damageThresholds.major",
- "mode": 2,
- "value": "3",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Unrelenting_4qP7bNyxVHBmr4Rb.json b/src/packs/subclasses/feature_Unrelenting_4qP7bNyxVHBmr4Rb.json
index dea5e345..0b5e89f6 100644
--- a/src/packs/subclasses/feature_Unrelenting_4qP7bNyxVHBmr4Rb.json
+++ b/src/packs/subclasses/feature_Unrelenting_4qP7bNyxVHBmr4Rb.json
@@ -21,29 +21,23 @@
"name": "Unrelenting",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.major",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ },
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "2",
+ "priority": null
+ }
+ ]
},
"_id": "IKb6yutns8EJZ49M",
"img": "icons/equipment/shield/heater-steel-crystal-red.webp",
- "changes": [
- {
- "key": "system.damageThresholds.major",
- "mode": 2,
- "value": "2",
- "priority": null
- },
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "2",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Unwavering_WBiFZaYNoQNhysmN.json b/src/packs/subclasses/feature_Unwavering_WBiFZaYNoQNhysmN.json
index aa898296..bd7172ea 100644
--- a/src/packs/subclasses/feature_Unwavering_WBiFZaYNoQNhysmN.json
+++ b/src/packs/subclasses/feature_Unwavering_WBiFZaYNoQNhysmN.json
@@ -21,29 +21,23 @@
"name": "Unwavering",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "any",
- "range": "self"
- }
+ "changes": [
+ {
+ "key": "system.damageThresholds.major",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ },
+ {
+ "key": "system.damageThresholds.severe",
+ "mode": 2,
+ "value": "1",
+ "priority": null
+ }
+ ]
},
"_id": "3wexvo6La4V46aiX",
"img": "icons/equipment/shield/heater-steel-gold.webp",
- "changes": [
- {
- "key": "system.damageThresholds.major",
- "mode": 2,
- "value": "1",
- "priority": null
- },
- {
- "key": "system.damageThresholds.severe",
- "mode": 2,
- "value": "1",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Vanishing_Act_iyIg1VLwO8C6jvFZ.json b/src/packs/subclasses/feature_Vanishing_Act_iyIg1VLwO8C6jvFZ.json
index 67cfa833..713578e6 100644
--- a/src/packs/subclasses/feature_Vanishing_Act_iyIg1VLwO8C6jvFZ.json
+++ b/src/packs/subclasses/feature_Vanishing_Act_iyIg1VLwO8C6jvFZ.json
@@ -60,14 +60,8 @@
"_id": "czrwqq44sEr0uJ8O",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": []
},
- "changes": [],
"disabled": true,
"duration": {
"startTime": null,
diff --git a/src/packs/subclasses/feature_Wings_of_Light_KkQH0tYhagIqe2MT.json b/src/packs/subclasses/feature_Wings_of_Light_KkQH0tYhagIqe2MT.json
index 5b86e348..51a203fc 100644
--- a/src/packs/subclasses/feature_Wings_of_Light_KkQH0tYhagIqe2MT.json
+++ b/src/packs/subclasses/feature_Wings_of_Light_KkQH0tYhagIqe2MT.json
@@ -94,27 +94,21 @@
"_id": "PfCwuVbKLxhnrm9X",
"type": "base",
"system": {
- "rangeDependence": {
- "enabled": false,
- "type": "withinRange",
- "target": "hostile",
- "range": "melee"
- }
+ "changes": [
+ {
+ "key": "system.bonuses.damage.physical.dice",
+ "mode": 2,
+ "value": "+1d8",
+ "priority": null
+ },
+ {
+ "key": "system.bonuses.damage.magical.dice",
+ "mode": 2,
+ "value": "+1d8",
+ "priority": null
+ }
+ ]
},
- "changes": [
- {
- "key": "system.bonuses.damage.physical.dice",
- "mode": 2,
- "value": "+1d8",
- "priority": null
- },
- {
- "key": "system.bonuses.damage.magical.dice",
- "mode": 2,
- "value": "+1d8",
- "priority": null
- }
- ],
"disabled": false,
"duration": {
"startTime": null,
diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less
index 22e34e96..e35f527a 100755
--- a/styles/less/global/elements.less
+++ b/styles/less/global/elements.less
@@ -308,6 +308,10 @@
min-height: auto;
row-gap: 0;
+ &.active {
+ row-gap: 10px;
+ }
+
legend {
display: flex;
align-items: center;
diff --git a/templates/sheets/activeEffect/changes.hbs b/templates/sheets/activeEffect/changes.hbs
index 37feb845..4d33d8b4 100644
--- a/templates/sheets/activeEffect/changes.hbs
+++ b/templates/sheets/activeEffect/changes.hbs
@@ -14,7 +14,7 @@
{{/each}}
-
+
{{localize "DAGGERHEART.GENERAL.armor"}}
diff --git a/templates/sheets/activeEffect/settings.hbs b/templates/sheets/activeEffect/settings.hbs
index 09b78856..60df488b 100644
--- a/templates/sheets/activeEffect/settings.hbs
+++ b/templates/sheets/activeEffect/settings.hbs
@@ -1,5 +1,5 @@
-
+
{{localize "DAGGERHEART.ACTIVEEFFECT.Config.stacking.title"}}
@@ -13,14 +13,19 @@
{{/if}}
-
- {{localize "DAGGERHEART.ACTIVEEFFECT.Config.rangeDependence.title"}}
+
+
+ {{localize "DAGGERHEART.ACTIVEEFFECT.Config.rangeDependence.title"}}
+
+
- {{formGroup systemFields.rangeDependence.fields.enabled value=source.system.rangeDependence.enabled localize=true }}
- {{formGroup systemFields.rangeDependence.fields.type value=source.system.rangeDependence.type localize=true }}
- {{formGroup systemFields.rangeDependence.fields.target value=source.system.rangeDependence.target localize=true }}
- {{formGroup systemFields.rangeDependence.fields.range value=source.system.rangeDependence.range localize=true }}
+ {{#if source.system.rangeDependence}}
+ {{formGroup systemFields.rangeDependence.fields.type value=source.system.rangeDependence.type localize=true }}
+ {{formGroup systemFields.rangeDependence.fields.target value=source.system.rangeDependence.target localize=true }}
+ {{formGroup systemFields.rangeDependence.fields.range value=source.system.rangeDependence.range localize=true }}
+ {{/if}}
+
{{localize "EFFECT.DURATION.Label"}}
From b03772b633d703a7ee6159a60fc0f0467eff90eb Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Mon, 6 Jul 2026 21:14:20 -0400
Subject: [PATCH 08/34] Fix missing group roll hint message (#2068)
---
lang/en.json | 2 +-
styles/less/dialog/group-roll-dialog/initialization.less | 1 +
templates/dialogs/groupRollDialog/initialization.hbs | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/lang/en.json b/lang/en.json
index 627a2015..6d886bc1 100755
--- a/lang/en.json
+++ b/lang/en.json
@@ -772,7 +772,7 @@
"removeRoll": "Remove Roll",
"resultsHint": "Results will appear when characters roll",
"selectLeaderHint": "Select one Character to be the leader",
- "selectParticipantsHint": "Select one Character to be the leader",
+ "selectParticipantsHint": "Select all Characters who will participate in the roll",
"startGroupRoll": "Start Group Roll",
"title": "Group Roll"
},
diff --git a/styles/less/dialog/group-roll-dialog/initialization.less b/styles/less/dialog/group-roll-dialog/initialization.less
index b32f4756..a4b82e55 100644
--- a/styles/less/dialog/group-roll-dialog/initialization.less
+++ b/styles/less/dialog/group-roll-dialog/initialization.less
@@ -22,6 +22,7 @@
font-family: var(--dh-font-body);
font-size: var(--font-size-12);
font-weight: 300;
+ text-align: center;
}
.members-container {
diff --git a/templates/dialogs/groupRollDialog/initialization.hbs b/templates/dialogs/groupRollDialog/initialization.hbs
index a01a00bb..d15e2d24 100644
--- a/templates/dialogs/groupRollDialog/initialization.hbs
+++ b/templates/dialogs/groupRollDialog/initialization.hbs
@@ -9,7 +9,7 @@
{{localize "DAGGERHEART.APPLICATIONS.GroupRollSelect.members"}}
- {{"DAGGERHEART.APPLICATIONS.GroupRollSelect.selectParticipantsHint"}}
+ {{localize "DAGGERHEART.APPLICATIONS.GroupRollSelect.selectParticipantsHint"}}
{{#each memberSelection as |member|}}
Date: Wed, 8 Jul 2026 10:46:28 -0400
Subject: [PATCH 09/34] Minor tweaks to tooltip card styling (#2069)
---
styles/less/ux/tooltip/index.less | 128 +++++++++++++++++++++++++++-
styles/less/ux/tooltip/sheet.less | 126 ---------------------------
styles/less/ux/tooltip/tooltip.less | 2 +-
templates/ui/tooltip/domainCard.hbs | 2 +-
4 files changed, 129 insertions(+), 129 deletions(-)
delete mode 100644 styles/less/ux/tooltip/sheet.less
diff --git a/styles/less/ux/tooltip/index.less b/styles/less/ux/tooltip/index.less
index eeec9354..30cb88df 100644
--- a/styles/less/ux/tooltip/index.less
+++ b/styles/less/ux/tooltip/index.less
@@ -1,4 +1,130 @@
-@import './sheet.less';
+#tooltip:has(div.daggerheart.dh-style.tooltip.card-style),
+aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip),
+#tooltip.bordered-tooltip {
+ .tooltip-title {
+ font-size: var(--font-size-20);
+ color: @color-text-emphatic;
+ font-weight: 700;
+ }
+
+ .tooltip-description {
+ font-style: inherit;
+ text-align: inherit;
+ width: 100%;
+ padding: 5px 10px;
+ position: relative;
+ margin-top: 5px;
+
+ &::before {
+ content: '';
+ background: @golden;
+ mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
+ height: 2px;
+ width: calc(100% - 10px);
+ }
+
+ &::before {
+ position: absolute;
+ top: -5px;
+ }
+ }
+
+ .tooltip-separator {
+ background: @golden;
+ mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
+ height: 2px;
+ width: calc(100% - 10px);
+ margin-bottom: 2px;
+ }
+
+ .tooltip-tags {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ width: 100%;
+ padding: 5px 10px;
+ position: relative;
+ max-height: 150px;
+ overflow-y: auto;
+ position: relative;
+
+ .tooltip-tag {
+ display: flex;
+ gap: 10px;
+ flex-direction: column;
+
+ .tooltip-tag-label-container {
+ display: flex;
+ align-items: center;
+ gap: 5px;
+
+ img {
+ width: 40px;
+ height: 40px;
+ border-radius: 3px;
+ }
+ }
+ }
+ }
+
+ .tags {
+ display: flex;
+ gap: 5px 10px;
+ padding-bottom: 4px;
+ flex-wrap: wrap;
+ justify-content: center;
+
+ &.advantages {
+ width: 100%;
+ padding: 5px 10px;
+ padding-bottom: 16px;
+ position: relative;
+ margin-top: 5px;
+
+ &::before {
+ content: '';
+ background: @golden;
+ mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
+ height: 2px;
+ width: calc(100% - 10px);
+ }
+
+ &::before {
+ position: absolute;
+ top: -5px;
+ }
+
+ .tag {
+ background: @green-10;
+ color: @green;
+ border-color: @green;
+ }
+ }
+
+ .tag {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ padding: 3px 5px;
+ font-size: var(--font-size-12);
+ font: @font-body;
+
+ background: light-dark(@dark-15, @beige-15);
+ border: 1px solid light-dark(@dark, @beige);
+ border-radius: 3px;
+ }
+
+ .label {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ font-size: var(--font-size-12);
+ }
+ }
+}
+
@import './armorManagement.less';
@import './battlepoints.less';
@import './bordered-tooltip.less';
diff --git a/styles/less/ux/tooltip/sheet.less b/styles/less/ux/tooltip/sheet.less
deleted file mode 100644
index cc4166da..00000000
--- a/styles/less/ux/tooltip/sheet.less
+++ /dev/null
@@ -1,126 +0,0 @@
-#tooltip:has(div.daggerheart.dh-style.tooltip.card-style),
-aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip),
-#tooltip.bordered-tooltip {
- .tooltip-title {
- font-size: var(--font-size-20);
- color: @color-text-emphatic;
- font-weight: 700;
- }
-
- .tooltip-description {
- font-style: inherit;
- text-align: inherit;
- width: 100%;
- padding: 5px 10px;
- position: relative;
- margin-top: 5px;
-
- &::before {
- content: '';
- background: @golden;
- mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
- height: 2px;
- width: calc(100% - 10px);
- }
-
- &::before {
- position: absolute;
- top: -5px;
- }
- }
-
- .tooltip-separator {
- background: @golden;
- mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
- height: 2px;
- width: calc(100% - 10px);
- margin-bottom: 2px;
- }
-
- .tooltip-tags {
- display: flex;
- flex-direction: column;
- gap: 10px;
- width: 100%;
- padding: 5px 10px;
- position: relative;
- max-height: 150px;
- overflow-y: auto;
- position: relative;
-
- .tooltip-tag {
- display: flex;
- gap: 10px;
- flex-direction: column;
-
- .tooltip-tag-label-container {
- display: flex;
- align-items: center;
- gap: 5px;
-
- img {
- width: 40px;
- height: 40px;
- border-radius: 3px;
- }
- }
- }
- }
-
- .tags {
- display: flex;
- gap: 5px 10px;
- padding-bottom: 16px;
- flex-wrap: wrap;
- justify-content: center;
-
- &.advantages {
- width: 100%;
- padding: 5px 10px;
- padding-bottom: 16px;
- position: relative;
- margin-top: 5px;
-
- &::before {
- content: '';
- background: @golden;
- mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
- height: 2px;
- width: calc(100% - 10px);
- }
-
- &::before {
- position: absolute;
- top: -5px;
- }
-
- .tag {
- background: @green-10;
- color: @green;
- border-color: @green;
- }
- }
-
- .tag {
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
- padding: 3px 5px;
- font-size: var(--font-size-12);
- font: @font-body;
-
- background: light-dark(@dark-15, @beige-15);
- border: 1px solid light-dark(@dark, @beige);
- border-radius: 3px;
- }
-
- .label {
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
- font-size: var(--font-size-12);
- }
- }
-}
diff --git a/styles/less/ux/tooltip/tooltip.less b/styles/less/ux/tooltip/tooltip.less
index f02499e2..26ecb5c3 100644
--- a/styles/less/ux/tooltip/tooltip.less
+++ b/styles/less/ux/tooltip/tooltip.less
@@ -4,6 +4,7 @@
#tooltip:has(div.daggerheart.dh-style.tooltip.card-style),
aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip.card-style) {
padding: 0;
+ padding-bottom: 8px;
border: none;
border-radius: 10px;
height: max-content;
@@ -134,7 +135,6 @@ aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip.card-style) {
background: light-dark(@dark-blue-60, @rustic-brown-80);
color: @color-text-emphatic;
font-size: 12px;
- margin-bottom: 10px;
}
}
diff --git a/templates/ui/tooltip/domainCard.hbs b/templates/ui/tooltip/domainCard.hbs
index 0380a523..26eeedf5 100644
--- a/templates/ui/tooltip/domainCard.hbs
+++ b/templates/ui/tooltip/domainCard.hbs
@@ -23,7 +23,7 @@
{{#if description}}
- {{{description}}}
+ {{{description}}}
{{/if}}
From e55ef9fd9e9a3cd32ef5fee0726b317b3275aa32 Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Wed, 8 Jul 2026 14:57:10 -0400
Subject: [PATCH 10/34] Support vaulting and unvaulting domain cards via
dragdrop (#2070)
---
lang/en.json | 2 +-
.../applications/sheets/actors/character.mjs | 16 +++-
templates/sheets/actors/character/loadout.hbs | 83 ++++++++++---------
templates/sheets/actors/character/sidebar.hbs | 11 ++-
.../partials/inventory-fieldset-items-V2.hbs | 2 +-
5 files changed, 63 insertions(+), 51 deletions(-)
diff --git a/lang/en.json b/lang/en.json
index 6d886bc1..7863fb67 100755
--- a/lang/en.json
+++ b/lang/en.json
@@ -3233,7 +3233,7 @@
"beastformToManyAdvantages": "You cannot select any more advantages.",
"beastformToManyFeatures": "You cannot select any more features.",
"beastformEquipWeapon": "You cannot use weapons while in a Beastform.",
- "loadoutMaxReached": "You've reached maximum loadout. Move atleast one domain card to the vault, or increase the limit in homebrew settings if desired.",
+ "loadoutMaxReached": "You've reached the maximum loadout size. To add more, move at least one domain card to the vault.",
"domainMaxReached": "You've reached the maximum domains for the class. Increase the limit in homebrew settings if desired.",
"insufficientResources": "You don't have enough resources to use that action.",
"actionNoUsesRemaining": "That action doesn't have remaining uses.",
diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs
index 5006e9d6..b5c04f78 100644
--- a/module/applications/sheets/actors/character.mjs
+++ b/module/applications/sheets/actors/character.mjs
@@ -914,7 +914,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
const doc = await getDocFromElement(button);
const { available } = this.document.system.loadoutSlot;
if (doc.system.inVault && !available && !doc.system.loadoutIgnore) {
- return ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.loadoutMaxReached'));
+ return ui.notifications.warn('DAGGERHEART.UI.Notifications.loadoutMaxReached', { localize: true });
}
await doc?.update({ 'system.inVault': !doc.system.inVault });
@@ -1206,10 +1206,22 @@ export default class CharacterSheet extends DHBaseActorSheet {
if (!confirmed) return;
}
- if (this.document.uuid === item.parent?.uuid) {
+ // Check for same actor drag/drop attempts
+ const isSameActor = this.document.uuid === item.parent?.uuid;
+ const loadoutFieldset = event.target.closest('[data-in-vault]');
+ const vaulting = loadoutFieldset?.dataset.inVault === 'true';
+ if (isSameActor && loadoutFieldset && item.type === 'domainCard' && vaulting !== item.system.inVault) {
+ // This is likely an attempt to vault or unvault an item
+ const { available } = this.document.system.loadoutSlot;
+ if (!vaulting && !available && !item.system.loadoutIgnore) {
+ return ui.notifications.warn('DAGGERHEART.UI.Notifications.loadoutMaxReached', { localize: true });
+ }
+ return item.update({ 'system.inVault': vaulting });
+ } else if (isSameActor) {
return super._onDropItem(event, item);
}
+ // Handle beastforms
if (item.type === 'beastform') {
if (this.document.effects.find(x => x.type === 'beastform')) {
return ui.notifications.warn(
diff --git a/templates/sheets/actors/character/loadout.hbs b/templates/sheets/actors/character/loadout.hbs
index 9ba3fb04..41c205f1 100644
--- a/templates/sheets/actors/character/loadout.hbs
+++ b/templates/sheets/actors/character/loadout.hbs
@@ -1,42 +1,43 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{> 'daggerheart.inventory-items'
- title='DAGGERHEART.GENERAL.Tabs.loadout'
- type='domainCard'
- isGlassy=true
- cardView=cardView
- collection=document.system.domainCards.loadout
- canCreate=@root.editable
- }}
- {{> 'daggerheart.inventory-items'
- title='DAGGERHEART.GENERAL.Tabs.vault'
- type='domainCard'
- isGlassy=true
- cardView=cardView
- collection=document.system.domainCards.vault
- canCreate=@root.editable
- inVault=true
- }}
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{> 'daggerheart.inventory-items'
+ title='DAGGERHEART.GENERAL.Tabs.loadout'
+ type='domainCard'
+ isGlassy=true
+ cardView=cardView
+ collection=document.system.domainCards.loadout
+ canCreate=@root.editable
+ inVault=false
+ }}
+ {{> 'daggerheart.inventory-items'
+ title='DAGGERHEART.GENERAL.Tabs.vault'
+ type='domainCard'
+ isGlassy=true
+ cardView=cardView
+ collection=document.system.domainCards.vault
+ canCreate=@root.editable
+ inVault=true
+ }}
+
\ No newline at end of file
diff --git a/templates/sheets/actors/character/sidebar.hbs b/templates/sheets/actors/character/sidebar.hbs
index 6ca858bf..4e729bc5 100644
--- a/templates/sheets/actors/character/sidebar.hbs
+++ b/templates/sheets/actors/character/sidebar.hbs
@@ -110,7 +110,7 @@
{{/each}}
-
+
{{localize "DAGGERHEART.GENERAL.loadout"}}
@@ -118,11 +118,10 @@
diff --git a/templates/sheets/global/partials/inventory-fieldset-items-V2.hbs b/templates/sheets/global/partials/inventory-fieldset-items-V2.hbs
index db2fb6b7..35a37564 100644
--- a/templates/sheets/global/partials/inventory-fieldset-items-V2.hbs
+++ b/templates/sheets/global/partials/inventory-fieldset-items-V2.hbs
@@ -26,7 +26,7 @@ Parameters:
- showActions {boolean} : If true show feature's actions.
--}}
-
+
{{localize title}}
{{#if canCreate}}
From 1e30ea42ba118d18033b9c7f29895576874cc653 Mon Sep 17 00:00:00 2001
From: WBHarry <89362246+WBHarry@users.noreply.github.com>
Date: Fri, 10 Jul 2026 04:56:47 +0200
Subject: [PATCH 11/34] Fixed beastform basic attack being available (#2072)
---
module/applications/dialogs/tagTeamDialog.mjs | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/module/applications/dialogs/tagTeamDialog.mjs b/module/applications/dialogs/tagTeamDialog.mjs
index 434c30be..b33541a3 100644
--- a/module/applications/dialogs/tagTeamDialog.mjs
+++ b/module/applications/dialogs/tagTeamDialog.mjs
@@ -208,6 +208,16 @@ export default class TagTeamDialog extends HandlebarsApplicationMixin(Applicatio
const rollOptions = [];
const damageRollOptions = [];
+
+ if (actor?.system.usedUnarmed) {
+ damageRollOptions.push({
+ value: actor.system.attack.uuid,
+ label: actor.system.usedUnarmed.name,
+ group: actor.name,
+ baseAction: actor.system.attack
+ });
+ }
+
for (const item of actor?.items ?? []) {
if (!item.system.metadata.hasActions) continue;
const actions = [...item.system.actions, ...(item.system.attack ? [item.system.attack] : [])];
From 7a01793f673cd5c8f838ca210215125247464b8f Mon Sep 17 00:00:00 2001
From: WBHarry
Date: Sat, 11 Jul 2026 01:47:16 +0200
Subject: [PATCH 12/34] Raised version
---
system.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/system.json b/system.json
index d754b8bf..3f1b49a6 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.0",
+ "version": "2.5.1",
"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.0/system.zip",
+ "download": "https://github.com/Foundryborne/daggerheart/releases/download/2.5.1/system.zip",
"authors": [
{
"name": "WBHarry"
From 0fbfe388b0cd32f77894f38ab57f12f54c6e51c2 Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Fri, 10 Jul 2026 19:52:50 -0400
Subject: [PATCH 13/34] Remove postEvaluate static method (#2073)
---
module/dice/d20Roll.mjs | 7 +++---
module/dice/damageRoll.mjs | 36 ++++++++++++++++------------
module/dice/dhRoll.mjs | 47 ++++++++++++++++++++-----------------
module/dice/dualityRoll.mjs | 35 ++++++++++++---------------
module/dice/fateRoll.mjs | 22 ++++++++---------
5 files changed, 76 insertions(+), 71 deletions(-)
diff --git a/module/dice/d20Roll.mjs b/module/dice/d20Roll.mjs
index e9c447e4..7dc06741 100644
--- a/module/dice/d20Roll.mjs
+++ b/module/dice/d20Roll.mjs
@@ -185,8 +185,10 @@ export default class D20Roll extends DHRoll {
return changeKeys;
}
- static postEvaluate(roll, config = {}) {
- const data = super.postEvaluate(roll, config);
+ static async buildEvaluate(roll, config = {}, message = {}) {
+ await super.buildEvaluate(roll, config, message);
+
+ const data = config.roll;
data.type = config.actionType;
data.difficulty = config.roll.difficulty;
if (config.targets?.length) {
@@ -222,7 +224,6 @@ export default class D20Roll extends DHRoll {
};
});
data.modifierTotal = roll.modifierTotal;
- return data;
}
resetFormula() {
diff --git a/module/dice/damageRoll.mjs b/module/dice/damageRoll.mjs
index ef810ed7..3f2f79e0 100644
--- a/module/dice/damageRoll.mjs
+++ b/module/dice/damageRoll.mjs
@@ -13,32 +13,38 @@ export default class DamageRoll extends DHRoll {
static DefaultDialog = DamageDialog;
+ /** @inheritdoc */
static async buildEvaluate(roll, config = {}, message = {}) {
if (config.dialog.configure === false) roll.constructFormula(config);
- if (config.evaluate !== false) for (const roll of config.roll) await roll.roll.evaluate();
+ for (const roll of config.roll) await roll.roll.evaluate();
roll._evaluated = true;
const parts = [];
- for (const roll of config.roll) {
- parts.push(this.postEvaluate(roll));
- roll.roll = JSON.stringify(roll.roll.toJSON());
+ for (const rollData of config.roll) {
+ const roll = rollData.roll;
+ parts.push({
+ ...rollData,
+ ...roll.options.roll,
+ total: roll.total,
+ formula: roll.formula,
+ dice: roll.dice.map(d => ({
+ dice: d.denomination,
+ total: d.total,
+ formula: d.formula,
+ results: d.results
+ })),
+ damageTypes: [...(rollData.damageTypes ?? [])],
+ roll,
+ type: config.type,
+ modifierTotal: this.calculateTotalModifiers(roll)
+ });
+ rollData.roll = JSON.stringify(roll.toJSON());
}
config.damage = this.unifyDamageRoll(parts);
}
- static postEvaluate(roll, config = {}) {
- return {
- ...roll,
- ...super.postEvaluate(roll.roll, config),
- damageTypes: [...(roll.damageTypes ?? [])],
- roll: roll.roll,
- type: config.type,
- modifierTotal: this.calculateTotalModifiers(roll.roll)
- };
- }
-
static async buildPost(roll, config, message) {
const chatMessage = config.source?.message
? ui.chat.collection.get(config.source.message)
diff --git a/module/dice/dhRoll.mjs b/module/dice/dhRoll.mjs
index 1c6ec829..16472fea 100644
--- a/module/dice/dhRoll.mjs
+++ b/module/dice/dhRoll.mjs
@@ -33,7 +33,9 @@ export default class DHRoll extends Roll {
if (config.skips?.createMessage) config.messageRoll = roll;
- await this.buildEvaluate(roll, config, (message = {}));
+ if (config.evaluate !== false) {
+ await this.buildEvaluate(roll, config, (message = {}));
+ }
await this.buildPost(roll, config, (message = {}));
return config;
}
@@ -72,27 +74,14 @@ export default class DHRoll extends Roll {
return roll;
}
+ /**
+ * Evaluates the roll and assigns roll data into the config.
+ * This is only called if config.evaluate is not set to false
+ * @protected
+ */
static async buildEvaluate(roll, config = {}, message = {}) {
- if (config.evaluate !== false) {
- await roll.evaluate();
- config.roll = this.postEvaluate(roll, config);
- }
- }
-
- static async buildPost(roll, config, message) {
- for (const hook of config.hooks) {
- if (Hooks.call(`${CONFIG.DH.id}.postRoll${hook.capitalize()}`, config, message) === false) return null;
- }
-
- if (config.skips?.createMessage) {
- await triggerChatRollFx([roll]);
- } else if (!config.source?.message) {
- config.message = await this.toMessage(roll, config);
- }
- }
-
- static postEvaluate(roll, config = {}) {
- return {
+ await roll.evaluate();
+ config.roll = {
...roll.options.roll,
total: roll.total,
formula: roll.formula,
@@ -105,6 +94,22 @@ export default class DHRoll extends Roll {
};
}
+ /**
+ * Runs any post configuration events that need to happen towards the end, such as hooks and dice so nice
+ * @protected
+ */
+ static async buildPost(roll, config, message) {
+ for (const hook of config.hooks) {
+ if (Hooks.call(`${CONFIG.DH.id}.postRoll${hook.capitalize()}`, config, message) === false) return null;
+ }
+
+ if (config.skips?.createMessage) {
+ await triggerChatRollFx([roll]);
+ } else if (!config.source?.message) {
+ config.message = await this.toMessage(roll, config);
+ }
+ }
+
static async toMessage(roll, config) {
const item = config.data.parent?.items?.get?.(config.source.item) ?? null;
const action = item ? item.system.actions.get(config.source.action) : null;
diff --git a/module/dice/dualityRoll.mjs b/module/dice/dualityRoll.mjs
index e2d967a3..38d9315f 100644
--- a/module/dice/dualityRoll.mjs
+++ b/module/dice/dualityRoll.mjs
@@ -232,22 +232,10 @@ export default class DualityRoll extends D20Roll {
return changeKeys;
}
+ /** @inheritdoc */
static async buildEvaluate(roll, config = {}, message = {}) {
await super.buildEvaluate(roll, config, message);
-
- await setDiceSoNiceForDualityRoll(
- roll,
- config.roll.advantage.type,
- config.roll.hope.dice,
- config.roll.fear.dice,
- config.roll.advantage.dice
- );
- }
-
- static postEvaluate(roll, config = {}) {
- const data = super.postEvaluate(roll, config);
-
- data.hope = {
+ config.roll.hope = {
dice: roll.dHope.denomination,
value: this.guaranteedCritical ? 0 : roll.dHope.total,
rerolled: {
@@ -255,7 +243,7 @@ export default class DualityRoll extends D20Roll {
rerolls: roll.dHope.results.filter(x => x.rerolled)
}
};
- data.fear = {
+ config.roll.fear = {
dice: roll.dFear.denomination,
value: this.guaranteedCritical ? 0 : roll.dFear.total,
rerolled: {
@@ -263,11 +251,11 @@ export default class DualityRoll extends D20Roll {
rerolls: roll.dFear.results.filter(x => x.rerolled)
}
};
- data.rally = {
+ config.roll.rally = {
dice: roll.dRally?.denomination,
value: roll.dRally?.total
};
- data.result = {
+ config.roll.result = {
duality: roll.withHope ? 1 : roll.withFear ? -1 : 0,
total: this.guaranteedCritical ? 0 : roll.dHope.total + roll.dFear.total,
label: roll.totalLabel
@@ -275,11 +263,18 @@ export default class DualityRoll extends D20Roll {
if (roll._rallyIndex && roll.data?.parent)
roll.data.parent.deleteEmbeddedDocuments('ActiveEffect', [roll._rallyIndex]);
-
- return data;
}
-
+
+ /** @inheritdoc */
static async buildPost(roll, config, message) {
+ await setDiceSoNiceForDualityRoll(
+ roll,
+ config.roll.advantage.type,
+ config.roll.hope.dice,
+ config.roll.fear.dice,
+ config.roll.advantage.dice
+ );
+
await super.buildPost(roll, config, message);
await DualityRoll.dualityUpdate(config);
diff --git a/module/dice/fateRoll.mjs b/module/dice/fateRoll.mjs
index 114fad59..f8276ce1 100644
--- a/module/dice/fateRoll.mjs
+++ b/module/dice/fateRoll.mjs
@@ -75,25 +75,23 @@ export default class FateRoll extends D20Roll {
this.terms[0] = new foundry.dice.terms.Die({ faces: 12 });
}
+ /** @inheritdoc */
static async buildEvaluate(roll, config = {}, message = {}) {
await super.buildEvaluate(roll, config, message);
+ config.roll.fate = {
+ dice: roll.fateDie === 'Hope' ? roll.dHope.denomination : roll.dFear.denomination,
+ value: roll.fateDie === 'Hope' ? roll.dHope.total : roll.dFear.total,
+ fateDie: roll.fateDie
+ };
+ }
+ /** @inheritdoc */
+ static async buildPost(roll, config, message) {
if (roll.fateDie === 'Hope') {
await setDiceSoNiceForHopeFateRoll(roll, config.roll.fate.dice);
} else {
await setDiceSoNiceForFearFateRoll(roll, config.roll.fate.dice);
}
- }
-
- static postEvaluate(roll, config = {}) {
- const data = super.postEvaluate(roll, config);
-
- data.fate = {
- dice: roll.fateDie === 'Hope' ? roll.dHope.denomination : roll.dFear.denomination,
- value: roll.fateDie === 'Hope' ? roll.dHope.total : roll.dFear.total,
- fateDie: roll.fateDie
- };
-
- return data;
+ return super.buildPost(roll, config, message);
}
}
From 780aaf216c8bcef1ea79af11273cdbfd69bf5a56 Mon Sep 17 00:00:00 2001
From: WBHarry <89362246+WBHarry@users.noreply.github.com>
Date: Sat, 11 Jul 2026 21:05:15 +0200
Subject: [PATCH 14/34] Fixed a typo in getTemplateShape and added
stopPropagaton when clicking enriched buttons (#2074)
---
module/enrichers/TemplateEnricher.mjs | 2 +-
module/enrichers/_module.mjs | 17 +++++++++--------
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/module/enrichers/TemplateEnricher.mjs b/module/enrichers/TemplateEnricher.mjs
index 4478ea14..b951f41e 100644
--- a/module/enrichers/TemplateEnricher.mjs
+++ b/module/enrichers/TemplateEnricher.mjs
@@ -58,7 +58,7 @@ export const renderMeasuredTemplate = async event => {
if (!type || !range || !game.canvas.scene) return;
const shapeData = CONFIG.Canvas.layers.regions.layerClass.getTemplateShape({
- shapetype: type,
+ shapeType: type,
angle,
range,
direction,
diff --git a/module/enrichers/_module.mjs b/module/enrichers/_module.mjs
index b80f166c..02002884 100644
--- a/module/enrichers/_module.mjs
+++ b/module/enrichers/_module.mjs
@@ -35,23 +35,24 @@ export const enricherConfig = [
];
export const enricherRenderSetup = element => {
+ const clickWrapper = func => event => {
+ event.stopPropagation();
+ func(event);
+ };
+
element
.querySelectorAll('.enriched-damage-button')
- .forEach(element => element.addEventListener('click', renderDamageButton));
+ .forEach(element => element.addEventListener('click', clickWrapper(renderDamageButton)));
element
.querySelectorAll('.duality-roll-button')
- .forEach(element => element.addEventListener('click', renderDualityButton));
+ .forEach(element => element.addEventListener('click', clickWrapper(renderDualityButton)));
element
.querySelectorAll('.fate-roll-button')
- .forEach(element => element.addEventListener('click', renderFateButton));
+ .forEach(element => element.addEventListener('click', clickWrapper(renderFateButton)));
element
.querySelectorAll('.measured-template-button')
- .forEach(element => element.addEventListener('click', renderMeasuredTemplate));
-
- // element
- // .querySelectorAll('.enriched-effect')
- // .forEach(element => element.addEventListener('dragstart', dragEnrichedEffect));
+ .forEach(element => element.addEventListener('click', clickWrapper(renderMeasuredTemplate)));
};
From 2c980708369c9c14fd4424c98848a885d6622d38 Mon Sep 17 00:00:00 2001
From: WBHarry <89362246+WBHarry@users.noreply.github.com>
Date: Sat, 11 Jul 2026 22:27:38 +0200
Subject: [PATCH 15/34] Fixed so that the v13/v14 change from mode to type is
fixed in SRD (#2075)
---
...ersary_Adult_Flickerfly_G7jiltRjgvVhZewm.json | 2 +-
.../adversary_Archer_Guard_JRhrrEg5UroURiAD.json | 2 +-
...rsary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json | 2 +-
.../adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json | 4 ++--
.../adversary_Construct_uOP5oT9QzXPlnf3p.json | 2 +-
...ersary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json | 2 +-
...ersary_Demon_of_Despair_kE4dfhqmIQpNd44e.json | 2 +-
...rsary_Failed_Experiment_ChwwVqowFw8hJQwT.json | 4 ++--
.../adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json | 2 +-
...ersary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json | 2 +-
...Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json | 2 +-
...Greater_Water_Elemental_xIICT6tEdnA7dKDV.json | 2 +-
...versary_Hallowed_Archer_kabueAo6BALApWqp.json | 2 +-
...ary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json | 2 +-
...ary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json | 2 +-
...ary_Knight_of_the_Realm_7ai2opemrclQe3VF.json | 4 ++--
...y_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json | 2 +-
...uter_Realms_Abomination_A0SeeDzwjvqOsyof.json | 2 +-
...versary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json | 2 +-
...ersary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json | 2 +-
...versary_Spectral_Archer_5tCkhnBByUIN5UdG.json | 2 +-
...ersary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json | 2 +-
...rsary_Spectral_Guardian_UFVGl1osOsJTneLf.json | 2 +-
...Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json | 2 +-
...y_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json | 2 +-
...ic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json | 2 +-
...agon__Obsidian_Predator_ladm7wykhZczYzrQ.json | 4 ++--
...adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json | 2 +-
...eature_Celestial_Trance_TfolXWFG2W2hx6sK.json | 4 ++--
.../feature_Dread_Visage_i92lYjDhVB0LyPid.json | 2 +-
.../feature_Efficient_2xlqKOkDxWHbuj4t.json | 4 ++--
.../feature_Endurance_tXWEMdLXafUSZTbK.json | 2 +-
.../feature_High_Stamina_HMXNJZ7ynzajR2KT.json | 2 +-
...feature_Natural_Climber_soQvPL0MrTLLcc31.json | 2 +-
.../feature_Nimble_3lNqft3LmOlEIEkw.json | 2 +-
.../feature_Scales_u8ZhV962rNmUlzkp.json | 2 +-
.../feature_Shell_A6a87OWA3tx16g9V.json | 4 ++--
.../feature_Thick_Skin_S0Ww7pYOSREt8qKg.json | 2 +-
.../feature_Tusks_YhxD1ujZpftPu19w.json | 4 ++--
.../feature_Wings_WquAjoOcso8lwySW.json | 2 +-
.../beastform_Agile_Scout_a9UoCwtrbgKk02mK.json | 8 ++++----
...stform_Aquatic_Predator_ItBVeCl2u5uetgy7.json | 10 +++++-----
...beastform_Aquatic_Scout_qqzdFCxyYupWZK23.json | 8 ++++----
...eastform_Armored_Sentry_8pUHJv3BYdjA4Qdf.json | 10 +++++-----
...form_Epic_Aquatic_Beast_wT4xbF99I55yjKZV.json | 10 +++++-----
...eastform_Great_Predator_afbMt4Ld6nY3mw0N.json | 10 +++++-----
...form_Great_Winged_Beast_b4BMnTbJ3iPPidSb.json | 10 +++++-----
...stform_Household_Friend_iDmOtiHJJ80AIAVT.json | 8 ++++----
...astform_Legendary_Beast_mqP6z4Wg4K3oDAom.json | 4 ++--
...stform_Legendary_Hybrid_rRUtgcUjimlpPhnn.json | 10 +++++-----
...stform_Massive_Behemoth_qjwMzPn33aKZACkv.json | 10 +++++-----
...beastform_Mighty_Lizard_94tvcC3D5Kp4lzuN.json | 10 +++++-----
...eastform_Mighty_Strider_zRLjqKx4Rn2TjivL.json | 10 +++++-----
...rm_Mythic_Aerial_Hunter_jV6EuEacyQlHW4SN.json | 10 +++++-----
.../beastform_Mythic_Beast_kObobka52JdpWBSu.json | 6 +++---
...beastform_Mythic_Hybrid_WAbxCf2An8qmxyJ1.json | 10 +++++-----
...beastform_Nimble_Grazer_CItO8yX6amQaqyk7.json | 8 ++++----
...beastform_Pack_Predator_YLisKYYhAGca50WM.json | 10 +++++-----
...tform_Pouncing_Predator_33oFSZ1PwFqInHPe.json | 10 +++++-----
...eastform_Powerful_Beast_m8BVTuJI1wCvzTcf.json | 10 +++++-----
...tform_Stalking_Arachnid_A4TVRY0D5r9EiVwA.json | 10 +++++-----
...stform_Striking_Serpent_1XrZWGDttBAAUxR1.json | 10 +++++-----
...astform_Terrible_Lizard_5BABxRe2XVrYTj8N.json | 10 +++++-----
.../beastform_Winged_Beast_mZ4Wlqtss2FlNNvL.json | 10 +++++-----
.../feature_Armored_Shell_nDQZdIF2epKlhauX.json | 4 ++--
.../feature_Hollow_Bones_xVgmXhj2YgeqS1KK.json | 4 ++--
...eature_Physical_Defense_StabkQ3BzWRZa8Tz.json | 4 ++--
.../feature_Rampage_8upqfcZvi7b5hRLE.json | 2 +-
.../feature_Takedown_0ey4kM9ssj2otHvb.json | 2 +-
.../feature_Thick_Hide_ZYbdXaWVj2zdcmaK.json | 4 ++--
.../feature_Undaunted_ODudjX88Te4vDP57.json | 4 ++--
...feature_Combat_Training_eoSmuAJmgHUyULtp.json | 4 ++--
.../classes/feature_Rally_PydiMnNCKpd44SGS.json | 2 +-
.../feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json | 4 ++--
.../feature_Unstoppable_PnD2UCgzIlwX6cY3.json | 10 +++++-----
.../feature_Lightfoot_TQ1AIQjndC4mYmmU.json | 2 +-
.../feature_Privilege_C7NR6qRatawZusmg.json | 6 +++---
.../feature_Scoundrel_ZmEuBdL0JrvuA8le.json | 6 +++---
.../feature_Steady_DYmmr5CknLtHnwuj.json | 6 +++---
.../feature_Well_Read_JBZJmywisJg5X3tH.json | 2 +-
...mainCard_Arcana_Touched_5PvMQKCjrgSxzstn.json | 2 +-
...omainCard_Blade_Touched_Gb5bqpFSBiuBxUix.json | 4 ++--
.../domainCard_Body_Basher_aQz8jKkCd8M9aKMA.json | 4 ++--
...omainCard_Bold_Presence_tdsL00yTSLNgZWs6.json | 2 +-
...domainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json | 2 +-
.../domainCard_Brace_QXs4vssSqNGQu5b8.json | 2 +-
...omainCard_Codex_Touched_7Pu83ABdMukTxu3e.json | 2 +-
...ainCard_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json | 6 +++---
...ainCard_Cruel_Precision_bap1eCWryPNowbyo.json | 8 ++++----
...domainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json | 2 +-
...omainCard_Deft_Deceiver_38znCh6kHTkaPwYi.json | 2 +-
...mainCard_Deft_Maneuvers_dc4rAXlv95srZUct.json | 2 +-
.../domainCard_Forager_06UapZuaA5S6fAKl.json | 2 +-
...ainCard_Force_of_Nature_LzVpMkD5I4QeaIHf.json | 6 +++---
...mainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json | 2 +-
...ainCard_Fortified_Armor_oVa49lI107eZILZr.json | 4 ++--
.../domainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json | 2 +-
...mainCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json | 2 +-
...domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json | 2 +-
.../domainCard_Inevitable_XTT8c8uJ4D7fvtbL.json | 2 +-
...omainCard_Mass_Disguise_dT95m0Jam8sWbeuC.json | 2 +-
...inCard_Natural_Familiar_Tag303LoRNC5zGgl.json | 4 ++--
...ainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json | 2 +-
...mainCard_Never_Upstaged_McdncxmO9K1YNP7Y.json | 16 ++++++++--------
...domainCard_On_the_Brink_zbxPl81kbWEegKQN.json | 2 +-
...omainCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json | 6 +++---
.../domainCard_Recovery_gsiQFT6q3WOgqerJ.json | 8 ++++----
.../domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json | 2 +-
.../domainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json | 4 ++--
...domainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json | 6 +++---
...domainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json | 2 +-
.../domainCard_Shield_Aura_rfIv6lln40Fh6EIl.json | 2 +-
...domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json | 2 +-
...ard_Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json | 2 +-
...inCard_Splendor_Touched_JT5dM3gVL6chDBYU.json | 2 +-
...inCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json | 2 +-
.../domainCard_Untouchable_9QElncQUDSakuSdR.json | 2 +-
.../domainCard_Vitality_sWUlSPOJEaXyQLCj.json | 8 ++++----
...ainCard_Voice_of_Reason_t3RRGH6mMYYJJCcF.json | 6 +++---
...environment_Cult_Ritual_QAXXiOKBDmCTauHD.json | 6 +++---
...nment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json | 8 ++++----
...nvironment_Haunted_City_OzYbizKraK92FDiI.json | 2 +-
...dvanced_Chainmail_Armor_LzLOJ9EVaHWAjoq9.json | 2 +-
...vanced_Full_Plate_Armor_crIbCb9NZ4K0VpoU.json | 4 ++--
...Advanced_Gambeson_Armor_epkAmlZVk7HOfUUT.json | 2 +-
...mor_Bellamoi_Fine_Armor_WuoVwZA53XRAIt6d.json | 2 +-
.../armor_Bladefare_Armor_mNN6pvcsS10ChrWF.json | 2 +-
.../armor_Chainmail_Armor_haULhuEg37zUUvhb.json | 2 +-
.../armor_Channeling_Armor_vMJxEWz1srfwMsoj.json | 2 +-
...r_Elundrian_Chain_Armor_Q6LxmtFetDDkoZVZ.json | 2 +-
...or_Full_Fortified_Armor_7emTSt6nhZuTlvt5.json | 2 +-
.../armor_Full_Plate_Armor_UdUJNa31WxFW2noa.json | 4 ++--
.../armor_Gambeson_Armor_yJFp1bfpecDcStVK.json | 2 +-
...mproved_Chainmail_Armor_K5WkjS0NGqHYmhU3.json | 2 +-
...proved_Full_Plate_Armor_9f7RozpPTqrzJS1m.json | 4 ++--
...Improved_Gambeson_Armor_jphnMZjnS2FkOH3s.json | 2 +-
...ntree_Breastplate_Armor_tzZntboNtHL5C6VM.json | 4 ++--
...gendary_Chainmail_Armor_EsIN5OLKe9ZYFNXZ.json | 2 +-
...endary_Full_Plate_Armor_SXWjUR2aUR6bYvdl.json | 4 ++--
...egendary_Gambeson_Armor_c6tMXz4rPf9ioQrf.json | 2 +-
.../armor_Monett_s_Cloak_AQzU2RsqS5V5bd1v.json | 2 +-
.../armor_Savior_Chainmail_8X16lJQ3xltTwynm.json | 14 +++++++-------
...rmor_Spiked_Plate_Armor_QjwsIhXKqnlvRBMv.json | 4 ++--
...onsumable_Attune_Potion_JGD3M9hBHtVAA8XP.json | 2 +-
...nsumable_Bolster_Potion_FOPQNqXbiVO0ilYL.json | 2 +-
...consumable_Charm_Potion_CVBbFfOY75YwyQsp.json | 2 +-
...nsumable_Control_Potion_eeBhZSGLjuNZuJuI.json | 2 +-
...umable_Enlighten_Potion_aWHSO2AqDufi7nL4.json | 2 +-
...able_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json | 2 +-
...oved_Grindletooth_Venom_BqBWXXe9T07AMV4u.json | 2 +-
...ble_Major_Attune_Potion_CCPFm5iXXwvyYYwR.json | 2 +-
...le_Major_Bolster_Potion_mnyQDRtngWWQeRXF.json | 2 +-
...able_Major_Charm_Potion_IJLAUlQymbSjzsri.json | 2 +-
...le_Major_Control_Potion_80s1FLmTLtohZ5GH.json | 2 +-
..._Major_Enlighten_Potion_SDdv1G2veMLKrxcJ.json | 2 +-
.../consumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json | 2 +-
...ble_Potion_of_Stability_dvL8oaxpEF6jKvYN.json | 4 ++--
...sumable_Redthorn_Saliva_s2Exl2XFuoOhtIov.json | 2 +-
...onsumable_Stride_Potion_lNtcrkgFGOJNaroE.json | 2 +-
.../loot/loot_Arcane_Prism_Mn1eo2Mdtu1kzyxB.json | 2 +-
.../loot/loot_Attune_Relic_vK6bKyQTT3m8WvMh.json | 2 +-
.../loot_Bolster_Relic_m3EpxlDgxn2tCDDR.json | 2 +-
.../loot_Charging_Quiver_gsUDP90d4SRtLEUn.json | 4 ++--
.../loot/loot_Charm_Relic_9P9jqGSlxVCbTdLe.json | 2 +-
.../loot_Control_Relic_QPGBDItjrRhXU6iJ.json | 2 +-
.../loot_Enlighten_Relic_vSGx1f9SYUiA29L3.json | 2 +-
.../loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json | 4 ++--
...loot_Ring_of_Resistance_aUqRifqR5JXXa1dN.json | 4 ++--
.../loot/loot_Stride_Relic_FfJISMzYATaPQPLc.json | 2 +-
.../weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json | 2 +-
...Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json | 2 +-
...pon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json | 2 +-
...pon_Advanced_Greatsword_MAC6YWTo4lzSotQc.json | 2 +-
...weapon_Advanced_Halberd_C8gQn7onAc9wsrCs.json | 2 +-
..._Heavy_Frame_Wheelchair_eT2Qwb0RdrLX2hH1.json | 2 +-
...weapon_Advanced_Longbow_M5CywMAyPKGgebsJ.json | 2 +-
...pon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json | 2 +-
...n_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json | 2 +-
...apon_Advanced_Warhammer_8Lipw3RRKDgBVP0p.json | 2 +-
...Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json | 2 +-
.../weapon_Bravesword_QZrWAkprA2tL2MOI.json | 4 ++--
.../weapon_Broadsword_1cwWNt4sqlgA8gCT.json | 2 +-
.../weapons/weapon_Buckler_EmFTp9wzT6MHSaNz.json | 2 +-
.../weapon_Curved_Dagger_Fk69R40svV0kanZD.json | 2 +-
.../weapon_Finehair_Bow_ykF3jouxHZ6YR8Bg.json | 2 +-
...weapon_Flickerfly_Blade_xLJ5RRpUoTRmAC3G.json | 2 +-
.../weapon_Fusion_Gloves_uK1RhtYAsDeoPNGx.json | 2 +-
.../weapon_Gilded_Bow_ctTgFfMbM3YtmsYU.json | 2 +-
.../weapon_Greatsword_70ysaFJDREwTgvZa.json | 2 +-
.../weapons/weapon_Halberd_qT7FfmauAumOjJoq.json | 2 +-
..._Heavy_Frame_Wheelchair_XjPQjhRCH08VUIbr.json | 2 +-
...Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json | 2 +-
...pon_Improved_Broadsword_OcKeLJxvmdT81VBc.json | 2 +-
...pon_Improved_Greatsword_FPX4ouDrxXiQ5MDf.json | 2 +-
...weapon_Improved_Halberd_F9PETfCQGwczBPif.json | 2 +-
..._Heavy_Frame_Wheelchair_L5KeCtrs768PmYWW.json | 2 +-
...weapon_Improved_Longbow_NacNonjbzyoVMNhI.json | 2 +-
...pon_Improved_Shortsword_rSyBNRwemBVuTo3H.json | 2 +-
...n_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json | 2 +-
...apon_Improved_Warhammer_pxaN4ZK4eqKrjtWj.json | 2 +-
.../weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json | 2 +-
...Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json | 2 +-
...on_Legendary_Broadsword_y3hfTPfZhMognyaJ.json | 2 +-
...on_Legendary_Greatsword_zMZ46F9VR7zdTxb9.json | 2 +-
...eapon_Legendary_Halberd_1AuMNiJz96Ez9fur.json | 2 +-
..._Heavy_Frame_Wheelchair_S6nB0CNlzdU05o5U.json | 2 +-
...eapon_Legendary_Longbow_Utt1GpoH1fhaTOtN.json | 2 +-
...on_Legendary_Shortsword_dEumq3BIZBk5xYTk.json | 2 +-
..._Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json | 2 +-
...pon_Legendary_Warhammer_W9ymfEDck2icfvla.json | 2 +-
.../weapons/weapon_Longbow_YfVs6Se903az4Yet.json | 2 +-
.../weapon_Midas_Scythe_BdLfy5i488VZgkjP.json | 2 +-
...weapon_Powered_Gauntlet_bW3xw5S9DbaLCN3E.json | 2 +-
.../weapon_Shortsword_cjGZpXCoshEqi1FI.json | 2 +-
.../weapon_Sledge_Axe_OxsEmffWriiQmqJK.json | 2 +-
.../weapon_Small_Dagger_wKklDxs5nkzILNp4.json | 2 +-
.../weapon_Thistlebow_I1nDGpulg29GpWOW.json | 2 +-
...on_Wand_of_Enthrallment_tP6vmnrmTq2h5sj7.json | 2 +-
.../weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json | 2 +-
.../weapon_Warhammer_ZXh1GQahBiODfSTC.json | 2 +-
.../feature_Adrenaline_uByM34yQlw38yf1V.json | 4 ++--
...ature_Advanced_Training_uGcs785h94RMtueH.json | 2 +-
.../feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json | 2 +-
.../feature_Ascendant_fefLgx6kcYWusjBb.json | 2 +-
.../feature_At_Ease_xPWFvGvtUjIcqgJq.json | 2 +-
.../feature_Battlemage_Y9eGMewnFZgPvX0M.json | 2 +-
.../feature_Conjure_Shield_oirsCnN66GOlK3Fa.json | 2 +-
...ture_Elemental_Dominion_EFUJHrkTuyv8uA9l.json | 4 ++--
...e_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json | 6 +++---
.../feature_Elementalist_dPcqKN5NeDkjB1HW.json | 6 +++---
.../feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json | 2 +-
...feature_Ethereal_Visage_tyGB6wRKjYdIBK1i.json | 2 +-
...feature_Expert_Training_iCXtOWBKv1FdKdWz.json | 2 +-
...feature_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json | 2 +-
.../feature_Iron_Will_7AVRNyBcd1Nffjtn.json | 2 +-
...ature_Ruthless_Predator_Qny2J3R35bvC0Cey.json | 2 +-
.../feature_Transcendence_th6HZwEFnVBjUtqm.json | 2 +-
.../feature_Undaunted_866b2jjyzXP8nPRQ.json | 4 ++--
.../feature_Unrelenting_4qP7bNyxVHBmr4Rb.json | 4 ++--
.../feature_Unwavering_WBiFZaYNoQNhysmN.json | 4 ++--
.../feature_Wings_of_Light_KkQH0tYhagIqe2MT.json | 4 ++--
241 files changed, 416 insertions(+), 416 deletions(-)
diff --git a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json
index 9fef39f0..ad558d43 100644
--- a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json
+++ b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json
@@ -325,7 +325,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 5,
+ "type": "override",
"value": "@system.evasion / 2",
"priority": 10
}
diff --git a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json
index 46dc3777..d9399007 100644
--- a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json
+++ b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json
@@ -328,7 +328,7 @@
"changes": [
{
"key": "system.disadvantageSources",
- "mode": 2,
+ "type": "add",
"value": "Agility Rolls",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json
index f156174d..51eb7273 100644
--- a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json
+++ b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json
@@ -338,7 +338,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "On attacks if they are Hidden.",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json
index 8739fb2e..3db27edd 100644
--- a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json
+++ b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json
@@ -235,7 +235,7 @@
"changes": [
{
"key": "system.rules.conditionImmunities.restrained",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
@@ -298,7 +298,7 @@
"changes": [
{
"key": "system.resistance.magical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json
index 840f030b..02f6d587 100644
--- a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json
+++ b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json
@@ -462,7 +462,7 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "10",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json
index e80c91d3..ebd41544 100644
--- a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json
+++ b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json
@@ -273,7 +273,7 @@
"changes": [
{
"key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.resource.value",
"priority": 21
}
diff --git a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json
index 6ac0279c..219136ff 100644
--- a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json
+++ b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json
@@ -241,7 +241,7 @@
"changes": [
{
"key": "system.rules.attack.damage.hpDamageMultiplier",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json
index 325530b0..fa963fce 100644
--- a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json
+++ b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json
@@ -243,7 +243,7 @@
"changes": [
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
@@ -306,7 +306,7 @@
"changes": [
{
"key": "system.rules.attack.damage.hpDamageMultiplier",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json
index dd10483a..044d51a0 100644
--- a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json
+++ b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json
@@ -268,7 +268,7 @@
"changes": [
{
"key": "system.difficulty",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json
index 74fd0b04..fef1d858 100644
--- a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json
+++ b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json
@@ -272,7 +272,7 @@
"changes": [
{
"key": "system.difficulty",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json
index a3ae5de3..2fe67f24 100644
--- a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json
+++ b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json
@@ -343,7 +343,7 @@
"changes": [
{
"key": "system.resistance.physical.reduction",
- "mode": 2,
+ "type": "add",
"value": "7",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json
index f0f68c11..ef2cf6d5 100644
--- a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json
+++ b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json
@@ -326,7 +326,7 @@
"changes": [
{
"key": "system.disadvantageSources",
- "mode": 2,
+ "type": "add",
"value": "Your next action",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json
index 34e40c70..64a4dfb6 100644
--- a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json
+++ b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json
@@ -237,7 +237,7 @@
"changes": [
{
"key": "system.rules.attack.damage.hpDamageMultiplier",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json
index a8600966..6b005769 100644
--- a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json
+++ b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json
@@ -378,7 +378,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Attacks made while Hidden",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json
index c9fbb78a..72f4626d 100644
--- a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json
+++ b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json
@@ -349,7 +349,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 5,
+ "type": "override",
"value": "@system.evasion / 2",
"priority": 10
}
diff --git a/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json b/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json
index da767edc..f86717fc 100644
--- a/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json
+++ b/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json
@@ -253,7 +253,7 @@
"changes": [
{
"key": "system.difficulty",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
@@ -316,7 +316,7 @@
"changes": [
{
"key": "system.resistance.physical.reduction",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json
index b22bbe51..7c4bbdba 100644
--- a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json
+++ b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json
@@ -238,7 +238,7 @@
"changes": [
{
"key": "system.resistance.magical.resistance",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json
index bb5b99fe..e9a0b5f7 100644
--- a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json
+++ b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json
@@ -316,7 +316,7 @@
"changes": [
{
"key": "system.disadvantageSources",
- "mode": 2,
+ "type": "add",
"value": "On your next action roll.",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json
index e9cfde91..5e2e8200 100644
--- a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json
+++ b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json
@@ -238,7 +238,7 @@
"changes": [
{
"key": "system.rules.attack.damage.hpDamageMultiplier",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json
index 288089a5..4cf72b0b 100644
--- a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json
+++ b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json
@@ -240,7 +240,7 @@
"changes": [
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json
index 6acbcf61..bda82248 100644
--- a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json
+++ b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json
@@ -273,7 +273,7 @@
"changes": [
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json
index 73d06ee6..20668427 100644
--- a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json
+++ b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json
@@ -273,7 +273,7 @@
"changes": [
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json
index dcb4e57e..e9792485 100644
--- a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json
+++ b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json
@@ -273,7 +273,7 @@
"changes": [
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json
index 4d70cf28..8afe5f9e 100644
--- a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json
+++ b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json
@@ -300,7 +300,7 @@
"changes": [
{
"key": "system.disadvantageSources",
- "mode": 2,
+ "type": "add",
"value": "On attack rolls while you're within Very Close range of the Sentinel",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json
index 9ecd43fc..906e05ff 100644
--- a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json
+++ b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json
@@ -305,7 +305,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 5,
+ "type": "override",
"value": "@system.evasion / 2",
"priority": 10
}
diff --git a/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json b/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json
index 9052287b..04663981 100644
--- a/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json
+++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json
@@ -379,7 +379,7 @@
"changes": [
{
"key": "system.difficulty",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json b/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json
index 2959c66f..29117035 100644
--- a/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json
+++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json
@@ -324,7 +324,7 @@
"changes": [
{
"key": "system.difficulty",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
}
@@ -387,7 +387,7 @@
"changes": [
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json
index 322b23af..ee324e16 100644
--- a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json
+++ b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json
@@ -262,7 +262,7 @@
"changes": [
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Celestial_Trance_TfolXWFG2W2hx6sK.json b/src/packs/ancestries/feature_Celestial_Trance_TfolXWFG2W2hx6sK.json
index b1022f1f..0321223a 100644
--- a/src/packs/ancestries/feature_Celestial_Trance_TfolXWFG2W2hx6sK.json
+++ b/src/packs/ancestries/feature_Celestial_Trance_TfolXWFG2W2hx6sK.json
@@ -27,13 +27,13 @@
"changes": [
{
"key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.bonuses.rest.longRest.longMoves",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Dread_Visage_i92lYjDhVB0LyPid.json b/src/packs/ancestries/feature_Dread_Visage_i92lYjDhVB0LyPid.json
index 0b38aebc..5d72e579 100644
--- a/src/packs/ancestries/feature_Dread_Visage_i92lYjDhVB0LyPid.json
+++ b/src/packs/ancestries/feature_Dread_Visage_i92lYjDhVB0LyPid.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Dread Visage: Rolls to intimidate hostile creatures",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Efficient_2xlqKOkDxWHbuj4t.json b/src/packs/ancestries/feature_Efficient_2xlqKOkDxWHbuj4t.json
index fad97bdf..5a567695 100644
--- a/src/packs/ancestries/feature_Efficient_2xlqKOkDxWHbuj4t.json
+++ b/src/packs/ancestries/feature_Efficient_2xlqKOkDxWHbuj4t.json
@@ -27,13 +27,13 @@
"changes": [
{
"key": "system.bonuses.rest.shortRest.longMoves",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
+ "type": "add",
"value": "-1",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Endurance_tXWEMdLXafUSZTbK.json b/src/packs/ancestries/feature_Endurance_tXWEMdLXafUSZTbK.json
index 9d4710ab..ecf3d148 100644
--- a/src/packs/ancestries/feature_Endurance_tXWEMdLXafUSZTbK.json
+++ b/src/packs/ancestries/feature_Endurance_tXWEMdLXafUSZTbK.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.resources.hitPoints.max",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/ancestries/feature_High_Stamina_HMXNJZ7ynzajR2KT.json b/src/packs/ancestries/feature_High_Stamina_HMXNJZ7ynzajR2KT.json
index b93562e1..c653d13b 100644
--- a/src/packs/ancestries/feature_High_Stamina_HMXNJZ7ynzajR2KT.json
+++ b/src/packs/ancestries/feature_High_Stamina_HMXNJZ7ynzajR2KT.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.resources.stress.max",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Natural_Climber_soQvPL0MrTLLcc31.json b/src/packs/ancestries/feature_Natural_Climber_soQvPL0MrTLLcc31.json
index 8b33dc70..3817b5bd 100644
--- a/src/packs/ancestries/feature_Natural_Climber_soQvPL0MrTLLcc31.json
+++ b/src/packs/ancestries/feature_Natural_Climber_soQvPL0MrTLLcc31.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Agility Rolls that involve balancing and climbing",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Nimble_3lNqft3LmOlEIEkw.json b/src/packs/ancestries/feature_Nimble_3lNqft3LmOlEIEkw.json
index 07d894e3..d7bf9dd4 100644
--- a/src/packs/ancestries/feature_Nimble_3lNqft3LmOlEIEkw.json
+++ b/src/packs/ancestries/feature_Nimble_3lNqft3LmOlEIEkw.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Scales_u8ZhV962rNmUlzkp.json b/src/packs/ancestries/feature_Scales_u8ZhV962rNmUlzkp.json
index 6bf571ab..956d4aa3 100644
--- a/src/packs/ancestries/feature_Scales_u8ZhV962rNmUlzkp.json
+++ b/src/packs/ancestries/feature_Scales_u8ZhV962rNmUlzkp.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.rules.damageReduction.stressDamageReduction.severe.cost",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Shell_A6a87OWA3tx16g9V.json b/src/packs/ancestries/feature_Shell_A6a87OWA3tx16g9V.json
index 4dbfbc34..3063966e 100644
--- a/src/packs/ancestries/feature_Shell_A6a87OWA3tx16g9V.json
+++ b/src/packs/ancestries/feature_Shell_A6a87OWA3tx16g9V.json
@@ -27,13 +27,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "@prof",
"priority": 21
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "@prof",
"priority": 21
}
diff --git a/src/packs/ancestries/feature_Thick_Skin_S0Ww7pYOSREt8qKg.json b/src/packs/ancestries/feature_Thick_Skin_S0Ww7pYOSREt8qKg.json
index d9fc92de..e3712cd5 100644
--- a/src/packs/ancestries/feature_Thick_Skin_S0Ww7pYOSREt8qKg.json
+++ b/src/packs/ancestries/feature_Thick_Skin_S0Ww7pYOSREt8qKg.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.rules.damageReduction.stressDamageReduction.minor.cost",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json b/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json
index 3581bb7f..53c3de82 100644
--- a/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json
+++ b/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json
@@ -90,13 +90,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.dice",
- "mode": 2,
+ "type": "add",
"value": "1d6",
"priority": null
},
{
"key": "system.bonuses.damage.magical.dice",
- "mode": 2,
+ "type": "add",
"value": "1d6",
"priority": null
}
diff --git a/src/packs/ancestries/feature_Wings_WquAjoOcso8lwySW.json b/src/packs/ancestries/feature_Wings_WquAjoOcso8lwySW.json
index 0db94fb2..b90b6076 100644
--- a/src/packs/ancestries/feature_Wings_WquAjoOcso8lwySW.json
+++ b/src/packs/ancestries/feature_Wings_WquAjoOcso8lwySW.json
@@ -57,7 +57,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Agile_Scout_a9UoCwtrbgKk02mK.json b/src/packs/beastforms/beastform_Agile_Scout_a9UoCwtrbgKk02mK.json
index bd9bfffb..0fc7a23d 100644
--- a/src/packs/beastforms/beastform_Agile_Scout_a9UoCwtrbgKk02mK.json
+++ b/src/packs/beastforms/beastform_Agile_Scout_a9UoCwtrbgKk02mK.json
@@ -62,25 +62,25 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "0",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "agility",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Aquatic_Predator_ItBVeCl2u5uetgy7.json b/src/packs/beastforms/beastform_Aquatic_Predator_ItBVeCl2u5uetgy7.json
index 5287de84..9cf209e2 100644
--- a/src/packs/beastforms/beastform_Aquatic_Predator_ItBVeCl2u5uetgy7.json
+++ b/src/packs/beastforms/beastform_Aquatic_Predator_ItBVeCl2u5uetgy7.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "4",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "6",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "agility",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Aquatic_Scout_qqzdFCxyYupWZK23.json b/src/packs/beastforms/beastform_Aquatic_Scout_qqzdFCxyYupWZK23.json
index 95bea914..7816fd93 100644
--- a/src/packs/beastforms/beastform_Aquatic_Scout_qqzdFCxyYupWZK23.json
+++ b/src/packs/beastforms/beastform_Aquatic_Scout_qqzdFCxyYupWZK23.json
@@ -62,25 +62,25 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "0",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "agility",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Armored_Sentry_8pUHJv3BYdjA4Qdf.json b/src/packs/beastforms/beastform_Armored_Sentry_8pUHJv3BYdjA4Qdf.json
index ba18c05f..bc9187f5 100644
--- a/src/packs/beastforms/beastform_Armored_Sentry_8pUHJv3BYdjA4Qdf.json
+++ b/src/packs/beastforms/beastform_Armored_Sentry_8pUHJv3BYdjA4Qdf.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "strength",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Epic_Aquatic_Beast_wT4xbF99I55yjKZV.json b/src/packs/beastforms/beastform_Epic_Aquatic_Beast_wT4xbF99I55yjKZV.json
index 0dfe9c20..5131fd69 100644
--- a/src/packs/beastforms/beastform_Epic_Aquatic_Beast_wT4xbF99I55yjKZV.json
+++ b/src/packs/beastforms/beastform_Epic_Aquatic_Beast_wT4xbF99I55yjKZV.json
@@ -65,31 +65,31 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "10",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "agility",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Great_Predator_afbMt4Ld6nY3mw0N.json b/src/packs/beastforms/beastform_Great_Predator_afbMt4Ld6nY3mw0N.json
index 450a1312..d8d41890 100644
--- a/src/packs/beastforms/beastform_Great_Predator_afbMt4Ld6nY3mw0N.json
+++ b/src/packs/beastforms/beastform_Great_Predator_afbMt4Ld6nY3mw0N.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "4",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "8",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "strength",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Great_Winged_Beast_b4BMnTbJ3iPPidSb.json b/src/packs/beastforms/beastform_Great_Winged_Beast_b4BMnTbJ3iPPidSb.json
index c04b2182..e3842c7e 100644
--- a/src/packs/beastforms/beastform_Great_Winged_Beast_b4BMnTbJ3iPPidSb.json
+++ b/src/packs/beastforms/beastform_Great_Winged_Beast_b4BMnTbJ3iPPidSb.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "6",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "finesse",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Household_Friend_iDmOtiHJJ80AIAVT.json b/src/packs/beastforms/beastform_Household_Friend_iDmOtiHJJ80AIAVT.json
index cfb6aea7..ff7daa91 100644
--- a/src/packs/beastforms/beastform_Household_Friend_iDmOtiHJJ80AIAVT.json
+++ b/src/packs/beastforms/beastform_Household_Friend_iDmOtiHJJ80AIAVT.json
@@ -62,25 +62,25 @@
"changes": [
{
"key": "system.traits.instinct.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "instinct",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Legendary_Beast_mqP6z4Wg4K3oDAom.json b/src/packs/beastforms/beastform_Legendary_Beast_mqP6z4Wg4K3oDAom.json
index 60ba7cd0..dd35735b 100644
--- a/src/packs/beastforms/beastform_Legendary_Beast_mqP6z4Wg4K3oDAom.json
+++ b/src/packs/beastforms/beastform_Legendary_Beast_mqP6z4Wg4K3oDAom.json
@@ -49,13 +49,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "6",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Legendary_Hybrid_rRUtgcUjimlpPhnn.json b/src/packs/beastforms/beastform_Legendary_Hybrid_rRUtgcUjimlpPhnn.json
index 4575820e..58edfabc 100644
--- a/src/packs/beastforms/beastform_Legendary_Hybrid_rRUtgcUjimlpPhnn.json
+++ b/src/packs/beastforms/beastform_Legendary_Hybrid_rRUtgcUjimlpPhnn.json
@@ -49,31 +49,31 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "8",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "strength",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Massive_Behemoth_qjwMzPn33aKZACkv.json b/src/packs/beastforms/beastform_Massive_Behemoth_qjwMzPn33aKZACkv.json
index 35715056..1b34daf9 100644
--- a/src/packs/beastforms/beastform_Massive_Behemoth_qjwMzPn33aKZACkv.json
+++ b/src/packs/beastforms/beastform_Massive_Behemoth_qjwMzPn33aKZACkv.json
@@ -66,31 +66,31 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "4",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "12",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "strength",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Mighty_Lizard_94tvcC3D5Kp4lzuN.json b/src/packs/beastforms/beastform_Mighty_Lizard_94tvcC3D5Kp4lzuN.json
index 390bf054..8f76f675 100644
--- a/src/packs/beastforms/beastform_Mighty_Lizard_94tvcC3D5Kp4lzuN.json
+++ b/src/packs/beastforms/beastform_Mighty_Lizard_94tvcC3D5Kp4lzuN.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.instinct.value",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "7",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "instinct",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Mighty_Strider_zRLjqKx4Rn2TjivL.json b/src/packs/beastforms/beastform_Mighty_Strider_zRLjqKx4Rn2TjivL.json
index adb9627b..5393c188 100644
--- a/src/packs/beastforms/beastform_Mighty_Strider_zRLjqKx4Rn2TjivL.json
+++ b/src/packs/beastforms/beastform_Mighty_Strider_zRLjqKx4Rn2TjivL.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "agility",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Mythic_Aerial_Hunter_jV6EuEacyQlHW4SN.json b/src/packs/beastforms/beastform_Mythic_Aerial_Hunter_jV6EuEacyQlHW4SN.json
index dc373c27..80571c43 100644
--- a/src/packs/beastforms/beastform_Mythic_Aerial_Hunter_jV6EuEacyQlHW4SN.json
+++ b/src/packs/beastforms/beastform_Mythic_Aerial_Hunter_jV6EuEacyQlHW4SN.json
@@ -65,31 +65,31 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "4",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "11",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "finesse",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Mythic_Beast_kObobka52JdpWBSu.json b/src/packs/beastforms/beastform_Mythic_Beast_kObobka52JdpWBSu.json
index cd879ac0..84dfb32b 100644
--- a/src/packs/beastforms/beastform_Mythic_Beast_kObobka52JdpWBSu.json
+++ b/src/packs/beastforms/beastform_Mythic_Beast_kObobka52JdpWBSu.json
@@ -49,19 +49,19 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "9",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": 60
}
diff --git a/src/packs/beastforms/beastform_Mythic_Hybrid_WAbxCf2An8qmxyJ1.json b/src/packs/beastforms/beastform_Mythic_Hybrid_WAbxCf2An8qmxyJ1.json
index fa35eaac..691d9972 100644
--- a/src/packs/beastforms/beastform_Mythic_Hybrid_WAbxCf2An8qmxyJ1.json
+++ b/src/packs/beastforms/beastform_Mythic_Hybrid_WAbxCf2An8qmxyJ1.json
@@ -49,31 +49,31 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "4",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "10",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "strength",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Nimble_Grazer_CItO8yX6amQaqyk7.json b/src/packs/beastforms/beastform_Nimble_Grazer_CItO8yX6amQaqyk7.json
index 183ad150..30523e41 100644
--- a/src/packs/beastforms/beastform_Nimble_Grazer_CItO8yX6amQaqyk7.json
+++ b/src/packs/beastforms/beastform_Nimble_Grazer_CItO8yX6amQaqyk7.json
@@ -62,25 +62,25 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "agility",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Pack_Predator_YLisKYYhAGca50WM.json b/src/packs/beastforms/beastform_Pack_Predator_YLisKYYhAGca50WM.json
index 834493bb..82a0dded 100644
--- a/src/packs/beastforms/beastform_Pack_Predator_YLisKYYhAGca50WM.json
+++ b/src/packs/beastforms/beastform_Pack_Predator_YLisKYYhAGca50WM.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "strength",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Pouncing_Predator_33oFSZ1PwFqInHPe.json b/src/packs/beastforms/beastform_Pouncing_Predator_33oFSZ1PwFqInHPe.json
index d172d8f3..f058d649 100644
--- a/src/packs/beastforms/beastform_Pouncing_Predator_33oFSZ1PwFqInHPe.json
+++ b/src/packs/beastforms/beastform_Pouncing_Predator_33oFSZ1PwFqInHPe.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.instinct.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "6",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "instinct",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Powerful_Beast_m8BVTuJI1wCvzTcf.json b/src/packs/beastforms/beastform_Powerful_Beast_m8BVTuJI1wCvzTcf.json
index 7fa832e6..6ad91eed 100644
--- a/src/packs/beastforms/beastform_Powerful_Beast_m8BVTuJI1wCvzTcf.json
+++ b/src/packs/beastforms/beastform_Powerful_Beast_m8BVTuJI1wCvzTcf.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "4",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "strength",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Stalking_Arachnid_A4TVRY0D5r9EiVwA.json b/src/packs/beastforms/beastform_Stalking_Arachnid_A4TVRY0D5r9EiVwA.json
index 16520a9c..cf6f49f2 100644
--- a/src/packs/beastforms/beastform_Stalking_Arachnid_A4TVRY0D5r9EiVwA.json
+++ b/src/packs/beastforms/beastform_Stalking_Arachnid_A4TVRY0D5r9EiVwA.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "finesse",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Striking_Serpent_1XrZWGDttBAAUxR1.json b/src/packs/beastforms/beastform_Striking_Serpent_1XrZWGDttBAAUxR1.json
index f78500c9..16111887 100644
--- a/src/packs/beastforms/beastform_Striking_Serpent_1XrZWGDttBAAUxR1.json
+++ b/src/packs/beastforms/beastform_Striking_Serpent_1XrZWGDttBAAUxR1.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "4",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "finesse",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Terrible_Lizard_5BABxRe2XVrYTj8N.json b/src/packs/beastforms/beastform_Terrible_Lizard_5BABxRe2XVrYTj8N.json
index 49818b74..e9993526 100644
--- a/src/packs/beastforms/beastform_Terrible_Lizard_5BABxRe2XVrYTj8N.json
+++ b/src/packs/beastforms/beastform_Terrible_Lizard_5BABxRe2XVrYTj8N.json
@@ -65,31 +65,31 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "4",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "10",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "strength",
"priority": null
}
diff --git a/src/packs/beastforms/beastform_Winged_Beast_mZ4Wlqtss2FlNNvL.json b/src/packs/beastforms/beastform_Winged_Beast_mZ4Wlqtss2FlNNvL.json
index 4ca44471..ccb67283 100644
--- a/src/packs/beastforms/beastform_Winged_Beast_mZ4Wlqtss2FlNNvL.json
+++ b/src/packs/beastforms/beastform_Winged_Beast_mZ4Wlqtss2FlNNvL.json
@@ -62,31 +62,31 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.rules.attack.damage.diceIndex",
- "mode": 5,
+ "type": "override",
"value": "0",
"priority": null
},
{
"key": "system.rules.attack.damage.bonus",
- "mode": 5,
+ "type": "override",
"value": "2",
"priority": null
},
{
"key": "system.rules.attack.roll.trait",
- "mode": 5,
+ "type": "override",
"value": "finesse",
"priority": null
}
diff --git a/src/packs/beastforms/feature_Armored_Shell_nDQZdIF2epKlhauX.json b/src/packs/beastforms/feature_Armored_Shell_nDQZdIF2epKlhauX.json
index 7aaefef8..395a1d7d 100644
--- a/src/packs/beastforms/feature_Armored_Shell_nDQZdIF2epKlhauX.json
+++ b/src/packs/beastforms/feature_Armored_Shell_nDQZdIF2epKlhauX.json
@@ -60,7 +60,7 @@
"changes": [
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
@@ -98,7 +98,7 @@
"changes": [
{
"key": "system.resistance.physical.reduction",
- "mode": 2,
+ "type": "add",
"value": "@system.armorScore",
"priority": 21
}
diff --git a/src/packs/beastforms/feature_Hollow_Bones_xVgmXhj2YgeqS1KK.json b/src/packs/beastforms/feature_Hollow_Bones_xVgmXhj2YgeqS1KK.json
index d047a501..23b2317f 100644
--- a/src/packs/beastforms/feature_Hollow_Bones_xVgmXhj2YgeqS1KK.json
+++ b/src/packs/beastforms/feature_Hollow_Bones_xVgmXhj2YgeqS1KK.json
@@ -25,13 +25,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "-2",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "-2",
"priority": null
}
diff --git a/src/packs/beastforms/feature_Physical_Defense_StabkQ3BzWRZa8Tz.json b/src/packs/beastforms/feature_Physical_Defense_StabkQ3BzWRZa8Tz.json
index f4c86b8c..6edc64da 100644
--- a/src/packs/beastforms/feature_Physical_Defense_StabkQ3BzWRZa8Tz.json
+++ b/src/packs/beastforms/feature_Physical_Defense_StabkQ3BzWRZa8Tz.json
@@ -25,13 +25,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
}
diff --git a/src/packs/beastforms/feature_Rampage_8upqfcZvi7b5hRLE.json b/src/packs/beastforms/feature_Rampage_8upqfcZvi7b5hRLE.json
index 03c3b2c7..8c86458b 100644
--- a/src/packs/beastforms/feature_Rampage_8upqfcZvi7b5hRLE.json
+++ b/src/packs/beastforms/feature_Rampage_8upqfcZvi7b5hRLE.json
@@ -62,7 +62,7 @@
"changes": [
{
"key": "system.proficiency",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/beastforms/feature_Takedown_0ey4kM9ssj2otHvb.json b/src/packs/beastforms/feature_Takedown_0ey4kM9ssj2otHvb.json
index 531b30ea..591f4857 100644
--- a/src/packs/beastforms/feature_Takedown_0ey4kM9ssj2otHvb.json
+++ b/src/packs/beastforms/feature_Takedown_0ey4kM9ssj2otHvb.json
@@ -108,7 +108,7 @@
"changes": [
{
"key": "system.proficiency",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/beastforms/feature_Thick_Hide_ZYbdXaWVj2zdcmaK.json b/src/packs/beastforms/feature_Thick_Hide_ZYbdXaWVj2zdcmaK.json
index 6eba9342..932749bf 100644
--- a/src/packs/beastforms/feature_Thick_Hide_ZYbdXaWVj2zdcmaK.json
+++ b/src/packs/beastforms/feature_Thick_Hide_ZYbdXaWVj2zdcmaK.json
@@ -25,13 +25,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/beastforms/feature_Undaunted_ODudjX88Te4vDP57.json b/src/packs/beastforms/feature_Undaunted_ODudjX88Te4vDP57.json
index 092efe51..d13c8a1c 100644
--- a/src/packs/beastforms/feature_Undaunted_ODudjX88Te4vDP57.json
+++ b/src/packs/beastforms/feature_Undaunted_ODudjX88Te4vDP57.json
@@ -25,13 +25,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json b/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json
index 8b4ad82e..34f242ed 100644
--- a/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json
+++ b/src/packs/classes/feature_Combat_Training_eoSmuAJmgHUyULtp.json
@@ -24,13 +24,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.levelData.level.current",
"priority": null
},
{
"key": "system.rules.burden.ignore",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/classes/feature_Rally_PydiMnNCKpd44SGS.json b/src/packs/classes/feature_Rally_PydiMnNCKpd44SGS.json
index e4f84a9f..9ecb926b 100644
--- a/src/packs/classes/feature_Rally_PydiMnNCKpd44SGS.json
+++ b/src/packs/classes/feature_Rally_PydiMnNCKpd44SGS.json
@@ -55,7 +55,7 @@
"changes": [
{
"key": "system.bonuses.rally",
- "mode": 2,
+ "type": "add",
"value": "6 + min((floor(@system.levelData.level.current / 5)*2), 2)",
"priority": null
}
diff --git a/src/packs/classes/feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json b/src/packs/classes/feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json
index 4b5ce9bd..83db7d06 100644
--- a/src/packs/classes/feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json
+++ b/src/packs/classes/feature_Sneak_Attack_5QqpEwmwkPfZHpMW.json
@@ -28,13 +28,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.dice",
- "mode": 2,
+ "type": "add",
"value": "@tierd6",
"priority": null
},
{
"key": "system.bonuses.damage.magical.dice",
- "mode": 2,
+ "type": "add",
"value": "@tierd6",
"priority": null
}
diff --git a/src/packs/classes/feature_Unstoppable_PnD2UCgzIlwX6cY3.json b/src/packs/classes/feature_Unstoppable_PnD2UCgzIlwX6cY3.json
index 56362824..5477f2c4 100644
--- a/src/packs/classes/feature_Unstoppable_PnD2UCgzIlwX6cY3.json
+++ b/src/packs/classes/feature_Unstoppable_PnD2UCgzIlwX6cY3.json
@@ -65,31 +65,31 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "ORIGIN.@item.resource.value",
"priority": null
},
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "ORIGIN.@item.resource.value",
"priority": null
},
{
"key": "system.rules.damageReduction.reduceSeverity.physical",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.rules.conditionImmunities.vulnerable",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
},
{
"key": "system.rules.conditionImmunities.restrained",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/communities/feature_Lightfoot_TQ1AIQjndC4mYmmU.json b/src/packs/communities/feature_Lightfoot_TQ1AIQjndC4mYmmU.json
index 91c771fc..84134bbb 100644
--- a/src/packs/communities/feature_Lightfoot_TQ1AIQjndC4mYmmU.json
+++ b/src/packs/communities/feature_Lightfoot_TQ1AIQjndC4mYmmU.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Move without being heard.",
"priority": null
}
diff --git a/src/packs/communities/feature_Privilege_C7NR6qRatawZusmg.json b/src/packs/communities/feature_Privilege_C7NR6qRatawZusmg.json
index caae7322..85ef1ec3 100644
--- a/src/packs/communities/feature_Privilege_C7NR6qRatawZusmg.json
+++ b/src/packs/communities/feature_Privilege_C7NR6qRatawZusmg.json
@@ -27,19 +27,19 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Consort with nobles",
"priority": null
},
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Negotiate prices",
"priority": null
},
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Leverage your reputation to get what you want",
"priority": null
}
diff --git a/src/packs/communities/feature_Scoundrel_ZmEuBdL0JrvuA8le.json b/src/packs/communities/feature_Scoundrel_ZmEuBdL0JrvuA8le.json
index 55605a00..7f7a34ae 100644
--- a/src/packs/communities/feature_Scoundrel_ZmEuBdL0JrvuA8le.json
+++ b/src/packs/communities/feature_Scoundrel_ZmEuBdL0JrvuA8le.json
@@ -27,19 +27,19 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Negotiate with criminals",
"priority": null
},
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Detect lies",
"priority": null
},
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Find a safe place to hide",
"priority": null
}
diff --git a/src/packs/communities/feature_Steady_DYmmr5CknLtHnwuj.json b/src/packs/communities/feature_Steady_DYmmr5CknLtHnwuj.json
index ee9c683c..292fd773 100644
--- a/src/packs/communities/feature_Steady_DYmmr5CknLtHnwuj.json
+++ b/src/packs/communities/feature_Steady_DYmmr5CknLtHnwuj.json
@@ -27,19 +27,19 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Traverse dangerous cliffs and ledges",
"priority": null
},
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Navigate harsh environment",
"priority": null
},
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Use your survival knowledge",
"priority": null
}
diff --git a/src/packs/communities/feature_Well_Read_JBZJmywisJg5X3tH.json b/src/packs/communities/feature_Well_Read_JBZJmywisJg5X3tH.json
index 3ce8fd16..28d4c962 100644
--- a/src/packs/communities/feature_Well_Read_JBZJmywisJg5X3tH.json
+++ b/src/packs/communities/feature_Well_Read_JBZJmywisJg5X3tH.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "History, culture, or politics of a prominent person or place",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Arcana_Touched_5PvMQKCjrgSxzstn.json b/src/packs/domains/domainCard_Arcana_Touched_5PvMQKCjrgSxzstn.json
index 70e2d23c..361558d3 100644
--- a/src/packs/domains/domainCard_Arcana_Touched_5PvMQKCjrgSxzstn.json
+++ b/src/packs/domains/domainCard_Arcana_Touched_5PvMQKCjrgSxzstn.json
@@ -68,7 +68,7 @@
"changes": [
{
"key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
+ "type": "add",
"value": "+1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Blade_Touched_Gb5bqpFSBiuBxUix.json b/src/packs/domains/domainCard_Blade_Touched_Gb5bqpFSBiuBxUix.json
index 8cc9834e..ba8c56a9 100644
--- a/src/packs/domains/domainCard_Blade_Touched_Gb5bqpFSBiuBxUix.json
+++ b/src/packs/domains/domainCard_Blade_Touched_Gb5bqpFSBiuBxUix.json
@@ -27,13 +27,13 @@
"changes": [
{
"key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "4",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Body_Basher_aQz8jKkCd8M9aKMA.json b/src/packs/domains/domainCard_Body_Basher_aQz8jKkCd8M9aKMA.json
index 7c5a7ef1..fc49b640 100644
--- a/src/packs/domains/domainCard_Body_Basher_aQz8jKkCd8M9aKMA.json
+++ b/src/packs/domains/domainCard_Body_Basher_aQz8jKkCd8M9aKMA.json
@@ -35,13 +35,13 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.traits.strength.value",
"priority": 21
},
{
"key": "system.bonuses.damage.secondaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.traits.strength.value",
"priority": 21
}
diff --git a/src/packs/domains/domainCard_Bold_Presence_tdsL00yTSLNgZWs6.json b/src/packs/domains/domainCard_Bold_Presence_tdsL00yTSLNgZWs6.json
index 95b73ff5..3d7a26e2 100644
--- a/src/packs/domains/domainCard_Bold_Presence_tdsL00yTSLNgZWs6.json
+++ b/src/packs/domains/domainCard_Bold_Presence_tdsL00yTSLNgZWs6.json
@@ -88,7 +88,7 @@
"changes": [
{
"key": "system.traits.presence.value",
- "mode": 2,
+ "type": "add",
"value": "@system.traits.strength.value",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json b/src/packs/domains/domainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json
index 35f8a4d0..3fc45037 100644
--- a/src/packs/domains/domainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json
+++ b/src/packs/domains/domainCard_Bone_Touched_ON5bvnoQBy0SYc9Y.json
@@ -60,7 +60,7 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Brace_QXs4vssSqNGQu5b8.json b/src/packs/domains/domainCard_Brace_QXs4vssSqNGQu5b8.json
index 23b15eba..321de80a 100644
--- a/src/packs/domains/domainCard_Brace_QXs4vssSqNGQu5b8.json
+++ b/src/packs/domains/domainCard_Brace_QXs4vssSqNGQu5b8.json
@@ -26,7 +26,7 @@
"changes": [
{
"key": "system.rules.damageReduction.maxArmorMarked.stressExtra",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Codex_Touched_7Pu83ABdMukTxu3e.json b/src/packs/domains/domainCard_Codex_Touched_7Pu83ABdMukTxu3e.json
index f07e89be..3eb4da35 100644
--- a/src/packs/domains/domainCard_Codex_Touched_7Pu83ABdMukTxu3e.json
+++ b/src/packs/domains/domainCard_Codex_Touched_7Pu83ABdMukTxu3e.json
@@ -89,7 +89,7 @@
"changes": [
{
"key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.proficiency",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json b/src/packs/domains/domainCard_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json
index 62f42054..0b581925 100644
--- a/src/packs/domains/domainCard_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json
+++ b/src/packs/domains/domainCard_Conjured_Steeds_Jkp6cMDiHHaBZQRS.json
@@ -66,19 +66,19 @@
"changes": [
{
"key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
+ "type": "add",
"value": "-2",
"priority": null
},
{
"key": "system.bonuses.damage.magical.dice",
- "mode": 2,
+ "type": "add",
"value": "+2",
"priority": null
},
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+2",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Cruel_Precision_bap1eCWryPNowbyo.json b/src/packs/domains/domainCard_Cruel_Precision_bap1eCWryPNowbyo.json
index c71dfa04..fbe1d7c7 100644
--- a/src/packs/domains/domainCard_Cruel_Precision_bap1eCWryPNowbyo.json
+++ b/src/packs/domains/domainCard_Cruel_Precision_bap1eCWryPNowbyo.json
@@ -26,13 +26,13 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.traits.agility.value",
"priority": 21
},
{
"key": "system.bonuses.damage.secondaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.traits.agility.value",
"priority": 21
}
@@ -69,13 +69,13 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.traits.finesse.value",
"priority": null
},
{
"key": "system.bonuses.damage.secondaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.traits.finesse.value",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json b/src/packs/domains/domainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json
index 938f2daf..e794241f 100644
--- a/src/packs/domains/domainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json
+++ b/src/packs/domains/domainCard_Deadly_Focus_xxZOXC4tiZQ6kg1e.json
@@ -60,7 +60,7 @@
"changes": [
{
"key": "system.proficiency",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Deft_Deceiver_38znCh6kHTkaPwYi.json b/src/packs/domains/domainCard_Deft_Deceiver_38znCh6kHTkaPwYi.json
index dac804e2..f8696f52 100644
--- a/src/packs/domains/domainCard_Deft_Deceiver_38znCh6kHTkaPwYi.json
+++ b/src/packs/domains/domainCard_Deft_Deceiver_38znCh6kHTkaPwYi.json
@@ -66,7 +66,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Deceive or trick someone into believing a lie you told them",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Deft_Maneuvers_dc4rAXlv95srZUct.json b/src/packs/domains/domainCard_Deft_Maneuvers_dc4rAXlv95srZUct.json
index 6cb59b2c..671d1233 100644
--- a/src/packs/domains/domainCard_Deft_Maneuvers_dc4rAXlv95srZUct.json
+++ b/src/packs/domains/domainCard_Deft_Maneuvers_dc4rAXlv95srZUct.json
@@ -68,7 +68,7 @@
"changes": [
{
"key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json b/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json
index cfa183d1..00786add 100644
--- a/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json
+++ b/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json
@@ -260,7 +260,7 @@
"changes": [
{
"key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Force_of_Nature_LzVpMkD5I4QeaIHf.json b/src/packs/domains/domainCard_Force_of_Nature_LzVpMkD5I4QeaIHf.json
index 9db4016c..913de9e0 100644
--- a/src/packs/domains/domainCard_Force_of_Nature_LzVpMkD5I4QeaIHf.json
+++ b/src/packs/domains/domainCard_Force_of_Nature_LzVpMkD5I4QeaIHf.json
@@ -95,19 +95,19 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "10",
"priority": null
},
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "10",
"priority": null
},
{
"key": "system.rules.conditionImmunities.restrained",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json b/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json
index f345262a..164b3a71 100644
--- a/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json
+++ b/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json
@@ -91,7 +91,7 @@
"changes": [
{
"key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
+ "type": "add",
"value": "+3",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Fortified_Armor_oVa49lI107eZILZr.json b/src/packs/domains/domainCard_Fortified_Armor_oVa49lI107eZILZr.json
index 7162c664..90ed8d89 100644
--- a/src/packs/domains/domainCard_Fortified_Armor_oVa49lI107eZILZr.json
+++ b/src/packs/domains/domainCard_Fortified_Armor_oVa49lI107eZILZr.json
@@ -26,13 +26,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json b/src/packs/domains/domainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json
index f4cc2cbf..fde3f546 100644
--- a/src/packs/domains/domainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json
+++ b/src/packs/domains/domainCard_Get_Back_Up_BFWN2cObMdlk9uVz.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.rules.damageReduction.stressDamageReduction.severe.cost",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json b/src/packs/domains/domainCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json
index 7998b6c4..ad1c1580 100644
--- a/src/packs/domains/domainCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json
+++ b/src/packs/domains/domainCard_Gifted_Tracker_VZ2b4zfRzV73XTuT.json
@@ -66,7 +66,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "+1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json b/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json
index 11610aac..884324f7 100644
--- a/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json
+++ b/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json
@@ -109,7 +109,7 @@
"changes": [
{
"key": "system.disadvantageSources",
- "mode": 2,
+ "type": "add",
"value": "Attacking the goading creature",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Inevitable_XTT8c8uJ4D7fvtbL.json b/src/packs/domains/domainCard_Inevitable_XTT8c8uJ4D7fvtbL.json
index 790acf08..d7f1d82d 100644
--- a/src/packs/domains/domainCard_Inevitable_XTT8c8uJ4D7fvtbL.json
+++ b/src/packs/domains/domainCard_Inevitable_XTT8c8uJ4D7fvtbL.json
@@ -26,7 +26,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "If you failed your previous action roll",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Mass_Disguise_dT95m0Jam8sWbeuC.json b/src/packs/domains/domainCard_Mass_Disguise_dT95m0Jam8sWbeuC.json
index 8c0122f4..4941eddd 100644
--- a/src/packs/domains/domainCard_Mass_Disguise_dT95m0Jam8sWbeuC.json
+++ b/src/packs/domains/domainCard_Mass_Disguise_dT95m0Jam8sWbeuC.json
@@ -96,7 +96,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Presence Rolls to avoid scrutiny.",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json b/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json
index f561e0be..68ed1c54 100644
--- a/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json
+++ b/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json
@@ -142,13 +142,13 @@
"changes": [
{
"key": "system.bonuses.damage.magical.dice",
- "mode": 2,
+ "type": "add",
"value": "d6",
"priority": null
},
{
"key": "system.bonuses.damage.physical.dice",
- "mode": 2,
+ "type": "add",
"value": "d6",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json b/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json
index 81c0734e..42734531 100644
--- a/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json
+++ b/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json
@@ -112,7 +112,7 @@
"changes": [
{
"key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
+ "type": "add",
"value": "+2",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Never_Upstaged_McdncxmO9K1YNP7Y.json b/src/packs/domains/domainCard_Never_Upstaged_McdncxmO9K1YNP7Y.json
index 4662a882..396b7153 100644
--- a/src/packs/domains/domainCard_Never_Upstaged_McdncxmO9K1YNP7Y.json
+++ b/src/packs/domains/domainCard_Never_Upstaged_McdncxmO9K1YNP7Y.json
@@ -214,13 +214,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+5",
"priority": null
},
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+5",
"priority": null
}
@@ -257,13 +257,13 @@
"changes": [
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+10",
"priority": null
},
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+10",
"priority": null
}
@@ -300,13 +300,13 @@
"changes": [
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+15",
"priority": null
},
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+15",
"priority": null
}
@@ -343,13 +343,13 @@
"changes": [
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+20",
"priority": null
},
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+20",
"priority": null
}
diff --git a/src/packs/domains/domainCard_On_the_Brink_zbxPl81kbWEegKQN.json b/src/packs/domains/domainCard_On_the_Brink_zbxPl81kbWEegKQN.json
index c4c89d17..2dc7b95e 100644
--- a/src/packs/domains/domainCard_On_the_Brink_zbxPl81kbWEegKQN.json
+++ b/src/packs/domains/domainCard_On_the_Brink_zbxPl81kbWEegKQN.json
@@ -26,7 +26,7 @@
"changes": [
{
"key": "system.rules.damageReduction.thresholdImmunities.minor",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json b/src/packs/domains/domainCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json
index 250bc539..1a5e40df 100644
--- a/src/packs/domains/domainCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json
+++ b/src/packs/domains/domainCard_Pick_and_Pull_HdgZUfWd7Hyj7nBW.json
@@ -26,19 +26,19 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Pick nonmagical locks",
"priority": null
},
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Disarm nonmagical traps",
"priority": null
},
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Steal items from a target (either through stealth or by force)",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Recovery_gsiQFT6q3WOgqerJ.json b/src/packs/domains/domainCard_Recovery_gsiQFT6q3WOgqerJ.json
index 83e3a22c..bf6ffbf3 100644
--- a/src/packs/domains/domainCard_Recovery_gsiQFT6q3WOgqerJ.json
+++ b/src/packs/domains/domainCard_Recovery_gsiQFT6q3WOgqerJ.json
@@ -60,13 +60,13 @@
"changes": [
{
"key": "system.bonuses.rest.shortRest.longMoves",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
+ "type": "add",
"value": "-1",
"priority": null
}
@@ -99,13 +99,13 @@
"changes": [
{
"key": "system.bonuses.rest.shortRest.longMoves",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
+ "type": "add",
"value": "-1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json b/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json
index 74f6293f..09c82b6e 100644
--- a/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json
+++ b/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json
@@ -95,7 +95,7 @@
"changes": [
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "@system.proficiency",
"priority": 21
}
diff --git a/src/packs/domains/domainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json b/src/packs/domains/domainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json
index de4872a2..14c79df8 100644
--- a/src/packs/domains/domainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json
+++ b/src/packs/domains/domainCard_Safe_Haven_lmBLMPuR8qLbuzNf.json
@@ -66,13 +66,13 @@
"changes": [
{
"key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.bonuses.rest.longRest.longMoves",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json b/src/packs/domains/domainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json
index 082f8620..a289fd30 100644
--- a/src/packs/domains/domainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json
+++ b/src/packs/domains/domainCard_Sage_Touched_VOSFaQHZbmhMyXwi.json
@@ -108,7 +108,7 @@
"changes": [
{
"key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
+ "type": "add",
"value": "+2",
"priority": null
}
@@ -149,7 +149,7 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 1,
+ "type": "multiply",
"value": "2",
"priority": null
}
@@ -186,7 +186,7 @@
"changes": [
{
"key": "system.traits.instinct.value",
- "mode": 1,
+ "type": "multiply",
"value": "2",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json b/src/packs/domains/domainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json
index 9c9a31c7..b942cc20 100644
--- a/src/packs/domains/domainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json
+++ b/src/packs/domains/domainCard_Shadowhunter_A0XzD6MmBXYdk7Ps.json
@@ -57,7 +57,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Attack rolls while shrouded in low light or darkness.",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Shield_Aura_rfIv6lln40Fh6EIl.json b/src/packs/domains/domainCard_Shield_Aura_rfIv6lln40Fh6EIl.json
index 6a2b565c..03155bf1 100644
--- a/src/packs/domains/domainCard_Shield_Aura_rfIv6lln40Fh6EIl.json
+++ b/src/packs/domains/domainCard_Shield_Aura_rfIv6lln40Fh6EIl.json
@@ -68,7 +68,7 @@
"changes": [
{
"key": "system.rules.damageReduction.increasePerArmorMark",
- "mode": 2,
+ "type": "add",
"value": "+1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json b/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json
index b6461215..f73deba0 100644
--- a/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json
+++ b/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json
@@ -82,7 +82,7 @@
"changes": [
{
"key": "system.rules.damageReduction.stressDamageReduction.any.cost",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json b/src/packs/domains/domainCard_Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json
index 0ee15cb9..5291c31c 100644
--- a/src/packs/domains/domainCard_Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json
+++ b/src/packs/domains/domainCard_Specter_of_the_Dark_iQhgqmLwhcSTYnvr.json
@@ -66,7 +66,7 @@
"changes": [
{
"key": "system.resistance.physical.immunity",
- "mode": 5,
+ "type": "override",
"value": "true",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Splendor_Touched_JT5dM3gVL6chDBYU.json b/src/packs/domains/domainCard_Splendor_Touched_JT5dM3gVL6chDBYU.json
index a7609b62..730ac290 100644
--- a/src/packs/domains/domainCard_Splendor_Touched_JT5dM3gVL6chDBYU.json
+++ b/src/packs/domains/domainCard_Splendor_Touched_JT5dM3gVL6chDBYU.json
@@ -27,7 +27,7 @@
"changes": [
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "+3",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json b/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json
index 6088f1dc..e0a2d403 100644
--- a/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json
+++ b/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json
@@ -100,7 +100,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Presence Rolls to avoid scrutiny",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Untouchable_9QElncQUDSakuSdR.json b/src/packs/domains/domainCard_Untouchable_9QElncQUDSakuSdR.json
index a5326403..9693b6bf 100644
--- a/src/packs/domains/domainCard_Untouchable_9QElncQUDSakuSdR.json
+++ b/src/packs/domains/domainCard_Untouchable_9QElncQUDSakuSdR.json
@@ -26,7 +26,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "ceil(@system.traits.agility.value / 2)",
"priority": 21
}
diff --git a/src/packs/domains/domainCard_Vitality_sWUlSPOJEaXyQLCj.json b/src/packs/domains/domainCard_Vitality_sWUlSPOJEaXyQLCj.json
index 2d42ef9f..6b4f1740 100644
--- a/src/packs/domains/domainCard_Vitality_sWUlSPOJEaXyQLCj.json
+++ b/src/packs/domains/domainCard_Vitality_sWUlSPOJEaXyQLCj.json
@@ -69,7 +69,7 @@
"changes": [
{
"key": "system.resources.hitPoints.max",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
@@ -106,7 +106,7 @@
"changes": [
{
"key": "system.resources.stress.max",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
@@ -143,13 +143,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/domains/domainCard_Voice_of_Reason_t3RRGH6mMYYJJCcF.json b/src/packs/domains/domainCard_Voice_of_Reason_t3RRGH6mMYYJJCcF.json
index 5b6c21ca..86305f00 100644
--- a/src/packs/domains/domainCard_Voice_of_Reason_t3RRGH6mMYYJJCcF.json
+++ b/src/packs/domains/domainCard_Voice_of_Reason_t3RRGH6mMYYJJCcF.json
@@ -26,13 +26,13 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "De-escalate violent situations.",
"priority": null
},
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Convince someone to follow your lead.",
"priority": null
}
@@ -69,7 +69,7 @@
"changes": [
{
"key": "system.proficiency",
- "mode": 2,
+ "type": "add",
"value": "+1",
"priority": null
}
diff --git a/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json b/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
index f3845f23..d6809cd1 100644
--- a/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
+++ b/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
@@ -186,7 +186,7 @@
"changes": [
{
"key": "system.rules.dualityRoll.defaultHopeDice",
- "mode": 5,
+ "type": "override",
"value": "d10",
"priority": null
}
@@ -312,13 +312,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.dice",
- "mode": 2,
+ "type": "add",
"value": "1d10",
"priority": null
},
{
"key": "system.bonuses.damage.magical.dice",
- "mode": 2,
+ "type": "add",
"value": "1d10",
"priority": null
}
diff --git a/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json b/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json
index e7ca7832..339ac5cd 100644
--- a/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json
+++ b/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json
@@ -425,25 +425,25 @@
"changes": [
{
"key": "system.difficulty",
- "mode": 2,
+ "type": "add",
"value": "0",
"priority": null
},
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "0",
"priority": null
},
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "0",
"priority": null
},
{
"key": "system.bonuses.roll.attack.bonus",
- "mode": 2,
+ "type": "add",
"value": "0",
"priority": null
}
diff --git a/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json b/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json
index f2da690b..564612cb 100644
--- a/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json
+++ b/src/packs/environments/environment_Haunted_City_OzYbizKraK92FDiI.json
@@ -206,7 +206,7 @@
"changes": [
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/armors/armor_Advanced_Chainmail_Armor_LzLOJ9EVaHWAjoq9.json b/src/packs/items/armors/armor_Advanced_Chainmail_Armor_LzLOJ9EVaHWAjoq9.json
index 4566396a..53f9bf79 100644
--- a/src/packs/items/armors/armor_Advanced_Chainmail_Armor_LzLOJ9EVaHWAjoq9.json
+++ b/src/packs/items/armors/armor_Advanced_Chainmail_Armor_LzLOJ9EVaHWAjoq9.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/armors/armor_Advanced_Full_Plate_Armor_crIbCb9NZ4K0VpoU.json b/src/packs/items/armors/armor_Advanced_Full_Plate_Armor_crIbCb9NZ4K0VpoU.json
index 52adc7aa..5fde7416 100644
--- a/src/packs/items/armors/armor_Advanced_Full_Plate_Armor_crIbCb9NZ4K0VpoU.json
+++ b/src/packs/items/armors/armor_Advanced_Full_Plate_Armor_crIbCb9NZ4K0VpoU.json
@@ -45,12 +45,12 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-2"
},
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/armors/armor_Advanced_Gambeson_Armor_epkAmlZVk7HOfUUT.json b/src/packs/items/armors/armor_Advanced_Gambeson_Armor_epkAmlZVk7HOfUUT.json
index 36edec39..fe6a96fb 100644
--- a/src/packs/items/armors/armor_Advanced_Gambeson_Armor_epkAmlZVk7HOfUUT.json
+++ b/src/packs/items/armors/armor_Advanced_Gambeson_Armor_epkAmlZVk7HOfUUT.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1"
}
],
diff --git a/src/packs/items/armors/armor_Bellamoi_Fine_Armor_WuoVwZA53XRAIt6d.json b/src/packs/items/armors/armor_Bellamoi_Fine_Armor_WuoVwZA53XRAIt6d.json
index c470de87..8df5162f 100644
--- a/src/packs/items/armors/armor_Bellamoi_Fine_Armor_WuoVwZA53XRAIt6d.json
+++ b/src/packs/items/armors/armor_Bellamoi_Fine_Armor_WuoVwZA53XRAIt6d.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.traits.presence.value",
- "mode": 2,
+ "type": "add",
"value": "1"
}
],
diff --git a/src/packs/items/armors/armor_Bladefare_Armor_mNN6pvcsS10ChrWF.json b/src/packs/items/armors/armor_Bladefare_Armor_mNN6pvcsS10ChrWF.json
index 4ee73939..70a8b229 100644
--- a/src/packs/items/armors/armor_Bladefare_Armor_mNN6pvcsS10ChrWF.json
+++ b/src/packs/items/armors/armor_Bladefare_Armor_mNN6pvcsS10ChrWF.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.rules.damageReduction.physical",
- "mode": 5,
+ "type": "override",
"value": "1"
}
],
diff --git a/src/packs/items/armors/armor_Chainmail_Armor_haULhuEg37zUUvhb.json b/src/packs/items/armors/armor_Chainmail_Armor_haULhuEg37zUUvhb.json
index 4f0719a7..c41978b9 100644
--- a/src/packs/items/armors/armor_Chainmail_Armor_haULhuEg37zUUvhb.json
+++ b/src/packs/items/armors/armor_Chainmail_Armor_haULhuEg37zUUvhb.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/armors/armor_Channeling_Armor_vMJxEWz1srfwMsoj.json b/src/packs/items/armors/armor_Channeling_Armor_vMJxEWz1srfwMsoj.json
index e805d5d1..9f24ee70 100644
--- a/src/packs/items/armors/armor_Channeling_Armor_vMJxEWz1srfwMsoj.json
+++ b/src/packs/items/armors/armor_Channeling_Armor_vMJxEWz1srfwMsoj.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.bonuses.roll.spellcast",
- "mode": 2,
+ "type": "add",
"value": "1"
}
],
diff --git a/src/packs/items/armors/armor_Elundrian_Chain_Armor_Q6LxmtFetDDkoZVZ.json b/src/packs/items/armors/armor_Elundrian_Chain_Armor_Q6LxmtFetDDkoZVZ.json
index 1cf74e2e..d8de4497 100644
--- a/src/packs/items/armors/armor_Elundrian_Chain_Armor_Q6LxmtFetDDkoZVZ.json
+++ b/src/packs/items/armors/armor_Elundrian_Chain_Armor_Q6LxmtFetDDkoZVZ.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.resistance.magical.reduction",
- "mode": 2,
+ "type": "add",
"value": "@system.armorScore",
"priority": 21
}
diff --git a/src/packs/items/armors/armor_Full_Fortified_Armor_7emTSt6nhZuTlvt5.json b/src/packs/items/armors/armor_Full_Fortified_Armor_7emTSt6nhZuTlvt5.json
index 9f2d7ece..acc8c125 100644
--- a/src/packs/items/armors/armor_Full_Fortified_Armor_7emTSt6nhZuTlvt5.json
+++ b/src/packs/items/armors/armor_Full_Fortified_Armor_7emTSt6nhZuTlvt5.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.rules.damageReduction.increasePerArmorMark",
- "mode": 5,
+ "type": "override",
"value": "2"
}
],
diff --git a/src/packs/items/armors/armor_Full_Plate_Armor_UdUJNa31WxFW2noa.json b/src/packs/items/armors/armor_Full_Plate_Armor_UdUJNa31WxFW2noa.json
index 7701d063..7d08e57e 100644
--- a/src/packs/items/armors/armor_Full_Plate_Armor_UdUJNa31WxFW2noa.json
+++ b/src/packs/items/armors/armor_Full_Plate_Armor_UdUJNa31WxFW2noa.json
@@ -45,12 +45,12 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-2"
},
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/armors/armor_Gambeson_Armor_yJFp1bfpecDcStVK.json b/src/packs/items/armors/armor_Gambeson_Armor_yJFp1bfpecDcStVK.json
index 0ede5b60..0ab7203b 100644
--- a/src/packs/items/armors/armor_Gambeson_Armor_yJFp1bfpecDcStVK.json
+++ b/src/packs/items/armors/armor_Gambeson_Armor_yJFp1bfpecDcStVK.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1"
}
],
diff --git a/src/packs/items/armors/armor_Improved_Chainmail_Armor_K5WkjS0NGqHYmhU3.json b/src/packs/items/armors/armor_Improved_Chainmail_Armor_K5WkjS0NGqHYmhU3.json
index ef93ecdd..c87b1f51 100644
--- a/src/packs/items/armors/armor_Improved_Chainmail_Armor_K5WkjS0NGqHYmhU3.json
+++ b/src/packs/items/armors/armor_Improved_Chainmail_Armor_K5WkjS0NGqHYmhU3.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/armors/armor_Improved_Full_Plate_Armor_9f7RozpPTqrzJS1m.json b/src/packs/items/armors/armor_Improved_Full_Plate_Armor_9f7RozpPTqrzJS1m.json
index 1723c53a..85b4ed88 100644
--- a/src/packs/items/armors/armor_Improved_Full_Plate_Armor_9f7RozpPTqrzJS1m.json
+++ b/src/packs/items/armors/armor_Improved_Full_Plate_Armor_9f7RozpPTqrzJS1m.json
@@ -45,12 +45,12 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-2"
},
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/armors/armor_Improved_Gambeson_Armor_jphnMZjnS2FkOH3s.json b/src/packs/items/armors/armor_Improved_Gambeson_Armor_jphnMZjnS2FkOH3s.json
index a2ff6554..4f2f3c2b 100644
--- a/src/packs/items/armors/armor_Improved_Gambeson_Armor_jphnMZjnS2FkOH3s.json
+++ b/src/packs/items/armors/armor_Improved_Gambeson_Armor_jphnMZjnS2FkOH3s.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1"
}
],
diff --git a/src/packs/items/armors/armor_Irontree_Breastplate_Armor_tzZntboNtHL5C6VM.json b/src/packs/items/armors/armor_Irontree_Breastplate_Armor_tzZntboNtHL5C6VM.json
index a664ad9c..d73d5e45 100644
--- a/src/packs/items/armors/armor_Irontree_Breastplate_Armor_tzZntboNtHL5C6VM.json
+++ b/src/packs/items/armors/armor_Irontree_Breastplate_Armor_tzZntboNtHL5C6VM.json
@@ -45,13 +45,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/items/armors/armor_Legendary_Chainmail_Armor_EsIN5OLKe9ZYFNXZ.json b/src/packs/items/armors/armor_Legendary_Chainmail_Armor_EsIN5OLKe9ZYFNXZ.json
index 6c93cbe4..472b243c 100644
--- a/src/packs/items/armors/armor_Legendary_Chainmail_Armor_EsIN5OLKe9ZYFNXZ.json
+++ b/src/packs/items/armors/armor_Legendary_Chainmail_Armor_EsIN5OLKe9ZYFNXZ.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/armors/armor_Legendary_Full_Plate_Armor_SXWjUR2aUR6bYvdl.json b/src/packs/items/armors/armor_Legendary_Full_Plate_Armor_SXWjUR2aUR6bYvdl.json
index f66e4c38..52f52882 100644
--- a/src/packs/items/armors/armor_Legendary_Full_Plate_Armor_SXWjUR2aUR6bYvdl.json
+++ b/src/packs/items/armors/armor_Legendary_Full_Plate_Armor_SXWjUR2aUR6bYvdl.json
@@ -45,12 +45,12 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-2"
},
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/armors/armor_Legendary_Gambeson_Armor_c6tMXz4rPf9ioQrf.json b/src/packs/items/armors/armor_Legendary_Gambeson_Armor_c6tMXz4rPf9ioQrf.json
index 4cf1c856..a703c7c7 100644
--- a/src/packs/items/armors/armor_Legendary_Gambeson_Armor_c6tMXz4rPf9ioQrf.json
+++ b/src/packs/items/armors/armor_Legendary_Gambeson_Armor_c6tMXz4rPf9ioQrf.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1"
}
],
diff --git a/src/packs/items/armors/armor_Monett_s_Cloak_AQzU2RsqS5V5bd1v.json b/src/packs/items/armors/armor_Monett_s_Cloak_AQzU2RsqS5V5bd1v.json
index 6bb479a4..a160aeee 100644
--- a/src/packs/items/armors/armor_Monett_s_Cloak_AQzU2RsqS5V5bd1v.json
+++ b/src/packs/items/armors/armor_Monett_s_Cloak_AQzU2RsqS5V5bd1v.json
@@ -45,7 +45,7 @@
"changes": [
{
"key": "system.rules.damageReduction.magical",
- "mode": 5,
+ "type": "override",
"value": "1"
}
],
diff --git a/src/packs/items/armors/armor_Savior_Chainmail_8X16lJQ3xltTwynm.json b/src/packs/items/armors/armor_Savior_Chainmail_8X16lJQ3xltTwynm.json
index 6826254a..0a7f55ba 100644
--- a/src/packs/items/armors/armor_Savior_Chainmail_8X16lJQ3xltTwynm.json
+++ b/src/packs/items/armors/armor_Savior_Chainmail_8X16lJQ3xltTwynm.json
@@ -45,37 +45,37 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
},
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
},
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
},
{
"key": "system.traits.instinct.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
},
{
"key": "system.traits.presence.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
},
{
"key": "system.traits.knowledge.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
},
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/armors/armor_Spiked_Plate_Armor_QjwsIhXKqnlvRBMv.json b/src/packs/items/armors/armor_Spiked_Plate_Armor_QjwsIhXKqnlvRBMv.json
index ac9115a2..8f91f92b 100644
--- a/src/packs/items/armors/armor_Spiked_Plate_Armor_QjwsIhXKqnlvRBMv.json
+++ b/src/packs/items/armors/armor_Spiked_Plate_Armor_QjwsIhXKqnlvRBMv.json
@@ -45,12 +45,12 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.dice",
- "mode": 2,
+ "type": "add",
"value": "1d4"
},
{
"key": "system.bonuses.damage.secondaryWeapon.dice",
- "mode": 2,
+ "type": "add",
"value": "1d4"
}
],
diff --git a/src/packs/items/consumables/consumable_Attune_Potion_JGD3M9hBHtVAA8XP.json b/src/packs/items/consumables/consumable_Attune_Potion_JGD3M9hBHtVAA8XP.json
index e034976a..d17ae550 100644
--- a/src/packs/items/consumables/consumable_Attune_Potion_JGD3M9hBHtVAA8XP.json
+++ b/src/packs/items/consumables/consumable_Attune_Potion_JGD3M9hBHtVAA8XP.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.instinct.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Bolster_Potion_FOPQNqXbiVO0ilYL.json b/src/packs/items/consumables/consumable_Bolster_Potion_FOPQNqXbiVO0ilYL.json
index 421acdc3..d200d825 100644
--- a/src/packs/items/consumables/consumable_Bolster_Potion_FOPQNqXbiVO0ilYL.json
+++ b/src/packs/items/consumables/consumable_Bolster_Potion_FOPQNqXbiVO0ilYL.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Charm_Potion_CVBbFfOY75YwyQsp.json b/src/packs/items/consumables/consumable_Charm_Potion_CVBbFfOY75YwyQsp.json
index f1d7b058..015f334e 100644
--- a/src/packs/items/consumables/consumable_Charm_Potion_CVBbFfOY75YwyQsp.json
+++ b/src/packs/items/consumables/consumable_Charm_Potion_CVBbFfOY75YwyQsp.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.presence.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Control_Potion_eeBhZSGLjuNZuJuI.json b/src/packs/items/consumables/consumable_Control_Potion_eeBhZSGLjuNZuJuI.json
index 2c6b9a93..dbb6b796 100644
--- a/src/packs/items/consumables/consumable_Control_Potion_eeBhZSGLjuNZuJuI.json
+++ b/src/packs/items/consumables/consumable_Control_Potion_eeBhZSGLjuNZuJuI.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Enlighten_Potion_aWHSO2AqDufi7nL4.json b/src/packs/items/consumables/consumable_Enlighten_Potion_aWHSO2AqDufi7nL4.json
index bff70126..5d9712b1 100644
--- a/src/packs/items/consumables/consumable_Enlighten_Potion_aWHSO2AqDufi7nL4.json
+++ b/src/packs/items/consumables/consumable_Enlighten_Potion_aWHSO2AqDufi7nL4.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.knowledge.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json b/src/packs/items/consumables/consumable_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json
index 1472c00a..22cc7723 100644
--- a/src/packs/items/consumables/consumable_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json
+++ b/src/packs/items/consumables/consumable_Grindletooth_Venom_8WkhvSzeOmLdnoLJ.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.bonuses.damage.physical.dice",
- "mode": 2,
+ "type": "add",
"value": "1d6",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Improved_Grindletooth_Venom_BqBWXXe9T07AMV4u.json b/src/packs/items/consumables/consumable_Improved_Grindletooth_Venom_BqBWXXe9T07AMV4u.json
index ed8ca562..3e5907d8 100644
--- a/src/packs/items/consumables/consumable_Improved_Grindletooth_Venom_BqBWXXe9T07AMV4u.json
+++ b/src/packs/items/consumables/consumable_Improved_Grindletooth_Venom_BqBWXXe9T07AMV4u.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.bonuses.damage.physical.dice",
- "mode": 2,
+ "type": "add",
"value": "1d8",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Major_Attune_Potion_CCPFm5iXXwvyYYwR.json b/src/packs/items/consumables/consumable_Major_Attune_Potion_CCPFm5iXXwvyYYwR.json
index b27fee91..784ed534 100644
--- a/src/packs/items/consumables/consumable_Major_Attune_Potion_CCPFm5iXXwvyYYwR.json
+++ b/src/packs/items/consumables/consumable_Major_Attune_Potion_CCPFm5iXXwvyYYwR.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.instinct.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Major_Bolster_Potion_mnyQDRtngWWQeRXF.json b/src/packs/items/consumables/consumable_Major_Bolster_Potion_mnyQDRtngWWQeRXF.json
index 95cd6c92..fc35ef93 100644
--- a/src/packs/items/consumables/consumable_Major_Bolster_Potion_mnyQDRtngWWQeRXF.json
+++ b/src/packs/items/consumables/consumable_Major_Bolster_Potion_mnyQDRtngWWQeRXF.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Major_Charm_Potion_IJLAUlQymbSjzsri.json b/src/packs/items/consumables/consumable_Major_Charm_Potion_IJLAUlQymbSjzsri.json
index c7e22aeb..c70ff759 100644
--- a/src/packs/items/consumables/consumable_Major_Charm_Potion_IJLAUlQymbSjzsri.json
+++ b/src/packs/items/consumables/consumable_Major_Charm_Potion_IJLAUlQymbSjzsri.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.presence.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Major_Control_Potion_80s1FLmTLtohZ5GH.json b/src/packs/items/consumables/consumable_Major_Control_Potion_80s1FLmTLtohZ5GH.json
index 1dabf6c6..3f8786d2 100644
--- a/src/packs/items/consumables/consumable_Major_Control_Potion_80s1FLmTLtohZ5GH.json
+++ b/src/packs/items/consumables/consumable_Major_Control_Potion_80s1FLmTLtohZ5GH.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Major_Enlighten_Potion_SDdv1G2veMLKrxcJ.json b/src/packs/items/consumables/consumable_Major_Enlighten_Potion_SDdv1G2veMLKrxcJ.json
index 5a9a2d28..ea3e4ffc 100644
--- a/src/packs/items/consumables/consumable_Major_Enlighten_Potion_SDdv1G2veMLKrxcJ.json
+++ b/src/packs/items/consumables/consumable_Major_Enlighten_Potion_SDdv1G2veMLKrxcJ.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.knowledge.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json b/src/packs/items/consumables/consumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json
index 62d9e6bf..596b5ac8 100644
--- a/src/packs/items/consumables/consumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json
+++ b/src/packs/items/consumables/consumable_Mythic_Dust_Zsh2AvZr8EkGtLyw.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.bonuses.damage.magical.dice",
- "mode": 2,
+ "type": "add",
"value": "1d12",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Potion_of_Stability_dvL8oaxpEF6jKvYN.json b/src/packs/items/consumables/consumable_Potion_of_Stability_dvL8oaxpEF6jKvYN.json
index ddff33f0..ecfc34ea 100644
--- a/src/packs/items/consumables/consumable_Potion_of_Stability_dvL8oaxpEF6jKvYN.json
+++ b/src/packs/items/consumables/consumable_Potion_of_Stability_dvL8oaxpEF6jKvYN.json
@@ -63,13 +63,13 @@
"changes": [
{
"key": "system.bonuses.rest.shortRest.shortMoves",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.bonuses.rest.longRest.longMoves",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Redthorn_Saliva_s2Exl2XFuoOhtIov.json b/src/packs/items/consumables/consumable_Redthorn_Saliva_s2Exl2XFuoOhtIov.json
index 0a2b6469..ec8e6d5a 100644
--- a/src/packs/items/consumables/consumable_Redthorn_Saliva_s2Exl2XFuoOhtIov.json
+++ b/src/packs/items/consumables/consumable_Redthorn_Saliva_s2Exl2XFuoOhtIov.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.bonuses.damage.physical.dice",
- "mode": 2,
+ "type": "add",
"value": "1d12",
"priority": null
}
diff --git a/src/packs/items/consumables/consumable_Stride_Potion_lNtcrkgFGOJNaroE.json b/src/packs/items/consumables/consumable_Stride_Potion_lNtcrkgFGOJNaroE.json
index 76d43d33..c13af610 100644
--- a/src/packs/items/consumables/consumable_Stride_Potion_lNtcrkgFGOJNaroE.json
+++ b/src/packs/items/consumables/consumable_Stride_Potion_lNtcrkgFGOJNaroE.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Arcane_Prism_Mn1eo2Mdtu1kzyxB.json b/src/packs/items/loot/loot_Arcane_Prism_Mn1eo2Mdtu1kzyxB.json
index 016c7262..2a6729d2 100644
--- a/src/packs/items/loot/loot_Arcane_Prism_Mn1eo2Mdtu1kzyxB.json
+++ b/src/packs/items/loot/loot_Arcane_Prism_Mn1eo2Mdtu1kzyxB.json
@@ -53,7 +53,7 @@
"changes": [
{
"key": "system.bonuses.roll.spellcast.bonus",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Attune_Relic_vK6bKyQTT3m8WvMh.json b/src/packs/items/loot/loot_Attune_Relic_vK6bKyQTT3m8WvMh.json
index abed8a55..60afc84c 100644
--- a/src/packs/items/loot/loot_Attune_Relic_vK6bKyQTT3m8WvMh.json
+++ b/src/packs/items/loot/loot_Attune_Relic_vK6bKyQTT3m8WvMh.json
@@ -23,7 +23,7 @@
"changes": [
{
"key": "system.traits.instinct.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Bolster_Relic_m3EpxlDgxn2tCDDR.json b/src/packs/items/loot/loot_Bolster_Relic_m3EpxlDgxn2tCDDR.json
index d45af6dc..2d7c360e 100644
--- a/src/packs/items/loot/loot_Bolster_Relic_m3EpxlDgxn2tCDDR.json
+++ b/src/packs/items/loot/loot_Bolster_Relic_m3EpxlDgxn2tCDDR.json
@@ -23,7 +23,7 @@
"changes": [
{
"key": "system.traits.strength.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Charging_Quiver_gsUDP90d4SRtLEUn.json b/src/packs/items/loot/loot_Charging_Quiver_gsUDP90d4SRtLEUn.json
index 8f9a5904..a31a4e93 100644
--- a/src/packs/items/loot/loot_Charging_Quiver_gsUDP90d4SRtLEUn.json
+++ b/src/packs/items/loot/loot_Charging_Quiver_gsUDP90d4SRtLEUn.json
@@ -23,13 +23,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.tier",
"priority": null
},
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.tier",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Charm_Relic_9P9jqGSlxVCbTdLe.json b/src/packs/items/loot/loot_Charm_Relic_9P9jqGSlxVCbTdLe.json
index f3313941..514df12b 100644
--- a/src/packs/items/loot/loot_Charm_Relic_9P9jqGSlxVCbTdLe.json
+++ b/src/packs/items/loot/loot_Charm_Relic_9P9jqGSlxVCbTdLe.json
@@ -23,7 +23,7 @@
"changes": [
{
"key": "system.traits.presence.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Control_Relic_QPGBDItjrRhXU6iJ.json b/src/packs/items/loot/loot_Control_Relic_QPGBDItjrRhXU6iJ.json
index 254f4017..5df7b228 100644
--- a/src/packs/items/loot/loot_Control_Relic_QPGBDItjrRhXU6iJ.json
+++ b/src/packs/items/loot/loot_Control_Relic_QPGBDItjrRhXU6iJ.json
@@ -23,7 +23,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Enlighten_Relic_vSGx1f9SYUiA29L3.json b/src/packs/items/loot/loot_Enlighten_Relic_vSGx1f9SYUiA29L3.json
index a6ca361e..a99e6b9b 100644
--- a/src/packs/items/loot/loot_Enlighten_Relic_vSGx1f9SYUiA29L3.json
+++ b/src/packs/items/loot/loot_Enlighten_Relic_vSGx1f9SYUiA29L3.json
@@ -23,7 +23,7 @@
"changes": [
{
"key": "system.traits.knowledge.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json b/src/packs/items/loot/loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json
index 1dcf503c..3d0493c4 100644
--- a/src/packs/items/loot/loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json
+++ b/src/packs/items/loot/loot_Piercing_Arrows_I63LTFD6GXHgyGpR.json
@@ -46,13 +46,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.proficiency",
"priority": null
},
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.proficiency",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Ring_of_Resistance_aUqRifqR5JXXa1dN.json b/src/packs/items/loot/loot_Ring_of_Resistance_aUqRifqR5JXXa1dN.json
index 47f38431..6db909b2 100644
--- a/src/packs/items/loot/loot_Ring_of_Resistance_aUqRifqR5JXXa1dN.json
+++ b/src/packs/items/loot/loot_Ring_of_Resistance_aUqRifqR5JXXa1dN.json
@@ -53,13 +53,13 @@
"changes": [
{
"key": "system.resistance.magical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
},
{
"key": "system.resistance.physical.resistance",
- "mode": 5,
+ "type": "override",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/loot/loot_Stride_Relic_FfJISMzYATaPQPLc.json b/src/packs/items/loot/loot_Stride_Relic_FfJISMzYATaPQPLc.json
index 703d8439..50917309 100644
--- a/src/packs/items/loot/loot_Stride_Relic_FfJISMzYATaPQPLc.json
+++ b/src/packs/items/loot/loot_Stride_Relic_FfJISMzYATaPQPLc.json
@@ -23,7 +23,7 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json b/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json
index 975b2489..195d3ef9 100644
--- a/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json
+++ b/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json
@@ -119,7 +119,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json b/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json
index 8910a1a4..042d922a 100644
--- a/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json
+++ b/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json
@@ -118,7 +118,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json b/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json
index 23c78cc8..f7e1f872 100644
--- a/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json
+++ b/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json
@@ -119,7 +119,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Advanced_Greatsword_MAC6YWTo4lzSotQc.json b/src/packs/items/weapons/weapon_Advanced_Greatsword_MAC6YWTo4lzSotQc.json
index 9e04bf7a..39d1b6f2 100644
--- a/src/packs/items/weapons/weapon_Advanced_Greatsword_MAC6YWTo4lzSotQc.json
+++ b/src/packs/items/weapons/weapon_Advanced_Greatsword_MAC6YWTo4lzSotQc.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Advanced_Halberd_C8gQn7onAc9wsrCs.json b/src/packs/items/weapons/weapon_Advanced_Halberd_C8gQn7onAc9wsrCs.json
index 6c11724c..92841972 100644
--- a/src/packs/items/weapons/weapon_Advanced_Halberd_C8gQn7onAc9wsrCs.json
+++ b/src/packs/items/weapons/weapon_Advanced_Halberd_C8gQn7onAc9wsrCs.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Advanced_Heavy_Frame_Wheelchair_eT2Qwb0RdrLX2hH1.json b/src/packs/items/weapons/weapon_Advanced_Heavy_Frame_Wheelchair_eT2Qwb0RdrLX2hH1.json
index 7f5bb9c7..1e9a6441 100644
--- a/src/packs/items/weapons/weapon_Advanced_Heavy_Frame_Wheelchair_eT2Qwb0RdrLX2hH1.json
+++ b/src/packs/items/weapons/weapon_Advanced_Heavy_Frame_Wheelchair_eT2Qwb0RdrLX2hH1.json
@@ -115,7 +115,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Advanced_Longbow_M5CywMAyPKGgebsJ.json b/src/packs/items/weapons/weapon_Advanced_Longbow_M5CywMAyPKGgebsJ.json
index 14327a8c..4bf1375d 100644
--- a/src/packs/items/weapons/weapon_Advanced_Longbow_M5CywMAyPKGgebsJ.json
+++ b/src/packs/items/weapons/weapon_Advanced_Longbow_M5CywMAyPKGgebsJ.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json b/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json
index 64337b2b..2a24d0cc 100644
--- a/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json
+++ b/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json
@@ -123,7 +123,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.tier + 1"
}
]
diff --git a/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json b/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json
index 55bcc11f..2e313ace 100644
--- a/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json
+++ b/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json
@@ -123,7 +123,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.tier + 1"
}
]
diff --git a/src/packs/items/weapons/weapon_Advanced_Warhammer_8Lipw3RRKDgBVP0p.json b/src/packs/items/weapons/weapon_Advanced_Warhammer_8Lipw3RRKDgBVP0p.json
index bb142281..8770ef57 100644
--- a/src/packs/items/weapons/weapon_Advanced_Warhammer_8Lipw3RRKDgBVP0p.json
+++ b/src/packs/items/weapons/weapon_Advanced_Warhammer_8Lipw3RRKDgBVP0p.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json b/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json
index 4ee53b92..cdb26ca6 100644
--- a/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json
+++ b/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json
@@ -119,7 +119,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Bravesword_QZrWAkprA2tL2MOI.json b/src/packs/items/weapons/weapon_Bravesword_QZrWAkprA2tL2MOI.json
index 412a7083..281ec542 100644
--- a/src/packs/items/weapons/weapon_Bravesword_QZrWAkprA2tL2MOI.json
+++ b/src/packs/items/weapons/weapon_Bravesword_QZrWAkprA2tL2MOI.json
@@ -116,12 +116,12 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.tier"
}
],
diff --git a/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json b/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json
index 3e7662da..1bed724d 100644
--- a/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json
+++ b/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json
@@ -119,7 +119,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Buckler_EmFTp9wzT6MHSaNz.json b/src/packs/items/weapons/weapon_Buckler_EmFTp9wzT6MHSaNz.json
index be147888..911dd4c3 100644
--- a/src/packs/items/weapons/weapon_Buckler_EmFTp9wzT6MHSaNz.json
+++ b/src/packs/items/weapons/weapon_Buckler_EmFTp9wzT6MHSaNz.json
@@ -154,7 +154,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "@system.armorScore",
"priority": 21
}
diff --git a/src/packs/items/weapons/weapon_Curved_Dagger_Fk69R40svV0kanZD.json b/src/packs/items/weapons/weapon_Curved_Dagger_Fk69R40svV0kanZD.json
index 1af2c372..ddaa12d0 100644
--- a/src/packs/items/weapons/weapon_Curved_Dagger_Fk69R40svV0kanZD.json
+++ b/src/packs/items/weapons/weapon_Curved_Dagger_Fk69R40svV0kanZD.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.rules.damage.flipMinDiceValue",
- "mode": 5,
+ "type": "override",
"value": "1"
}
],
diff --git a/src/packs/items/weapons/weapon_Finehair_Bow_ykF3jouxHZ6YR8Bg.json b/src/packs/items/weapons/weapon_Finehair_Bow_ykF3jouxHZ6YR8Bg.json
index d1bd58b5..4523ad41 100644
--- a/src/packs/items/weapons/weapon_Finehair_Bow_ykF3jouxHZ6YR8Bg.json
+++ b/src/packs/items/weapons/weapon_Finehair_Bow_ykF3jouxHZ6YR8Bg.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.attack",
- "mode": 2,
+ "type": "add",
"value": "1"
}
],
diff --git a/src/packs/items/weapons/weapon_Flickerfly_Blade_xLJ5RRpUoTRmAC3G.json b/src/packs/items/weapons/weapon_Flickerfly_Blade_xLJ5RRpUoTRmAC3G.json
index acf0cfd6..ffd6531f 100644
--- a/src/packs/items/weapons/weapon_Flickerfly_Blade_xLJ5RRpUoTRmAC3G.json
+++ b/src/packs/items/weapons/weapon_Flickerfly_Blade_xLJ5RRpUoTRmAC3G.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.traits.agility.value",
"priority": 21
}
diff --git a/src/packs/items/weapons/weapon_Fusion_Gloves_uK1RhtYAsDeoPNGx.json b/src/packs/items/weapons/weapon_Fusion_Gloves_uK1RhtYAsDeoPNGx.json
index 034ad5cf..e2e61ec7 100644
--- a/src/packs/items/weapons/weapon_Fusion_Gloves_uK1RhtYAsDeoPNGx.json
+++ b/src/packs/items/weapons/weapon_Fusion_Gloves_uK1RhtYAsDeoPNGx.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.levelData.level.current"
}
],
diff --git a/src/packs/items/weapons/weapon_Gilded_Bow_ctTgFfMbM3YtmsYU.json b/src/packs/items/weapons/weapon_Gilded_Bow_ctTgFfMbM3YtmsYU.json
index 0147cfdb..0f5b5c71 100644
--- a/src/packs/items/weapons/weapon_Gilded_Bow_ctTgFfMbM3YtmsYU.json
+++ b/src/packs/items/weapons/weapon_Gilded_Bow_ctTgFfMbM3YtmsYU.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.rules.damage.flipMinDiceValue",
- "mode": 5,
+ "type": "override",
"value": "1"
}
],
diff --git a/src/packs/items/weapons/weapon_Greatsword_70ysaFJDREwTgvZa.json b/src/packs/items/weapons/weapon_Greatsword_70ysaFJDREwTgvZa.json
index f0e450a4..74aa3cf3 100644
--- a/src/packs/items/weapons/weapon_Greatsword_70ysaFJDREwTgvZa.json
+++ b/src/packs/items/weapons/weapon_Greatsword_70ysaFJDREwTgvZa.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Halberd_qT7FfmauAumOjJoq.json b/src/packs/items/weapons/weapon_Halberd_qT7FfmauAumOjJoq.json
index 5a990da3..8d58b29b 100644
--- a/src/packs/items/weapons/weapon_Halberd_qT7FfmauAumOjJoq.json
+++ b/src/packs/items/weapons/weapon_Halberd_qT7FfmauAumOjJoq.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Heavy_Frame_Wheelchair_XjPQjhRCH08VUIbr.json b/src/packs/items/weapons/weapon_Heavy_Frame_Wheelchair_XjPQjhRCH08VUIbr.json
index e74ff4aa..a8187c25 100644
--- a/src/packs/items/weapons/weapon_Heavy_Frame_Wheelchair_XjPQjhRCH08VUIbr.json
+++ b/src/packs/items/weapons/weapon_Heavy_Frame_Wheelchair_XjPQjhRCH08VUIbr.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json b/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json
index 71f03625..f7d1a9d3 100644
--- a/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json
+++ b/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json
@@ -118,7 +118,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json b/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json
index c0b2d460..cd7f62d4 100644
--- a/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json
+++ b/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json
@@ -119,7 +119,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Improved_Greatsword_FPX4ouDrxXiQ5MDf.json b/src/packs/items/weapons/weapon_Improved_Greatsword_FPX4ouDrxXiQ5MDf.json
index 60e5dd53..ec618f0b 100644
--- a/src/packs/items/weapons/weapon_Improved_Greatsword_FPX4ouDrxXiQ5MDf.json
+++ b/src/packs/items/weapons/weapon_Improved_Greatsword_FPX4ouDrxXiQ5MDf.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Improved_Halberd_F9PETfCQGwczBPif.json b/src/packs/items/weapons/weapon_Improved_Halberd_F9PETfCQGwczBPif.json
index fb5a1dcc..79c3a31b 100644
--- a/src/packs/items/weapons/weapon_Improved_Halberd_F9PETfCQGwczBPif.json
+++ b/src/packs/items/weapons/weapon_Improved_Halberd_F9PETfCQGwczBPif.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Improved_Heavy_Frame_Wheelchair_L5KeCtrs768PmYWW.json b/src/packs/items/weapons/weapon_Improved_Heavy_Frame_Wheelchair_L5KeCtrs768PmYWW.json
index e65cc221..1443e76f 100644
--- a/src/packs/items/weapons/weapon_Improved_Heavy_Frame_Wheelchair_L5KeCtrs768PmYWW.json
+++ b/src/packs/items/weapons/weapon_Improved_Heavy_Frame_Wheelchair_L5KeCtrs768PmYWW.json
@@ -115,7 +115,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Improved_Longbow_NacNonjbzyoVMNhI.json b/src/packs/items/weapons/weapon_Improved_Longbow_NacNonjbzyoVMNhI.json
index c197f726..cc083a33 100644
--- a/src/packs/items/weapons/weapon_Improved_Longbow_NacNonjbzyoVMNhI.json
+++ b/src/packs/items/weapons/weapon_Improved_Longbow_NacNonjbzyoVMNhI.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json b/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json
index 070e2374..498b5dfb 100644
--- a/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json
+++ b/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json
@@ -123,7 +123,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.tier + 1"
}
]
diff --git a/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json b/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json
index 5b0282f1..01f3fc8e 100644
--- a/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json
+++ b/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json
@@ -123,7 +123,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.tier + 1"
}
]
diff --git a/src/packs/items/weapons/weapon_Improved_Warhammer_pxaN4ZK4eqKrjtWj.json b/src/packs/items/weapons/weapon_Improved_Warhammer_pxaN4ZK4eqKrjtWj.json
index aa24c4ad..47b553a6 100644
--- a/src/packs/items/weapons/weapon_Improved_Warhammer_pxaN4ZK4eqKrjtWj.json
+++ b/src/packs/items/weapons/weapon_Improved_Warhammer_pxaN4ZK4eqKrjtWj.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json b/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json
index f511af8b..e72607cb 100644
--- a/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json
+++ b/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json
@@ -119,7 +119,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json b/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json
index 6d022c8a..935584a8 100644
--- a/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json
+++ b/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json
@@ -118,7 +118,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json b/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json
index 3a09f8e4..4570fa8b 100644
--- a/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json
+++ b/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json
@@ -119,7 +119,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Legendary_Greatsword_zMZ46F9VR7zdTxb9.json b/src/packs/items/weapons/weapon_Legendary_Greatsword_zMZ46F9VR7zdTxb9.json
index aa9d2ef0..97464c6b 100644
--- a/src/packs/items/weapons/weapon_Legendary_Greatsword_zMZ46F9VR7zdTxb9.json
+++ b/src/packs/items/weapons/weapon_Legendary_Greatsword_zMZ46F9VR7zdTxb9.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Legendary_Halberd_1AuMNiJz96Ez9fur.json b/src/packs/items/weapons/weapon_Legendary_Halberd_1AuMNiJz96Ez9fur.json
index af6b2a07..2b411f11 100644
--- a/src/packs/items/weapons/weapon_Legendary_Halberd_1AuMNiJz96Ez9fur.json
+++ b/src/packs/items/weapons/weapon_Legendary_Halberd_1AuMNiJz96Ez9fur.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Legendary_Heavy_Frame_Wheelchair_S6nB0CNlzdU05o5U.json b/src/packs/items/weapons/weapon_Legendary_Heavy_Frame_Wheelchair_S6nB0CNlzdU05o5U.json
index d8816fc9..9139a7b0 100644
--- a/src/packs/items/weapons/weapon_Legendary_Heavy_Frame_Wheelchair_S6nB0CNlzdU05o5U.json
+++ b/src/packs/items/weapons/weapon_Legendary_Heavy_Frame_Wheelchair_S6nB0CNlzdU05o5U.json
@@ -115,7 +115,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Legendary_Longbow_Utt1GpoH1fhaTOtN.json b/src/packs/items/weapons/weapon_Legendary_Longbow_Utt1GpoH1fhaTOtN.json
index bd5ab13b..e9e95967 100644
--- a/src/packs/items/weapons/weapon_Legendary_Longbow_Utt1GpoH1fhaTOtN.json
+++ b/src/packs/items/weapons/weapon_Legendary_Longbow_Utt1GpoH1fhaTOtN.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json b/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json
index cfc648de..c01a6d5e 100644
--- a/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json
+++ b/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json
@@ -123,7 +123,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.tier + 1"
}
]
diff --git a/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json b/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json
index 33859bf4..42a977f6 100644
--- a/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json
+++ b/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json
@@ -123,7 +123,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.tier + 1"
}
]
diff --git a/src/packs/items/weapons/weapon_Legendary_Warhammer_W9ymfEDck2icfvla.json b/src/packs/items/weapons/weapon_Legendary_Warhammer_W9ymfEDck2icfvla.json
index 562122d2..91d26e71 100644
--- a/src/packs/items/weapons/weapon_Legendary_Warhammer_W9ymfEDck2icfvla.json
+++ b/src/packs/items/weapons/weapon_Legendary_Warhammer_W9ymfEDck2icfvla.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Longbow_YfVs6Se903az4Yet.json b/src/packs/items/weapons/weapon_Longbow_YfVs6Se903az4Yet.json
index 43af46ab..f2995cb5 100644
--- a/src/packs/items/weapons/weapon_Longbow_YfVs6Se903az4Yet.json
+++ b/src/packs/items/weapons/weapon_Longbow_YfVs6Se903az4Yet.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.traits.finesse.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Midas_Scythe_BdLfy5i488VZgkjP.json b/src/packs/items/weapons/weapon_Midas_Scythe_BdLfy5i488VZgkjP.json
index 57fe2367..143d4910 100644
--- a/src/packs/items/weapons/weapon_Midas_Scythe_BdLfy5i488VZgkjP.json
+++ b/src/packs/items/weapons/weapon_Midas_Scythe_BdLfy5i488VZgkjP.json
@@ -145,7 +145,7 @@
"changes": [
{
"key": "system.proficiency",
- "mode": 2,
+ "type": "add",
"value": "1"
}
],
diff --git a/src/packs/items/weapons/weapon_Powered_Gauntlet_bW3xw5S9DbaLCN3E.json b/src/packs/items/weapons/weapon_Powered_Gauntlet_bW3xw5S9DbaLCN3E.json
index 3c4ebd1c..9ba6f1b1 100644
--- a/src/packs/items/weapons/weapon_Powered_Gauntlet_bW3xw5S9DbaLCN3E.json
+++ b/src/packs/items/weapons/weapon_Powered_Gauntlet_bW3xw5S9DbaLCN3E.json
@@ -152,7 +152,7 @@
"changes": [
{
"key": "system.proficiency",
- "mode": 2,
+ "type": "add",
"value": "1"
}
],
diff --git a/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json b/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json
index 61f91b58..e8d49d15 100644
--- a/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json
+++ b/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json
@@ -123,7 +123,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.tier + 1",
"priority": null
}
diff --git a/src/packs/items/weapons/weapon_Sledge_Axe_OxsEmffWriiQmqJK.json b/src/packs/items/weapons/weapon_Sledge_Axe_OxsEmffWriiQmqJK.json
index d0230362..3e43c85a 100644
--- a/src/packs/items/weapons/weapon_Sledge_Axe_OxsEmffWriiQmqJK.json
+++ b/src/packs/items/weapons/weapon_Sledge_Axe_OxsEmffWriiQmqJK.json
@@ -171,7 +171,7 @@
"changes": [
{
"key": "system.traits.agility.value",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json b/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json
index ddaa312f..184b1ff0 100644
--- a/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json
+++ b/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json
@@ -123,7 +123,7 @@
"changes": [
{
"key": "system.bonuses.damage.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "ITEM.@system.tier + 1"
}
]
diff --git a/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json b/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json
index 3821342f..4cd9ad55 100644
--- a/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json
+++ b/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json
@@ -119,7 +119,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Wand_of_Enthrallment_tP6vmnrmTq2h5sj7.json b/src/packs/items/weapons/weapon_Wand_of_Enthrallment_tP6vmnrmTq2h5sj7.json
index 84c7b3f2..ea13be12 100644
--- a/src/packs/items/weapons/weapon_Wand_of_Enthrallment_tP6vmnrmTq2h5sj7.json
+++ b/src/packs/items/weapons/weapon_Wand_of_Enthrallment_tP6vmnrmTq2h5sj7.json
@@ -152,7 +152,7 @@
"changes": [
{
"key": "system.traits.presence.value",
- "mode": 2,
+ "type": "add",
"value": "2"
}
],
diff --git a/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json b/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json
index df9186ac..fc893901 100644
--- a/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json
+++ b/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json
@@ -119,7 +119,7 @@
"changes": [
{
"key": "system.bonuses.roll.primaryWeapon.bonus",
- "mode": 2,
+ "type": "add",
"value": "1"
}
]
diff --git a/src/packs/items/weapons/weapon_Warhammer_ZXh1GQahBiODfSTC.json b/src/packs/items/weapons/weapon_Warhammer_ZXh1GQahBiODfSTC.json
index a94950c7..17724919 100644
--- a/src/packs/items/weapons/weapon_Warhammer_ZXh1GQahBiODfSTC.json
+++ b/src/packs/items/weapons/weapon_Warhammer_ZXh1GQahBiODfSTC.json
@@ -116,7 +116,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "-1"
}
],
diff --git a/src/packs/subclasses/feature_Adrenaline_uByM34yQlw38yf1V.json b/src/packs/subclasses/feature_Adrenaline_uByM34yQlw38yf1V.json
index 764dd92a..95cb2263 100644
--- a/src/packs/subclasses/feature_Adrenaline_uByM34yQlw38yf1V.json
+++ b/src/packs/subclasses/feature_Adrenaline_uByM34yQlw38yf1V.json
@@ -28,13 +28,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.levelData.level.current",
"priority": null
},
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "@system.levelData.level.current",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Advanced_Training_uGcs785h94RMtueH.json b/src/packs/subclasses/feature_Advanced_Training_uGcs785h94RMtueH.json
index f15d1efa..b551ef50 100644
--- a/src/packs/subclasses/feature_Advanced_Training_uGcs785h94RMtueH.json
+++ b/src/packs/subclasses/feature_Advanced_Training_uGcs785h94RMtueH.json
@@ -24,7 +24,7 @@
"changes": [
{
"key": "system.companionData.levelupChoices",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json b/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json
index c884bc6f..e563668d 100644
--- a/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json
+++ b/src/packs/subclasses/feature_Arcane_Charge_yA4MKQ1tbKFiJoDB.json
@@ -32,7 +32,7 @@
"changes": [
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+10",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Ascendant_fefLgx6kcYWusjBb.json b/src/packs/subclasses/feature_Ascendant_fefLgx6kcYWusjBb.json
index 845e287d..abdbe271 100644
--- a/src/packs/subclasses/feature_Ascendant_fefLgx6kcYWusjBb.json
+++ b/src/packs/subclasses/feature_Ascendant_fefLgx6kcYWusjBb.json
@@ -24,7 +24,7 @@
"changes": [
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "+4",
"priority": null
}
diff --git a/src/packs/subclasses/feature_At_Ease_xPWFvGvtUjIcqgJq.json b/src/packs/subclasses/feature_At_Ease_xPWFvGvtUjIcqgJq.json
index abc5fbfc..f63b0e42 100644
--- a/src/packs/subclasses/feature_At_Ease_xPWFvGvtUjIcqgJq.json
+++ b/src/packs/subclasses/feature_At_Ease_xPWFvGvtUjIcqgJq.json
@@ -24,7 +24,7 @@
"changes": [
{
"key": "system.resources.stress.max",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Battlemage_Y9eGMewnFZgPvX0M.json b/src/packs/subclasses/feature_Battlemage_Y9eGMewnFZgPvX0M.json
index c9b54d71..36706909 100644
--- a/src/packs/subclasses/feature_Battlemage_Y9eGMewnFZgPvX0M.json
+++ b/src/packs/subclasses/feature_Battlemage_Y9eGMewnFZgPvX0M.json
@@ -24,7 +24,7 @@
"changes": [
{
"key": "system.resources.hitPoints.max",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Conjure_Shield_oirsCnN66GOlK3Fa.json b/src/packs/subclasses/feature_Conjure_Shield_oirsCnN66GOlK3Fa.json
index 0455de3d..8f542544 100644
--- a/src/packs/subclasses/feature_Conjure_Shield_oirsCnN66GOlK3Fa.json
+++ b/src/packs/subclasses/feature_Conjure_Shield_oirsCnN66GOlK3Fa.json
@@ -24,7 +24,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "@system.proficiency",
"priority": 21
}
diff --git a/src/packs/subclasses/feature_Elemental_Dominion_EFUJHrkTuyv8uA9l.json b/src/packs/subclasses/feature_Elemental_Dominion_EFUJHrkTuyv8uA9l.json
index 5035393f..0adda762 100644
--- a/src/packs/subclasses/feature_Elemental_Dominion_EFUJHrkTuyv8uA9l.json
+++ b/src/packs/subclasses/feature_Elemental_Dominion_EFUJHrkTuyv8uA9l.json
@@ -144,7 +144,7 @@
"changes": [
{
"key": "system.proficiency",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
@@ -223,7 +223,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json b/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json
index e7e282b4..87150aa0 100644
--- a/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json
+++ b/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json
@@ -246,13 +246,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "@system.proficiency",
"priority": 21
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "@system.proficiency",
"priority": 21
}
@@ -289,7 +289,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Advantage on Agility Rolls",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json b/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json
index 8ab51263..dd989364 100644
--- a/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json
+++ b/src/packs/subclasses/feature_Elementalist_dPcqKN5NeDkjB1HW.json
@@ -101,7 +101,7 @@
"changes": [
{
"key": "system.bonuses.roll.action.bonus",
- "mode": 2,
+ "type": "add",
"value": "+2",
"priority": null
}
@@ -138,13 +138,13 @@
"changes": [
{
"key": "system.bonuses.damage.magical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+3",
"priority": null
},
{
"key": "system.bonuses.damage.physical.bonus",
- "mode": 2,
+ "type": "add",
"value": "+3",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json b/src/packs/subclasses/feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json
index c5814cdc..2367f220 100644
--- a/src/packs/subclasses/feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json
+++ b/src/packs/subclasses/feature_Epic_Poetry_eCoEWkWuZPMZ9C6a.json
@@ -23,7 +23,7 @@
"changes": [
{
"key": "system.bonuses.rally",
- "mode": 5,
+ "type": "override",
"value": "d10",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Ethereal_Visage_tyGB6wRKjYdIBK1i.json b/src/packs/subclasses/feature_Ethereal_Visage_tyGB6wRKjYdIBK1i.json
index 59164f27..15871e9f 100644
--- a/src/packs/subclasses/feature_Ethereal_Visage_tyGB6wRKjYdIBK1i.json
+++ b/src/packs/subclasses/feature_Ethereal_Visage_tyGB6wRKjYdIBK1i.json
@@ -24,7 +24,7 @@
"changes": [
{
"key": "system.advantageSources",
- "mode": 2,
+ "type": "add",
"value": "Presence rolls while flying",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Expert_Training_iCXtOWBKv1FdKdWz.json b/src/packs/subclasses/feature_Expert_Training_iCXtOWBKv1FdKdWz.json
index e356c3a9..0ae1a60d 100644
--- a/src/packs/subclasses/feature_Expert_Training_iCXtOWBKv1FdKdWz.json
+++ b/src/packs/subclasses/feature_Expert_Training_iCXtOWBKv1FdKdWz.json
@@ -24,7 +24,7 @@
"changes": [
{
"key": "system.companionData.levelupChoices",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json b/src/packs/subclasses/feature_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json
index 2b338bb3..fe3f252f 100644
--- a/src/packs/subclasses/feature_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json
+++ b/src/packs/subclasses/feature_Fleeting_Shadow_EY7Eo6hNGppVL3dR.json
@@ -24,7 +24,7 @@
"changes": [
{
"key": "system.evasion",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Iron_Will_7AVRNyBcd1Nffjtn.json b/src/packs/subclasses/feature_Iron_Will_7AVRNyBcd1Nffjtn.json
index e45f91e0..fa8516ca 100644
--- a/src/packs/subclasses/feature_Iron_Will_7AVRNyBcd1Nffjtn.json
+++ b/src/packs/subclasses/feature_Iron_Will_7AVRNyBcd1Nffjtn.json
@@ -24,7 +24,7 @@
"changes": [
{
"key": "system.rules.damageReduction.maxArmorMarked.value",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Ruthless_Predator_Qny2J3R35bvC0Cey.json b/src/packs/subclasses/feature_Ruthless_Predator_Qny2J3R35bvC0Cey.json
index 64bde511..ba92472f 100644
--- a/src/packs/subclasses/feature_Ruthless_Predator_Qny2J3R35bvC0Cey.json
+++ b/src/packs/subclasses/feature_Ruthless_Predator_Qny2J3R35bvC0Cey.json
@@ -63,7 +63,7 @@
"changes": [
{
"key": "system.proficiency",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json b/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json
index 6d43ed30..32d8181c 100644
--- a/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json
+++ b/src/packs/subclasses/feature_Transcendence_th6HZwEFnVBjUtqm.json
@@ -133,7 +133,7 @@
"changes": [
{
"key": "system.proficiency",
- "mode": 2,
+ "type": "add",
"value": "+1",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Undaunted_866b2jjyzXP8nPRQ.json b/src/packs/subclasses/feature_Undaunted_866b2jjyzXP8nPRQ.json
index 79c51474..792dfd3c 100644
--- a/src/packs/subclasses/feature_Undaunted_866b2jjyzXP8nPRQ.json
+++ b/src/packs/subclasses/feature_Undaunted_866b2jjyzXP8nPRQ.json
@@ -24,13 +24,13 @@
"changes": [
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
},
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "3",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Unrelenting_4qP7bNyxVHBmr4Rb.json b/src/packs/subclasses/feature_Unrelenting_4qP7bNyxVHBmr4Rb.json
index 0b5e89f6..287a54c1 100644
--- a/src/packs/subclasses/feature_Unrelenting_4qP7bNyxVHBmr4Rb.json
+++ b/src/packs/subclasses/feature_Unrelenting_4qP7bNyxVHBmr4Rb.json
@@ -24,13 +24,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "2",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Unwavering_WBiFZaYNoQNhysmN.json b/src/packs/subclasses/feature_Unwavering_WBiFZaYNoQNhysmN.json
index bd7172ea..dc183879 100644
--- a/src/packs/subclasses/feature_Unwavering_WBiFZaYNoQNhysmN.json
+++ b/src/packs/subclasses/feature_Unwavering_WBiFZaYNoQNhysmN.json
@@ -24,13 +24,13 @@
"changes": [
{
"key": "system.damageThresholds.major",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
},
{
"key": "system.damageThresholds.severe",
- "mode": 2,
+ "type": "add",
"value": "1",
"priority": null
}
diff --git a/src/packs/subclasses/feature_Wings_of_Light_KkQH0tYhagIqe2MT.json b/src/packs/subclasses/feature_Wings_of_Light_KkQH0tYhagIqe2MT.json
index 51a203fc..b7d8af3f 100644
--- a/src/packs/subclasses/feature_Wings_of_Light_KkQH0tYhagIqe2MT.json
+++ b/src/packs/subclasses/feature_Wings_of_Light_KkQH0tYhagIqe2MT.json
@@ -97,13 +97,13 @@
"changes": [
{
"key": "system.bonuses.damage.physical.dice",
- "mode": 2,
+ "type": "add",
"value": "+1d8",
"priority": null
},
{
"key": "system.bonuses.damage.magical.dice",
- "mode": 2,
+ "type": "add",
"value": "+1d8",
"priority": null
}
From c6411ef0fea48994eab7ef20e209672c122b461b Mon Sep 17 00:00:00 2001
From: WBHarry <89362246+WBHarry@users.noreply.github.com>
Date: Sat, 11 Jul 2026 22:51:44 +0200
Subject: [PATCH 16/34] Cleaned up uses of 'mode' for activeEffects in configs
(#2076)
---
.../applications/dialogs/beastformDialog.mjs | 6 +-
module/applications/dialogs/deathMove.mjs | 16 +-
module/config/encounterConfig.mjs | 26 +-
module/config/itemConfig.mjs | 527 ++++++++++--------
4 files changed, 315 insertions(+), 260 deletions(-)
diff --git a/module/applications/dialogs/beastformDialog.mjs b/module/applications/dialogs/beastformDialog.mjs
index 8ae6d5fe..8aca1844 100644
--- a/module/applications/dialogs/beastformDialog.mjs
+++ b/module/applications/dialogs/beastformDialog.mjs
@@ -315,15 +315,15 @@ export default class BeastformDialog extends HandlebarsApplicationMixin(Applicat
const beastformEffect = selected.effects.find(x => x.type === 'beastform');
for (const traitBonus of app.modifications.traitBonuses) {
- const existingChange = beastformEffect.changes.find(
+ const existingChange = beastformEffect.system.changes.find(
x => x.key === `system.traits.${traitBonus.trait}.value`
);
if (existingChange) {
existingChange.value = Number.parseInt(existingChange.value) + traitBonus.bonus;
} else {
- beastformEffect.changes.push({
+ beastformEffect.system.changes.push({
key: `system.traits.${traitBonus.trait}.value`,
- mode: 2,
+ type: 'add',
priority: null,
value: traitBonus.bonus
});
diff --git a/module/applications/dialogs/deathMove.mjs b/module/applications/dialogs/deathMove.mjs
index 4a949b99..8e0ed6af 100644
--- a/module/applications/dialogs/deathMove.mjs
+++ b/module/applications/dialogs/deathMove.mjs
@@ -139,13 +139,15 @@ export default class DhDeathMove extends HandlebarsApplicationMixin(ApplicationV
name: game.i18n.localize('DAGGERHEART.CONFIG.DeathMoves.blazeOfGlory.name'),
description: game.i18n.localize('DAGGERHEART.CONFIG.DeathMoves.blazeOfGlory.description'),
img: CONFIG.DH.GENERAL.deathMoves.blazeOfGlory.img,
- changes: [
- {
- key: 'system.rules.roll.guaranteedCritical',
- mode: 2,
- value: 'true'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.rules.roll.guaranteedCritical',
+ type: 'add',
+ value: 'true'
+ }
+ ]
+ }
}
]);
diff --git a/module/config/encounterConfig.mjs b/module/config/encounterConfig.mjs
index 4e0f8a6e..6ea03fcf 100644
--- a/module/config/encounterConfig.mjs
+++ b/module/config/encounterConfig.mjs
@@ -90,18 +90,20 @@ export const BPModifiers = {
name: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.name',
description: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.description',
img: 'icons/magic/control/buff-flight-wings-red.webp',
- changes: [
- {
- key: 'system.bonuses.damage.physical.dice',
- mode: 2,
- value: '1d4'
- },
- {
- key: 'system.bonuses.damage.magical.dice',
- mode: 2,
- value: '1d4'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.bonuses.damage.physical.dice',
+ type: 'add',
+ value: '1d4'
+ },
+ {
+ key: 'system.bonuses.damage.magical.dice',
+ type: 'add',
+ value: '1d4'
+ }
+ ]
+ }
}
]
}
diff --git a/module/config/itemConfig.mjs b/module/config/itemConfig.mjs
index 9ebfd1e2..61ed3703 100644
--- a/module/config/itemConfig.mjs
+++ b/module/config/itemConfig.mjs
@@ -37,13 +37,15 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.channeling.effects.channeling.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.channeling.effects.channeling.description',
img: 'icons/magic/symbols/rune-sigil-horned-blue.webp',
- changes: [
- {
- key: 'system.bonuses.roll.spellcast',
- mode: 2,
- value: '1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.bonuses.roll.spellcast',
+ type: 'add',
+ value: '1'
+ }
+ ]
+ }
}
]
},
@@ -55,43 +57,45 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.difficult.effects.difficult.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.difficult.effects.difficult.description',
img: 'icons/magic/control/buff-flight-wings-red.webp',
- changes: [
- {
- key: 'system.traits.agility.value',
- mode: 2,
- value: '-1'
- },
- {
- key: 'system.traits.strength.value',
- mode: 2,
- value: '-1'
- },
- {
- key: 'system.traits.finesse.value',
- mode: 2,
- value: '-1'
- },
- {
- key: 'system.traits.instinct.value',
- mode: 2,
- value: '-1'
- },
- {
- key: 'system.traits.presence.value',
- mode: 2,
- value: '-1'
- },
- {
- key: 'system.traits.knowledge.value',
- mode: 2,
- value: '-1'
- },
- {
- key: 'system.evasion',
- mode: 2,
- value: '-1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.traits.agility.value',
+ type: 'add',
+ value: '-1'
+ },
+ {
+ key: 'system.traits.strength.value',
+ type: 'add',
+ value: '-1'
+ },
+ {
+ key: 'system.traits.finesse.value',
+ type: 'add',
+ value: '-1'
+ },
+ {
+ key: 'system.traits.instinct.value',
+ type: 'add',
+ value: '-1'
+ },
+ {
+ key: 'system.traits.presence.value',
+ type: 'add',
+ value: '-1'
+ },
+ {
+ key: 'system.traits.knowledge.value',
+ type: 'add',
+ value: '-1'
+ },
+ {
+ key: 'system.evasion',
+ type: 'add',
+ value: '-1'
+ }
+ ]
+ }
}
]
},
@@ -103,13 +107,15 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.flexible.effects.flexible.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.flexible.effects.flexible.description',
img: 'icons/magic/movement/abstract-ribbons-red-orange.webp',
- changes: [
- {
- key: 'system.evasion',
- mode: 2,
- value: '1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.evasion',
+ type: 'add',
+ value: '1'
+ }
+ ]
+ }
}
]
},
@@ -121,13 +127,15 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.fortified.effects.fortified.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.fortified.effects.fortified.description',
img: 'icons/magic/defensive/shield-barrier-glowing-blue.webp',
- changes: [
- {
- key: 'system.rules.damageReduction.increasePerArmorMark',
- mode: 5,
- value: '2'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.rules.damageReduction.increasePerArmorMark',
+ type: 'override',
+ value: '2'
+ }
+ ]
+ }
}
]
},
@@ -139,13 +147,15 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.gilded.effects.gilded.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.gilded.effects.gilded.description',
img: 'icons/magic/control/control-influence-crown-gold.webp',
- changes: [
- {
- key: 'system.traits.presence.value',
- mode: 2,
- value: '1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.traits.presence.value',
+ type: 'add',
+ value: '1'
+ }
+ ]
+ }
}
]
},
@@ -157,13 +167,15 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.heavy.effects.heavy.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.heavy.effects.heavy.description',
img: 'icons/commodities/metal/ingot-worn-iron.webp',
- changes: [
- {
- key: 'system.evasion',
- mode: 2,
- value: '-1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.evasion',
+ type: 'add',
+ value: '-1'
+ }
+ ]
+ }
}
]
},
@@ -212,13 +224,15 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.magical.effects.magical.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.magical.effects.magical.description',
img: 'icons/magic/defensive/barrier-shield-dome-blue-purple.webp',
- changes: [
- {
- key: 'system.rules.damageReduction.magical',
- mode: 5,
- value: 1
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.rules.damageReduction.magical',
+ type: 'override',
+ value: 1
+ }
+ ]
+ }
}
]
},
@@ -249,13 +263,15 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.physical.effects.physical.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.physical.effects.physical.description',
img: 'icons/commodities/stone/ore-pile-tan.webp',
- changes: [
- {
- key: 'system.rules.damageReduction.physical',
- mode: 5,
- value: 1
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.rules.damageReduction.physical',
+ type: 'override',
+ value: 1
+ }
+ ]
+ }
}
]
},
@@ -280,18 +296,20 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.reinforced.effects.reinforced.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.reinforced.effects.reinforced.description',
img: 'icons/magic/defensive/shield-barrier-glowing-triangle-green.webp',
- changes: [
- {
- key: 'system.bunuses.damageThresholds.major',
- mode: 2,
- value: '2'
- },
- {
- key: 'system.bunuses.damageThresholds.severe',
- mode: 2,
- value: '2'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.bunuses.damageThresholds.major',
+ type: 'add',
+ value: '2'
+ },
+ {
+ key: 'system.bunuses.damageThresholds.severe',
+ type: 'add',
+ value: '2'
+ }
+ ]
+ }
}
]
},
@@ -326,18 +344,20 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.sharp.effects.sharp.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.sharp.effects.sharp.description',
img: 'icons/magic/defensive/shield-barrier-glowing-triangle-green.webp',
- changes: [
- {
- key: 'system.bonuses.damage.primaryWeapon.dice',
- mode: 2,
- value: '1d4'
- },
- {
- key: 'system.bonuses.damage.secondaryWeapon.dice',
- mode: 2,
- value: '1d4'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.bonuses.damage.primaryWeapon.dice',
+ type: 'add',
+ value: '1d4'
+ },
+ {
+ key: 'system.bonuses.damage.secondaryWeapon.dice',
+ type: 'add',
+ value: '1d4'
+ }
+ ]
+ }
}
]
},
@@ -408,18 +428,20 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.veryHeavy.effects.veryHeavy.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.veryHeavy.effects.veryHeavy.description',
img: 'icons/commodities/metal/ingot-stamped-steel.webp',
- changes: [
- {
- key: 'system.evasion',
- mode: 2,
- value: '-2'
- },
- {
- key: 'system.traits.agility.value',
- mode: 2,
- value: '-1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.evasion',
+ type: 'add',
+ value: '-2'
+ },
+ {
+ key: 'system.traits.agility.value',
+ type: 'add',
+ value: '-1'
+ }
+ ]
+ }
}
]
},
@@ -431,14 +453,16 @@ export const armorFeatures = {
name: 'DAGGERHEART.CONFIG.ArmorFeature.warded.effects.warded.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.warded.effects.warded.description',
img: 'icons/magic/defensive/barrier-shield-dome-pink.webp',
- changes: [
- {
- key: 'system.resistance.magical.reduction',
- mode: 2,
- value: '@system.armorScore',
- priority: 21
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.resistance.magical.reduction',
+ type: 'add',
+ value: '@system.armorScore',
+ priority: 21
+ }
+ ]
+ }
}
]
}
@@ -488,21 +512,23 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.description',
img: 'icons/skills/melee/shield-block-bash-blue.webp',
- changes: [
- {
- key: 'system.evasion',
- mode: 2,
- value: '-1'
- },
- {
- key: 'Armor',
- type: 'armor',
- typeData: {
+ system: {
+ changes: [
+ {
+ key: 'system.evasion',
+ type: 'add',
+ value: '-1'
+ },
+ {
+ key: 'Armor',
type: 'armor',
- max: 'ITEM.@system.tier + 1'
+ typeData: {
+ type: 'armor',
+ max: 'ITEM.@system.tier + 1'
+ }
}
- }
- ]
+ ]
+ }
}
]
},
@@ -514,13 +540,15 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.bonded.effects.damage.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.bonded.effects.damage.description',
img: 'icons/magic/symbols/chevron-elipse-circle-blue.webp',
- changes: [
- {
- key: 'system.bonuses.damage.primaryWeapon.bonus',
- mode: 2,
- value: '@system.levelData.level.current'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.bonuses.damage.primaryWeapon.bonus',
+ type: 'add',
+ value: '@system.levelData.level.current'
+ }
+ ]
+ }
}
]
},
@@ -553,18 +581,20 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.brave.effects.brave.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.brave.effects.brave.description',
img: 'icons/magic/life/heart-cross-strong-flame-purple-orange.webp',
- changes: [
- {
- key: 'system.evasion',
- mode: 2,
- value: '-1'
- },
- {
- key: 'system.damageThresholds.severe',
- mode: 2,
- value: 'ITEM.@system.tier'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.evasion',
+ type: 'add',
+ value: '-1'
+ },
+ {
+ key: 'system.damageThresholds.severe',
+ type: 'add',
+ value: 'ITEM.@system.tier'
+ }
+ ]
+ }
}
]
},
@@ -618,13 +648,15 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.charged.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.charged.description',
img: 'icons/magic/lightning/claws-unarmed-strike-teal.webp',
- changes: [
- {
- key: 'system.proficiency',
- mode: 2,
- value: '1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.proficiency',
+ type: 'add',
+ value: '1'
+ }
+ ]
+ }
}
]
}
@@ -660,13 +692,15 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.cumbersome.effects.cumbersome.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.cumbersome.effects.cumbersome.description',
img: 'icons/commodities/metal/mail-plate-steel.webp',
- changes: [
- {
- key: 'system.traits.finesse.value',
- mode: 2,
- value: '-1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.traits.finesse.value',
+ type: 'add',
+ value: '-1'
+ }
+ ]
+ }
}
]
},
@@ -707,14 +741,16 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.effects.deflecting.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.effects.deflecting.description',
img: 'icons/skills/melee/hand-grip-sword-strike-orange.webp',
- changes: [
- {
- key: 'system.evasion',
- mode: 2,
- value: '@system.armorScore',
- priority: 21
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.evasion',
+ type: 'add',
+ value: '@system.armorScore',
+ priority: 21
+ }
+ ]
+ }
}
]
}
@@ -754,13 +790,15 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.effects.agility',
img: 'icons/skills/melee/strike-flail-spiked-pink.webp',
- changes: [
- {
- key: 'system.traits.agility.value',
- mode: 2,
- value: '-1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.traits.agility.value',
+ type: 'add',
+ value: '-1'
+ }
+ ]
+ }
}
]
},
@@ -795,7 +833,7 @@ export const weaponFeatures = {
changes: [
{
key: 'system.bonuses.damage.primaryWeapon.bonus',
- mode: 2,
+ type: 'add',
value: '1'
}
],
@@ -902,13 +940,15 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.actions.greed.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.actions.greed.description',
img: 'icons/commodities/currency/coins-crown-stack-gold.webp',
- changes: [
- {
- key: 'system.proficiency',
- mode: 2,
- value: '1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.proficiency',
+ type: 'add',
+ value: '1'
+ }
+ ]
+ }
}
]
}
@@ -951,13 +991,15 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.heavy.effects.heavy.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.heavy.effects.heavy.description',
img: 'icons/commodities/metal/ingot-worn-iron.webp',
- changes: [
- {
- key: 'system.evasion',
- mode: 2,
- value: '-1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.evasion',
+ type: 'add',
+ value: '-1'
+ }
+ ]
+ }
}
]
},
@@ -1066,13 +1108,15 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.massive.effects.massive.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.massive.effects.massive.description',
img: 'icons/skills/melee/strike-flail-destructive-yellow.webp',
- changes: [
- {
- key: 'system.evasion',
- mode: 2,
- value: '-1'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.evasion',
+ type: 'add',
+ value: '-1'
+ }
+ ]
+ }
}
]
},
@@ -1107,7 +1151,7 @@ export const weaponFeatures = {
changes: [
{
key: 'system.bonuses.damage.primaryWeapon.bonus',
- mode: 2,
+ type: 'add',
value: 'ITEM.@system.tier + 1'
}
],
@@ -1158,13 +1202,15 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.effects.persuasive.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.effects.persuasive.description',
img: 'icons/magic/control/hypnosis-mesmerism-eye.webp',
- changes: [
- {
- key: 'system.traits.presence.value',
- mode: 2,
- value: '2'
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.traits.presence.value',
+ type: 'add',
+ value: '2'
+ }
+ ]
+ }
}
]
}
@@ -1203,17 +1249,20 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.description',
img: 'icons/skills/melee/shield-block-gray-orange.webp',
- changes: [
- {
- key: 'Armor',
- type: 'armor',
- value: 0,
- typeData: {
+ system: {
+ changes: [
+ {
+ key: 'Armor',
type: 'armor',
- max: 'ITEM.@system.tier'
+ value: 0,
+ typeData: {
+ type: 'armor',
+ max: 'ITEM.@system.tier'
+ }
}
- }
- ]
+ ]
+ }
+
}
]
},
@@ -1244,13 +1293,15 @@ export const weaponFeatures = {
name: 'DAGGERHEART.CONFIG.WeaponFeature.reliable.effects.reliable.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.reliable.effects.reliable.description',
img: 'icons/skills/melee/strike-sword-slashing-red.webp',
- changes: [
- {
- key: 'system.bonuses.roll.primaryWeapon.bonus',
- mode: 2,
- value: 1
- }
- ]
+ system: {
+ changes: [
+ {
+ key: 'system.bonuses.roll.primaryWeapon.bonus',
+ type: 'add',
+ value: 1
+ }
+ ]
+ }
}
]
},
@@ -1341,7 +1392,7 @@ export const weaponFeatures = {
changes: [
{
key: 'system.bonuses.damage.primaryWeapon.bonus',
- mode: 2,
+ type: 'add',
value: '@system.traits.agility.value',
priority: 21
}
From 76ee7779851e25b818c25f184ca6f9f7208a70b7 Mon Sep 17 00:00:00 2001
From: WBHarry <89362246+WBHarry@users.noreply.github.com>
Date: Sun, 12 Jul 2026 00:37:02 +0200
Subject: [PATCH 17/34] [Fix] ActiveEffect Mode OneTime Migration (#2078)
* Migrations for ActiveEffect Mode
* Start on migration handlers
---------
Co-authored-by: Carlos Fernandez
---
.../migration-handlers/2_5_2.mjs | 38 +++++++++
.../migration-handlers/base.mjs | 77 +++++++++++++++++++
module/systemRegistration/migrations.mjs | 15 +++-
3 files changed, 129 insertions(+), 1 deletion(-)
create mode 100644 module/systemRegistration/migration-handlers/2_5_2.mjs
create mode 100644 module/systemRegistration/migration-handlers/base.mjs
diff --git a/module/systemRegistration/migration-handlers/2_5_2.mjs b/module/systemRegistration/migration-handlers/2_5_2.mjs
new file mode 100644
index 00000000..f6d9ea77
--- /dev/null
+++ b/module/systemRegistration/migration-handlers/2_5_2.mjs
@@ -0,0 +1,38 @@
+import { MigrationHandlerBase } from './base.mjs';
+
+export class Migration_2_5_2 extends MigrationHandlerBase {
+ version = '2.5.2';
+
+ /** @inheritdoc */
+ async updateActiveEffectSource(effectSource, item) {
+ let shouldUpdate = false;
+ const newChanges = [];
+ const srdItem = item?._stats.compendiumSource ?
+ await foundry.utils.fromUuid(item?._stats.compendiumSource) :
+ null;
+ for (let i = 0; i < effectSource.system.changes.length; i++) {
+ const change = effectSource.system.changes[i];
+ const srdEffect = srdItem?.effects.find(x => x.name === effectSource.name);
+ if (change.type === 'custom') {
+ const srdChange = srdEffect ? srdEffect.system.changes[i] : null;
+ if (
+ change.key === srdChange.key &&
+ change.value === srdChange.value &&
+ change.type !== srdChange.type
+ ) {
+ shouldUpdate = true;
+ newChanges.push(srdChange);
+ }
+ } else {
+ newChanges.push(change);
+ }
+ }
+
+ if (shouldUpdate) {
+ return {
+ _id: effectSource._id,
+ system: { changes: newChanges }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/module/systemRegistration/migration-handlers/base.mjs b/module/systemRegistration/migration-handlers/base.mjs
new file mode 100644
index 00000000..7426570d
--- /dev/null
+++ b/module/systemRegistration/migration-handlers/base.mjs
@@ -0,0 +1,77 @@
+/**
+ * @import DHItem from "../../documents/item.mjs";
+ */
+
+/**
+ * The base class of an async migration.
+ * These are generally run between versions for things that require compendiums or must be done in post.
+ * The migrate() functions calls the various updateXSource() functions.
+ * Generally a subclass will override the version and the updateXSource() functions.
+ */
+export class MigrationHandlerBase {
+ version = null;
+
+ /**
+ * Gets change data for an active effect's source, or null if no changes
+ * @param {object} effectSource
+ * @param {DHItem} item
+ * @returns {Promise}
+ * @protected
+ */
+ async updateActiveEffectSource(effectSource, item) {
+ return null;
+ }
+
+ async migrate() {
+ // todo: handle more than just migrating effects. Right now this can only migrate effects
+ // NOTE: the preload is hardcoded, we should not hardcode it
+
+ const numActors = game.actors.size;
+ const numItems = game.items.size;
+ const finalUpdateProgress = 5;
+ const DhProgress = game.system.api.applications.ui.DhProgress;
+ const preRunProgress = game.packs.size;
+
+ const progress = DhProgress.createMigrationProgress(
+ preRunProgress + numActors + numItems + finalUpdateProgress
+ );
+
+ // Preload. Avoid hardcoding in the future
+ for (const pack of game.packs) {
+ await pack.getDocuments();
+ progress.advance();
+ }
+
+ const batch = [];
+
+ const updateItem = async item => {
+ const itemUpdates = [];
+ for (const effect of item.effects) {
+ const changes = await this.updateActiveEffectSource(effect.toObject(), item);
+ if (changes) itemUpdates.push(changes);
+ }
+ if (itemUpdates.length) {
+ batch.push({
+ action: 'update',
+ documentName: 'ActiveEffect',
+ updates: itemUpdates,
+ parent: item
+ });
+ }
+ };
+
+ for (const actor of game.actors) {
+ for (const item of actor.items) {
+ await updateItem(item);
+ }
+ progress.advance();
+ }
+ for (const item of game.items) {
+ await updateItem(item);
+ progress.advance();
+ }
+
+ await foundry.documents.modifyBatch(batch);
+ progress.advance({ by: finalUpdateProgress });
+ }
+}
\ No newline at end of file
diff --git a/module/systemRegistration/migrations.mjs b/module/systemRegistration/migrations.mjs
index 6971c34c..fef97b8f 100644
--- a/module/systemRegistration/migrations.mjs
+++ b/module/systemRegistration/migrations.mjs
@@ -1,4 +1,5 @@
import { defaultRestOptions } from '../config/generalConfig.mjs';
+import { Migration_2_5_2 } from './migration-handlers/2_5_2.mjs';
export async function runMigrations() {
let lastMigrationVersion = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion);
@@ -320,7 +321,19 @@ export async function runMigrations() {
lastMigrationVersion = '2.1.0';
}
- //#endregion
await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion, lastMigrationVersion);
+
+ /* -------------------------------------------- */
+ /* New Style migrations below this point */
+ /* -------------------------------------------- */
+
+ const migrations = [
+ new Migration_2_5_2()
+ ].filter(m => m.version && foundry.utils.isNewerVersion(m.version, lastMigrationVersion));
+
+ for (const handler of migrations) {
+ await handler.migrate();
+ await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion, handler.version);
+ }
}
From 783505da0ace8667dd134bf5d6c961ebf6aea03d Mon Sep 17 00:00:00 2001
From: WBHarry
Date: Sun, 12 Jul 2026 00:37:37 +0200
Subject: [PATCH 18/34] Raised verison
---
system.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/system.json b/system.json
index 3f1b49a6..43e06254 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.1",
+ "version": "2.5.2",
"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.1/system.zip",
+ "download": "https://github.com/Foundryborne/daggerheart/releases/download/2.5.2/system.zip",
"authors": [
{
"name": "WBHarry"
From 3faf588e6c361555d6985b2e94574b3ea89db557 Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Sun, 12 Jul 2026 20:43:56 -0400
Subject: [PATCH 19/34] Fix chat messages with list items or weapon/armor
features (#2081)
---
module/data/item/base.mjs | 2 +-
module/documents/item.mjs | 5 +---
styles/less/global/inventory-item.less | 32 +----------------------
styles/less/global/prose-mirror.less | 31 +---------------------
styles/less/ui/chat/ability-use.less | 4 ++-
styles/less/utils/mixin.less | 36 +++++++++++++++++++++++++-
6 files changed, 42 insertions(+), 68 deletions(-)
diff --git a/module/data/item/base.mjs b/module/data/item/base.mjs
index ba114fda..131ef10f 100644
--- a/module/data/item/base.mjs
+++ b/module/data/item/base.mjs
@@ -143,7 +143,7 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel {
/**
* Gets the enriched and augmented description for the item.
* @param {object} [options] - Options that modify the styling of the rendered template. { headerStyle: undefined|'none'|'large' }
- * @returns {string}
+ * @returns {Promise}
*/
async getEnrichedDescription() {
if (!this.metadata.hasDescription) return '';
diff --git a/module/documents/item.mjs b/module/documents/item.mjs
index 14717538..8112e99f 100644
--- a/module/documents/item.mjs
+++ b/module/documents/item.mjs
@@ -208,10 +208,7 @@ export default class DHItem extends foundry.documents.Item {
tags: this._getTags()
},
actions: item.system.actionsList,
- description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.system.description, {
- relativeTo: this.parent,
- rollData: this.parent?.getRollData() ?? {}
- })
+ description: await this.system.getEnrichedDescription()
};
const msg = {
diff --git a/styles/less/global/inventory-item.less b/styles/less/global/inventory-item.less
index 2e6cc863..d942133c 100644
--- a/styles/less/global/inventory-item.less
+++ b/styles/less/global/inventory-item.less
@@ -163,37 +163,7 @@
}
.inventory-description {
overflow: hidden;
-
- h1 {
- font-size: var(--font-size-32);
- }
- h2 {
- font-size: var(--font-size-28);
- font-weight: 600;
- }
- h3 {
- font-size: var(--font-size-20);
- font-weight: 600;
- }
- h4 {
- font-size: var(--font-size-16);
- color: @beige;
- font-weight: 600;
- }
-
- ul,
- ol {
- margin: 1rem 0;
- padding: 0 0 0 1.25rem;
-
- li {
- margin-bottom: 0.25rem;
- }
- }
-
- ul {
- list-style: disc;
- }
+ .typography();
}
}
.item-resources {
diff --git a/styles/less/global/prose-mirror.less b/styles/less/global/prose-mirror.less
index 27048ddf..430ca79d 100644
--- a/styles/less/global/prose-mirror.less
+++ b/styles/less/global/prose-mirror.less
@@ -14,36 +14,7 @@
}
.editor-content {
.with-scroll-shadows();
- h1 {
- font-size: var(--font-size-32);
- }
- h2 {
- font-size: var(--font-size-28);
- font-weight: 600;
- }
- h3 {
- font-size: var(--font-size-20);
- font-weight: 600;
- }
- h4 {
- font-size: var(--font-size-16);
- color: light-dark(@dark, @beige);
- font-weight: 600;
- }
-
- ul,
- ol {
- margin: 1rem 0;
- padding: 0 0 0 1.25rem;
-
- li {
- margin-bottom: 0.25rem;
- }
- }
-
- ul {
- list-style: disc;
- }
+ .typography();
}
// Fixes centering and makes it not render over scrollbar
&:hover button.toggle:enabled {
diff --git a/styles/less/ui/chat/ability-use.less b/styles/less/ui/chat/ability-use.less
index d028fa7a..c31136ad 100644
--- a/styles/less/ui/chat/ability-use.less
+++ b/styles/less/ui/chat/ability-use.less
@@ -117,7 +117,9 @@
}
.description {
- padding: 8px;
+ padding: 0;
+ margin: 8px;
+ .typography();
}
.ability-card-footer {
diff --git a/styles/less/utils/mixin.less b/styles/less/utils/mixin.less
index 2ce85166..fb70d0a3 100644
--- a/styles/less/utils/mixin.less
+++ b/styles/less/utils/mixin.less
@@ -203,4 +203,38 @@
overflow-y: auto;
scrollbar-gutter: stable;
.with-scroll-shadows();
-}
\ No newline at end of file
+}
+
+/** Typography stylings for most longform text, usually item descriptions */
+.typography() {
+ h1 {
+ font-size: var(--font-size-32);
+ }
+ h2 {
+ font-size: var(--font-size-28);
+ font-weight: 600;
+ }
+ h3 {
+ font-size: var(--font-size-20);
+ font-weight: 600;
+ }
+ h4 {
+ font-size: var(--font-size-16);
+ color: light-dark(@dark, @beige);
+ font-weight: 600;
+ }
+
+ ul,
+ ol {
+ margin: 1rem 0;
+ padding: 0 0 0 1.25rem;
+
+ li {
+ margin-bottom: 0.25rem;
+ }
+ }
+
+ ul {
+ list-style: disc;
+ }
+}
From 3de9c2f9095620d0f6f32445e77934eb90cb633c Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Mon, 13 Jul 2026 08:56:49 -0400
Subject: [PATCH 20/34] Remove duplicate action descriptions in environments
(#2083)
---
...ment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json | 2 +-
...nvironment_Ambushers_uXZpebPR77YQ1oXI.json | 10 ++---
...ronment_Castle_Siege_1eZ32Esq7rfZOjlu.json | 2 +-
...ent_Cliffside_Ascent_LPpfdlNKqiZIl04w.json | 12 +++---
...ironment_Cult_Ritual_QAXXiOKBDmCTauHD.json | 38 +++++++++----------
...ment_Hallowed_Temple_dsA6j69AnaJhUyqH.json | 12 +++---
...ronment_Haunted_City_OzYbizKraK92FDiI.json | 10 ++---
...nment_Imperial_Court_jr1xAoXzVwVblzxI.json | 10 ++---
...ecromancer_s_Ossuary_h3KyRL7AshhLAmcH.json | 6 +--
...nment_Pitched_Battle_EWD3ZsLoK6VMVOf7.json | 2 +-
10 files changed, 46 insertions(+), 58 deletions(-)
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": [
From 6e0d0b4e2cfb1fd7b4ff8bb15b1fe2fd73b139d0 Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Mon, 13 Jul 2026 08:57:55 -0400
Subject: [PATCH 21/34] Adjust styling of secret blocks (#2080)
* Adjust styling of secret blocks
* Only show button when hovering over the secret section
---
styles/less/global/elements.less | 38 ++++++++++++++++++++++++++++++++
styles/less/global/sheet.less | 4 ++--
styles/less/utils/colors.less | 4 ++++
3 files changed, 44 insertions(+), 2 deletions(-)
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;
}
}
From 7b35feb36dd71b548dbb004a3c149044cc47e7a5 Mon Sep 17 00:00:00 2001
From: WBHarry <89362246+WBHarry@users.noreply.github.com>
Date: Mon, 13 Jul 2026 15:01:03 +0200
Subject: [PATCH 22/34] Corrected translation for damageReductionOnlyMagical
(#2084)
---
lang/en.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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",
From d3d9ddfb4188a55fa5d13ccb0d90e8c8f1e5c12d Mon Sep 17 00:00:00 2001
From: WBHarry
Date: Mon, 13 Jul 2026 17:02:26 +0200
Subject: [PATCH 23/34] Fixed an issue with the 2.5.2 migration
---
module/systemRegistration/migration-handlers/2_5_2.mjs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
From 81e264a4779fc86e7c7b2593b7d8c5e76d30d381 Mon Sep 17 00:00:00 2001
From: WBHarry
Date: Mon, 13 Jul 2026 17:04:27 +0200
Subject: [PATCH 24/34] Raised version
---
system.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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"
From 450287e4d05d0f3dd3f3d5f3e29558d8462e4c9c Mon Sep 17 00:00:00 2001
From: WBHarry <89362246+WBHarry@users.noreply.github.com>
Date: Mon, 13 Jul 2026 22:57:43 +0200
Subject: [PATCH 25/34] [Fix] Summon Wildcard Handling (#2086)
---
module/data/action/baseAction.mjs | 3 ++-
module/data/fields/action/summonField.mjs | 18 +++++++++--------
module/data/fields/actionField.mjs | 4 ++--
module/documents/tokenManager.mjs | 24 +++++++++++++----------
templates/ui/chat/action.hbs | 6 +++---
5 files changed, 31 insertions(+), 24 deletions(-)
diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs
index be7224cd..5b871c9a 100644
--- a/module/data/action/baseAction.mjs
+++ b/module/data/action/baseAction.mjs
@@ -256,7 +256,8 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
if (Hooks.call(`${CONFIG.DH.id}.postUseAction`, this, config) === false) return;
- if (this.chatDisplay && !config.skips.createMessage && !config.actionChatMessageHandled) await this.toChat();
+ if (this.chatDisplay && !config.skips.createMessage && !config.actionChatMessageHandled)
+ await this.toChat(null, config);
return config;
}
diff --git a/module/data/fields/action/summonField.mjs b/module/data/fields/action/summonField.mjs
index 6845d2ba..fef6625a 100644
--- a/module/data/fields/action/summonField.mjs
+++ b/module/data/fields/action/summonField.mjs
@@ -23,7 +23,7 @@ export default class DHSummonField extends fields.ArrayField {
super(summonFields, options, context);
}
- static async execute() {
+ static async execute(config) {
if (!canvas.scene) {
ui.notifications.warn(game.i18n.localize('DAGGERHEART.ACTIONS.TYPES.summon.error'));
return;
@@ -36,6 +36,7 @@ export default class DHSummonField extends fields.ArrayField {
const rolls = [];
const summonData = [];
+ const chatMessageData = [];
for (const summon of this.summon) {
const roll = new Roll(itemAbleRollParse(summon.count, this.actor, this.item));
await roll.evaluate();
@@ -54,17 +55,18 @@ export default class DHSummonField extends fields.ArrayField {
tokenPreviewName: `${actor.prototypeToken.name}${remaining > 1 ? ` (${remaining}x)` : ''}`
});
}
+
+ chatMessageData.push({
+ data: actor,
+ quantity: countNumber
+ });
}
if (rolls.length) await triggerChatRollFx(rolls);
this.actor.sheet?.minimize();
- DHSummonField.handleSummon(summonData, this.actor);
- }
-
- static async handleSummon(summonData, actionActor) {
- await CONFIG.ux.TokenManager.createTokensWithPreview(summonData, { elevation: actionActor.token?.elevation });
-
- return actionActor.sheet?.maximize();
+ await CONFIG.ux.TokenManager.createTokensWithPreview(summonData, { elevation: this.actor.token?.elevation });
+ this.actor.sheet?.maximize();
+ config.summonData = chatMessageData;
}
}
diff --git a/module/data/fields/actionField.mjs b/module/data/fields/actionField.mjs
index 83672c8e..af8f338e 100644
--- a/module/data/fields/actionField.mjs
+++ b/module/data/fields/actionField.mjs
@@ -269,7 +269,7 @@ export function ActionMixin(Base) {
return this.delete();
}
- async toChat(origin) {
+ async toChat(origin, config) {
const autoExpandDescription = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance)
.expandRollMessage?.desc;
@@ -282,7 +282,7 @@ export function ActionMixin(Base) {
img: this.baseAction ? this.parent.parent.img : this.img,
tags: this.tags ? this.tags : ['Spell', 'Arcana', 'Lv 10'],
areas: this.areas,
- summon: this.summon
+ summon: config?.summonData
},
source: {
actor: this.actor.uuid,
diff --git a/module/documents/tokenManager.mjs b/module/documents/tokenManager.mjs
index 7678d2c7..062a22ee 100644
--- a/module/documents/tokenManager.mjs
+++ b/module/documents/tokenManager.mjs
@@ -19,10 +19,10 @@ export default class DhTokenManager {
}
}
- return await canvas.tokens.placeTokens(
+ const placedData = await canvas.tokens.placeTokens(
[
{
- ...actor.prototypeToken.toObject(),
+ ...(await actor.getTokenDocument()).toObject(),
actorId: actor.id,
displayName: 50,
...tokenData
@@ -30,6 +30,8 @@ export default class DhTokenManager {
],
{ create: false }
);
+
+ return placedData[0] ?? null;
}
/**
@@ -46,22 +48,24 @@ export default class DhTokenManager {
const createElevation = elevation ?? level.elevation.bottom;
for (const tokenData of tokensData) {
- const previewTokens = await this.createPreview(tokenData.actor, {
+ const previewToken = await this.createPreview(tokenData.actor, {
name: tokenData.tokenPreviewName,
level: game.user.viewedLevel,
elevation: createElevation,
flags: { daggerheart: { createPlacement: true } }
});
- if (!previewTokens?.length) return null;
+ if (!previewToken) return null;
+
+ const finalTokenData = {
+ ...previewToken.toObject(),
+ name: tokenData.actor.prototypeToken.name,
+ displayName: tokenData.actor.prototypeToken.displayName,
+ flags: tokenData.actor.prototypeToken.flags
+ };
await canvas.scene.createEmbeddedDocuments(
'Token',
- previewTokens.map(x => ({
- ...x.toObject(),
- name: tokenData.actor.prototypeToken.name,
- displayName: tokenData.actor.prototypeToken.displayName,
- flags: tokenData.actor.prototypeToken.flags
- })),
+ [finalTokenData],
{ controlObject: true, parent: canvas.scene }
);
}
diff --git a/templates/ui/chat/action.hbs b/templates/ui/chat/action.hbs
index 51840363..d9ceb417 100644
--- a/templates/ui/chat/action.hbs
+++ b/templates/ui/chat/action.hbs
@@ -16,10 +16,10 @@
{{#each action.summon}}
-
-
{{this.actor.name}}
+
+
{{this.data.name}}
-
# {{this.rolledCount}}
+
# {{this.quantity}}
{{/each}}
From 02a73d774a916f20b6816590fbc8680dcd60b032 Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Mon, 13 Jul 2026 18:31:42 -0400
Subject: [PATCH 26/34] Add guard for null placedData (#2087)
---
module/documents/tokenManager.mjs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/module/documents/tokenManager.mjs b/module/documents/tokenManager.mjs
index 062a22ee..b21b56a0 100644
--- a/module/documents/tokenManager.mjs
+++ b/module/documents/tokenManager.mjs
@@ -31,7 +31,7 @@ export default class DhTokenManager {
{ create: false }
);
- return placedData[0] ?? null;
+ return placedData?.[0] ?? null;
}
/**
From 3a5529f1dc8730c217f5fa3cf033974775de556f Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Mon, 13 Jul 2026 18:56:34 -0400
Subject: [PATCH 27/34] Cleanup secret block styling (#2088)
---
styles/less/global/elements.less | 39 ++++++++++++++++++++------------
1 file changed, 25 insertions(+), 14 deletions(-)
diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less
index edc02f9a..1b7ed072 100755
--- a/styles/less/global/elements.less
+++ b/styles/less/global/elements.less
@@ -599,27 +599,23 @@
}
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;
- }
- }
+ display: block;
+
+ /** A buffer to make the hover behavior work a bit better. The bottom in the button needs to compensate */
+ @buffer: 8px;
+ margin-top: -@buffer;
+ padding-top: @buffer;
+
button.reveal {
- --button-size: 0.875rem;
+ --button-size: 1rem;
+ height: var(--button-size);
position: absolute;
margin: auto;
left: 0;
right: 0;
width: min-content;
padding: 1px 8px 0 8px;
- bottom: calc(100% - 0.4375rem - 2px);
+ bottom: calc(100% - 0.4375rem - 1px);
background-color: var(--dh-window-button-color-bg); // todo: find a better var name
border-color: var(--color-secret-border);
@@ -627,6 +623,7 @@
font-size: var(--font-size-10);
user-select: none;
text-transform: uppercase;
+ white-space: nowrap;
visibility: hidden;
}
@@ -635,6 +632,20 @@
visibility: visible;
}
}
+
+ /**
+ * The element inside a secret-block.
+ * This is separate since during prosemirror editing, the secret-block container does not exist.
+ */
+ section.secret {
+ --color-secret-bg: @red-10;
+ --color-revealed-bg: @green-10;
+ position: relative;
+ padding: 0;
+ p {
+ margin: 0.5rem 0;
+ }
+ }
}
.system-daggerheart {
From 4974df16d071f67667df972d9fd27e0c4fee34e1 Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Tue, 14 Jul 2026 08:35:02 -0400
Subject: [PATCH 28/34] Preserve description expand state on re-render (#2089)
---
module/applications/dialogs/deathMove.mjs | 3 --
module/applications/dialogs/downtime.mjs | 6 +---
module/data/fields/actionField.mjs | 5 +--
module/documents/chatMessage.mjs | 42 ++++++++++++++---------
4 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/module/applications/dialogs/deathMove.mjs b/module/applications/dialogs/deathMove.mjs
index 8e0ed6af..cfd7687b 100644
--- a/module/applications/dialogs/deathMove.mjs
+++ b/module/applications/dialogs/deathMove.mjs
@@ -185,8 +185,6 @@ export default class DhDeathMove extends HandlebarsApplicationMixin(ApplicationV
if (result === undefined) return;
- const autoExpandDescription = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance)
- .expandRollMessage?.desc;
const cls = getDocumentClass('ChatMessage');
const msg = {
@@ -202,7 +200,6 @@ export default class DhDeathMove extends HandlebarsApplicationMixin(ApplicationV
img: this.selectedMove.img,
description: game.i18n.localize(this.selectedMove.description),
result: result,
- open: autoExpandDescription ? 'open' : '',
showRiskItAllButton: this.showRiskItAllButton,
riskItAllButtonLabel: this.riskItAllButtonLabel,
riskItAllHope: this.riskItAllHope
diff --git a/module/applications/dialogs/downtime.mjs b/module/applications/dialogs/downtime.mjs
index e209cc3b..5ba8e48e 100644
--- a/module/applications/dialogs/downtime.mjs
+++ b/module/applications/dialogs/downtime.mjs
@@ -196,9 +196,6 @@ export default class DhpDowntime extends HandlebarsApplicationMixin(ApplicationV
.filter(x => x.testUserPermission(game.user, 'LIMITED'))
.filter(x => x.uuid !== this.actor.uuid);
- const autoExpandDescription = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance)
- .expandRollMessage?.desc;
-
const cls = getDocumentClass('ChatMessage');
const msg = {
user: game.user.id,
@@ -219,8 +216,7 @@ export default class DhpDowntime extends HandlebarsApplicationMixin(ApplicationV
actor: { name: this.actor.name, img: this.actor.img },
moves: moves,
characters: characters,
- selfId: this.actor.uuid,
- open: autoExpandDescription ? 'open' : ''
+ selfId: this.actor.uuid
}
),
flags: {
diff --git a/module/data/fields/actionField.mjs b/module/data/fields/actionField.mjs
index af8f338e..ba2fa37e 100644
--- a/module/data/fields/actionField.mjs
+++ b/module/data/fields/actionField.mjs
@@ -270,9 +270,6 @@ export function ActionMixin(Base) {
}
async toChat(origin, config) {
- const autoExpandDescription = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance)
- .expandRollMessage?.desc;
-
const cls = getDocumentClass('ChatMessage');
const systemData = {
title: game.i18n.localize('DAGGERHEART.CONFIG.FeatureForm.action'),
@@ -307,7 +304,7 @@ export function ActionMixin(Base) {
system: systemData,
content: await foundry.applications.handlebars.renderTemplate(
'systems/daggerheart/templates/ui/chat/action.hbs',
- { ...systemData, open: autoExpandDescription ? 'open' : '' }
+ systemData
),
flags: {
daggerheart: {
diff --git a/module/documents/chatMessage.mjs b/module/documents/chatMessage.mjs
index fd68997c..d53a76bd 100644
--- a/module/documents/chatMessage.mjs
+++ b/module/documents/chatMessage.mjs
@@ -3,6 +3,13 @@ import { emitGMUpdate, emitGMCreate, GMUpdateEvent } from '../systemRegistration
export default class DhpChatMessage extends foundry.documents.ChatMessage {
targetHook = null;
+ static #EXPAND_SECTIONS = [
+ { selector: 'roll-section [data-action="expandRoll"]', key: 'roll' },
+ { selector: 'damage-section', key: 'damage' },
+ { selector: 'target-section', key: 'target' },
+ { selector: 'description-section', key: 'desc' }
+ ];
+
async renderHTML() {
const actor = game.actors.get(this.speaker.actor);
const actorData =
@@ -89,23 +96,26 @@ export default class DhpChatMessage extends foundry.documents.ChatMessage {
}
}
+ // Check registered selectors and the main item section for expanding
+ // Preserving during re-render is handled by core foundry on anything with [data-action=expandRoll]
const autoExpandRoll = game.settings.get(
- CONFIG.DH.id,
- CONFIG.DH.SETTINGS.gameSettings.appearance
- ).expandRollMessage,
- rollSections = html.querySelectorAll('.roll-part'),
- itemDesc = html.querySelector('.domain-card-move');
- rollSections.forEach(s => {
- if (s.classList.contains('roll-section')) {
- const toExpand = s.querySelector('[data-action="expandRoll"]');
- toExpand.classList.toggle('expanded', autoExpandRoll.roll);
- } else if (s.classList.contains('damage-section'))
- s.classList.toggle('expanded', autoExpandRoll.damage);
- else if (s.classList.contains('target-section')) s.classList.toggle('expanded', autoExpandRoll.target);
- else if (s.classList.contains('description-section'))
- s.classList.toggle('expanded', autoExpandRoll.desc);
- });
- if (itemDesc && autoExpandRoll.desc) itemDesc.setAttribute('open', '');
+ CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance
+ ).expandRollMessage;
+ for (const { selector, key } of DhpChatMessage.#EXPAND_SECTIONS) {
+ const elements = html.querySelectorAll(selector);
+ for (const element of elements) {
+ element.classList.toggle('expanded', autoExpandRoll[key]);
+ }
+ }
+
+ // Auto expand the item description. These are not preserved by foundry during re-renders
+ const itemDesc = html.querySelector('details');
+ if (itemDesc) {
+ const existing = document.querySelector(`.chat-message[data-message-id="${this.id}"] details`);
+ if (existing?.hasAttribute('open') ?? autoExpandRoll.desc) {
+ itemDesc.setAttribute('open', '');
+ }
+ }
}
if (!this.isAuthor && !this.speakerActor?.isOwner) {
From 0c2d25787182f6ae9145ae0f8e4ba7592320e793 Mon Sep 17 00:00:00 2001
From: WBHarry
Date: Tue, 14 Jul 2026 14:36:56 +0200
Subject: [PATCH 29/34] Raised version
---
system.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/system.json b/system.json
index 37242137..93b1dea7 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.3",
+ "version": "2.5.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.5.3/system.zip",
+ "download": "https://github.com/Foundryborne/daggerheart/releases/download/2.5.4/system.zip",
"authors": [
{
"name": "WBHarry"
From 79d652261459eeed358ff597154e36c7e8fa9cd6 Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Tue, 14 Jul 2026 08:39:53 -0400
Subject: [PATCH 30/34] [Feature] Add support for GM Notes (#2082)
* Add support for GM Notes
* Localize GM Notes header label
* Fix active editor height and menu auto sizing
* Add tooltip to add gm note button
---
daggerheart.mjs | 4 +
lang/en.json | 6 ++
module/applications/sheets/api/base-item.mjs | 52 ++++++++++++-
module/data/item/base.mjs | 23 ++++--
styles/less/global/elements.less | 36 ++++++++-
styles/less/global/feature-section.less | 2 +-
styles/less/global/global.less | 4 +
styles/less/global/item-header.less | 35 +++++----
styles/less/global/tab-description.less | 77 ++++++++++++++++++-
.../sheets/actors/actor-sheet-shared.less | 4 -
styles/less/sheets/items/beastform.less | 9 +++
styles/less/sheets/items/feature.less | 10 +--
styles/less/sheets/items/index.less | 4 +-
.../less/sheets/items/item-sheet-shared.less | 20 ++++-
styles/less/utils/mixin.less | 2 +-
system.json | 20 ++---
.../sheets/global/tabs/tab-description.hbs | 34 +++++---
17 files changed, 278 insertions(+), 64 deletions(-)
diff --git a/daggerheart.mjs b/daggerheart.mjs
index 63127aa4..f91eedbe 100644
--- a/daggerheart.mjs
+++ b/daggerheart.mjs
@@ -267,6 +267,10 @@ Hooks.on('i18nInit', () => {
});
Hooks.on('setup', () => {
+ if (game.user.isGM) {
+ document.body.dataset.gm = true;
+ }
+
CONFIG.statusEffects = [
...CONFIG.statusEffects.filter(x => !['dead', 'unconscious'].includes(x.id)),
...Object.values(SYSTEM.GENERAL.conditions()).map(x => ({
diff --git a/lang/en.json b/lang/en.json
index 99b6baeb..508a771d 100755
--- a/lang/en.json
+++ b/lang/en.json
@@ -2550,6 +2550,9 @@
},
"identifier": {
"label": "Identifier"
+ },
+ "gmNotes": {
+ "label": "GM Notes"
}
},
"Ancestry": {
@@ -2565,6 +2568,9 @@
"severe": "Severe Threshold"
}
},
+ "Base": {
+ "addGMNote": "Add GM Note"
+ },
"Beastform": {
"FIELDS": {
"beastformType": { "label": "Beastform Type" },
diff --git a/module/applications/sheets/api/base-item.mjs b/module/applications/sheets/api/base-item.mjs
index 1e08fc05..70a6bcc6 100644
--- a/module/applications/sheets/api/base-item.mjs
+++ b/module/applications/sheets/api/base-item.mjs
@@ -30,7 +30,8 @@ export default class DHBaseItemSheet extends DHApplicationMixin(ItemSheetV2) {
addFeature: DHBaseItemSheet.#addFeature,
deleteFeature: DHBaseItemSheet.#deleteFeature,
addResource: DHBaseItemSheet.#addResource,
- removeResource: DHBaseItemSheet.#removeResource
+ removeResource: DHBaseItemSheet.#removeResource,
+ editGMNote: DHBaseItemSheet.#onEditGMNote
},
dragDrop: [
{ dragSelector: null, dropSelector: '.drop-section' },
@@ -76,10 +77,16 @@ export default class DHBaseItemSheet extends DHApplicationMixin(ItemSheetV2) {
/**@inheritdoc */
async _preparePartContext(partId, context, options) {
await super._preparePartContext(partId, context, options);
+ const TextEditor = foundry.applications.ux.TextEditor.implementation;
switch (partId) {
case 'description':
- context.enrichedDescription = await this.document.system.getEnrichedDescription();
+ context.enrichedDescription = await this.document.system.getEnrichedDescription({ gmNotes: false });
+ context.enrichedGMNotes = await TextEditor.implementation.enrichHTML(this.item.system.gmNotes, {
+ relativeTo: this.item,
+ rollData: this.item.getRollData(),
+ secrets: this.item.isOwner
+ })
break;
case 'effects':
await this._prepareEffectsContext(context, options);
@@ -331,4 +338,45 @@ export default class DHBaseItemSheet extends DHApplicationMixin(ItemSheetV2) {
}
}
}
+
+ /**
+ * Handles the Add GM Note button being pressed. This is only used when an item has no GM notes.
+ * Later edits to a GM note instead go through the normal editor toggle workflow.
+ * @this DHBaseItemSheet
+ */
+ static #onEditGMNote() {
+ // Open the editor, which might be hidden. We remove the css class to hide temporarily
+ // so that menu auto resizing functions properly.
+ const editor = this.element.querySelector('prose-mirror[name="system.gmNotes"]');
+ const wasHidden = editor.classList.contains('hide-if-inactive');
+ editor.classList.remove('hide-if-inactive');
+ editor.open = true;
+ window.setTimeout(() => {
+ if (wasHidden) editor.classList.add('hide-if-inactive');
+ }, 0);
+ }
+
+ /** @inheritdoc */
+ async _onRender(context, options) {
+ await super._onRender(context, options);
+
+ // Render an add gmnotes button if there are no set GM notes.
+ // We need to re-render on close since its possible to prosemirror to close *without* triggering a full re-render
+ if (game.user.isGM && !this.item.system.gmNotes) {
+ const description = this.element.querySelector('[name="system.description"]');
+ const addButton = () => {
+ if (description.querySelector('[data-action=editGMNote]')) return;
+
+ const button = document.createElement('button');
+ button.type = 'button';
+ button.classList.add('icon', 'toggle', 'fa-regular', 'fa-note-medical');
+ button.dataset.action = 'editGMNote';
+ button.dataset.tooltip = 'DAGGERHEART.ITEMS.Base.addGMNote';
+ description.appendChild(button);
+ }
+
+ addButton();
+ description.addEventListener('close', () => addButton());
+ }
+ }
}
diff --git a/module/data/item/base.mjs b/module/data/item/base.mjs
index 131ef10f..095ba8f2 100644
--- a/module/data/item/base.mjs
+++ b/module/data/item/base.mjs
@@ -49,7 +49,10 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel {
})
};
- if (this.metadata.hasDescription) schema.description = new fields.HTMLField({ required: true, nullable: true });
+ if (this.metadata.hasDescription) {
+ schema.description = new fields.HTMLField({ required: true, nullable: true });
+ schema.gmNotes = new fields.HTMLField({ required: true, nullable: true });
+ }
if (this.metadata.hasResource) {
schema.resource = new fields.SchemaField(
@@ -134,7 +137,7 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel {
/**
* Augments the description for the item with type specific info to display. Implemented in applicable item subtypes.
* @param {object} [options] - Options that modify the styling of the rendered template. { headerStyle: undefined|'none'|'large' }
- * @returns {string}
+ * @returns {Promise<{ prefix: string | null; value: string | null; suffix: string | null }>}
*/
async getDescriptionData(_options) {
return { prefix: null, value: this.description, suffix: null };
@@ -145,14 +148,24 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel {
* @param {object} [options] - Options that modify the styling of the rendered template. { headerStyle: undefined|'none'|'large' }
* @returns {Promise}
*/
- async getEnrichedDescription() {
+ async getEnrichedDescription({ gmNotes = true } = {}) {
if (!this.metadata.hasDescription) return '';
const { prefix, value, suffix } = await this.getDescriptionData();
- const fullDescription = [prefix, value, suffix].filter(p => !!p).join('\n \n');
+ let fullDescription = [prefix, value, suffix].filter(p => !!p).join('\n \n');
+ if (this.gmNotes && gmNotes) {
+ const gmNotesElement = document.createElement('section');
+ gmNotesElement.classList.add('gm-notes-section');
+ gmNotesElement.dataset.visibility = 'gm';
+ const header = document.createElement('header');
+ header.classList.add('gm-notes');
+ header.textContent = _loc('DAGGERHEART.ITEMS.FIELDS.gmNotes.label');
+ gmNotesElement.innerHTML = header.outerHTML + this.gmNotes;
+ fullDescription += gmNotesElement.outerHTML;
+ }
return await foundry.applications.ux.TextEditor.implementation.enrichHTML(fullDescription, {
- relativeTo: this,
+ relativeTo: this.parent,
rollData: this.getRollData(),
secrets: this.parent.isOwner
});
diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less
index 1b7ed072..d31e09b9 100755
--- a/styles/less/global/elements.less
+++ b/styles/less/global/elements.less
@@ -595,7 +595,37 @@
margin-top: 4px;
color: light-dark(#14142599, #efe6d850);
font-size: var(--font-size-12);
- padding-left: 3px;
+ padding-left: 16px;
+ }
+
+ section.gm-notes-section {
+ padding-bottom: var(--spacer-4);
+ header.gm-notes + p {
+ margin-top: 0;
+ }
+ }
+
+ header.gm-notes {
+ position: relative;
+ display: flex;
+ gap: 6px;
+ align-items: center;
+ &::before,
+ &::after {
+ content: " ";
+ flex: 1;
+ border-bottom: 1px solid var(--color-dark-6);
+ }
+ &::before {
+ mask-image: linear-gradient(270deg, black 0%, black calc(100% - 10px), transparent 100%);
+ }
+ &::after {
+ mask-image: linear-gradient(270deg, transparent 0%, black 10px, black 100%);
+ }
+ margin-top: var(--spacer-8);
+ margin-bottom: var(--spacer-4);
+ font-size: var(--font-size-11);
+ text-transform: uppercase;
}
secret-block {
@@ -866,4 +896,8 @@
right: 2px;
}
}
+
+ .gm-notes {
+ font-style: italic;
+ }
}
diff --git a/styles/less/global/feature-section.less b/styles/less/global/feature-section.less
index 2fd4e20f..ecfb4ff6 100644
--- a/styles/less/global/feature-section.less
+++ b/styles/less/global/feature-section.less
@@ -3,7 +3,7 @@
.sheet.daggerheart.dh-style.item {
.tab.features {
- padding: 0 10px;
+ padding: 7px 10px;
overflow-y: auto;
.feature-list {
display: flex;
diff --git a/styles/less/global/global.less b/styles/less/global/global.less
index 19a9e519..2c44c94e 100644
--- a/styles/less/global/global.less
+++ b/styles/less/global/global.less
@@ -111,3 +111,7 @@ body.theme-light,
.themed.theme-light {
color-scheme: light;
}
+
+body:not([data-gm=true]) [data-visibility="gm"] {
+ display: none;
+}
\ No newline at end of file
diff --git a/styles/less/global/item-header.less b/styles/less/global/item-header.less
index f47ca7dc..1a8d7fce 100755
--- a/styles/less/global/item-header.less
+++ b/styles/less/global/item-header.less
@@ -12,12 +12,14 @@
});
.application.sheet.daggerheart.dh-style {
+ --portrait-size: 150px;
+
.item-sheet-header {
display: flex;
.profile {
- height: 150px;
- width: 150px;
+ height: var(--portrait-size);
+ width: var(--portrait-size);
object-fit: cover;
border-right: 1px solid light-dark(@dark-blue, @golden);
border-bottom: 1px solid light-dark(@dark-blue, @golden);
@@ -34,19 +36,24 @@
text-align: center;
width: 80%;
- .item-name input[type='text'] {
- font-size: var(--font-size-32);
- height: 42px;
- text-align: center;
- width: 90%;
- transition: all 0.3s ease;
- outline: 2px solid transparent;
- border: 1px solid transparent;
+ .item-name {
+ display: flex;
+ flex-direction: column;
+ margin: 10px 10px 0 10px;
+ input[type='text'] {
+ font-size: var(--font-size-30);
+ text-align: center;
+ width: 100%;
+ transition: all 0.3s ease;
+ outline: 2px solid transparent;
+ border: 1px solid transparent;
+ text-overflow: ellipsis;
- &:hover[type='text'],
- &:focus[type='text'] {
- box-shadow: none;
- outline: 2px solid light-dark(@dark-blue, @golden);
+ &:hover[type='text'],
+ &:focus[type='text'] {
+ box-shadow: none;
+ outline: 2px solid light-dark(@dark-blue, @golden);
+ }
}
}
diff --git a/styles/less/global/tab-description.less b/styles/less/global/tab-description.less
index 5c18e02b..e2869723 100644
--- a/styles/less/global/tab-description.less
+++ b/styles/less/global/tab-description.less
@@ -6,11 +6,80 @@
display: flex;
flex-direction: column;
flex: 1;
- overflow-y: hidden !important;
- padding-top: 10px;
+ overflow: hidden;
+ padding: 0;
+ margin: 0;
- prose-mirror.active + .artist-attribution {
- display: none;
+ .description-section {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ overflow: auto;
+ padding: 12px 16px 4px 16px;
+ .with-scroll-shadows();
+ prose-mirror {
+ button.toggle {
+ top: 0px;
+ right: 0;
+ }
+ button[data-action=editGMNote] {
+ right: calc(var(--button-size) + 4px);
+ }
+ &.inactive {
+ height: unset!important;
+ overflow: unset;
+ .editor-content {
+ position: relative;
+ overflow: unset;
+
+ // Allows content links to peek out
+ margin-top: -4px;
+ padding: 4px 0 0 0;
+ }
+ }
+ &.active {
+ --min-height: 250px;
+ padding: 8px 0 0 16px;
+ button[data-action=editGMNote] {
+ display: none;
+ }
+ .editor-content {
+ padding-right: 16px;
+ padding-bottom: 4px;
+ }
+ }
+ }
+ /** Hide editors that are empty when inactive if we need them to be */
+ prose-mirror.inactive.hide-if-inactive {
+ display: none;
+ }
+ &:has(prose-mirror.active) {
+ padding: 0;
+ }
+ /** Description should fill available room (with overriden exceptions) */
+ prose-mirror[name="system.description"] {
+ flex: 1 0;
+ }
+ &:has(prose-mirror[name="system.gmNotes"]:not(.hide-if-inactive)) {
+ prose-mirror.inactive {
+ --min-height: 3rem;
+ &[name="system.description"] {
+ flex: 0 0;
+ }
+ &[name="system.gmNotes"] {
+ flex: 1 0;
+ }
+ }
+ }
+ }
+
+ /** Hide other elements if an editor is open */
+ &:has(prose-mirror.active) {
+ prose-mirror.inactive,
+ header.gm-notes,
+ .artist-attribution {
+ display: none;
+ }
}
}
}
diff --git a/styles/less/sheets/actors/actor-sheet-shared.less b/styles/less/sheets/actors/actor-sheet-shared.less
index 3e233013..a464d7a1 100644
--- a/styles/less/sheets/actors/actor-sheet-shared.less
+++ b/styles/less/sheets/actors/actor-sheet-shared.less
@@ -93,10 +93,6 @@
padding: 8px 0 0 16px;
}
}
-
- .artist-attribution {
- padding-left: 16px;
- }
}
.search-section {
diff --git a/styles/less/sheets/items/beastform.less b/styles/less/sheets/items/beastform.less
index 100b024a..017c4ef0 100644
--- a/styles/less/sheets/items/beastform.less
+++ b/styles/less/sheets/items/beastform.less
@@ -1,4 +1,6 @@
.application.sheet.daggerheart.dh-style.beastform {
+ --portrait-size: 130px;
+
.settings.tab {
.advantage-on-section {
display: flex;
@@ -9,4 +11,11 @@
font-style: italic;
}
}
+ .tab.features.active {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ padding: 8px calc(12px - var(--scrollbar-width)) 4px 12px;
+ .stable-scroll-container();
+ }
}
diff --git a/styles/less/sheets/items/feature.less b/styles/less/sheets/items/feature.less
index f3c7cd49..9166fac1 100644
--- a/styles/less/sheets/items/feature.less
+++ b/styles/less/sheets/items/feature.less
@@ -2,17 +2,9 @@
@import '../../utils/fonts.less';
.application.sheet.daggerheart.dh-style.feature {
- .item-sheet-header {
- display: flex;
-
- .profile {
- height: 130px;
- width: 130px;
- }
- }
+ --portrait-size: 130px;
section.tab {
- height: 400px;
overflow-y: auto;
}
}
diff --git a/styles/less/sheets/items/index.less b/styles/less/sheets/items/index.less
index 7c40a2e3..7f9bb684 100644
--- a/styles/less/sheets/items/index.less
+++ b/styles/less/sheets/items/index.less
@@ -1,6 +1,6 @@
+@import './item-sheet-shared.less';
@import './beastform.less';
@import './class.less';
@import './domain-card.less';
@import './feature.less';
-@import './heritage.less';
-@import './item-sheet-shared.less';
\ No newline at end of file
+@import './heritage.less';
\ No newline at end of file
diff --git a/styles/less/sheets/items/item-sheet-shared.less b/styles/less/sheets/items/item-sheet-shared.less
index 5155ad70..63846b8e 100644
--- a/styles/less/sheets/items/item-sheet-shared.less
+++ b/styles/less/sheets/items/item-sheet-shared.less
@@ -1,4 +1,4 @@
-.application.sheet.daggerheart.dh-style.item {
+.item.daggerheart.dh-style:where(.application.sheet) {
&.minimized {
.attribution-header-label {
display: none;
@@ -14,4 +14,22 @@
button.plain.inline-control {
flex: 0 0 auto;
}
+
+ .tab-navigation {
+ margin-bottom: 0;
+ }
+
+ /** Default tab stylings */
+ .tab.active {
+ padding-top: 8px;
+ .with-scroll-shadows();
+
+ &.effects {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ padding: 8px calc(12px - var(--scrollbar-width)) 4px 12px;
+ .stable-scroll-container();
+ }
+ }
}
diff --git a/styles/less/utils/mixin.less b/styles/less/utils/mixin.less
index fb70d0a3..429fb3ef 100644
--- a/styles/less/utils/mixin.less
+++ b/styles/less/utils/mixin.less
@@ -226,7 +226,7 @@
ul,
ol {
- margin: 1rem 0;
+ margin: 0.5rem 0;
padding: 0 0 0 1.25rem;
li {
diff --git a/system.json b/system.json
index 93b1dea7..214ab2ee 100644
--- a/system.json
+++ b/system.json
@@ -256,34 +256,34 @@
},
"Item": {
"ancestry": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"community": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"class": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"subclass": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"feature": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"domainCard": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"loot": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"consumable": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"weapon": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"armor": {
- "htmlFields": ["description"]
+ "htmlFields": ["description", "gmNotes"]
},
"beastform": {}
},
diff --git a/templates/sheets/global/tabs/tab-description.hbs b/templates/sheets/global/tabs/tab-description.hbs
index 71995a51..3fdf1a93 100755
--- a/templates/sheets/global/tabs/tab-description.hbs
+++ b/templates/sheets/global/tabs/tab-description.hbs
@@ -1,11 +1,25 @@
-
- {{formInput systemFields.description value=document.system.description enriched=enrichedDescription toggled=true}}
-
- {{#if (and showAttribution document.system.attribution.artist)}}
- {{localize "DAGGERHEART.GENERAL.artistAttribution" artist=document.system.attribution.artist}}
- {{/if}}
+
+
+ {{formInput systemFields.description value=document.system.description enriched=enrichedDescription toggled=true}}
+ {{#if (and systemFields.gmNotes @root.user.isGM)}}
+
+ {{#if enrichedGMNotes}}
+ {{localize "DAGGERHEART.ITEMS.FIELDS.gmNotes.label"}}
+ {{/if}}
+ {{{enrichedGMNotes}}}
+
+ {{/if}}
+
+ {{#if (and showAttribution document.system.attribution.artist)}}
+ {{localize "DAGGERHEART.GENERAL.artistAttribution" artist=document.system.attribution.artist}}
+ {{/if}}
\ No newline at end of file
From d76b4bb707fbfad3412c3a14882eeb7f4c4bcf64 Mon Sep 17 00:00:00 2001
From: Carlos Fernandez
Date: Sat, 18 Jul 2026 05:42:50 -0400
Subject: [PATCH 31/34] Fix chat being jumpy as timestamps get longer (#2095)
---
styles/less/global/chat.less | 87 +++++++++++++++++++-----------
templates/ui/chat/chat-message.hbs | 41 +++++++-------
2 files changed, 79 insertions(+), 49 deletions(-)
diff --git a/styles/less/global/chat.less b/styles/less/global/chat.less
index b9478ea4..4e29cfff 100644
--- a/styles/less/global/chat.less
+++ b/styles/less/global/chat.less
@@ -7,12 +7,12 @@
.chat-log .chat-message {
background-image: url('../assets/parchments/dh-parchment-light.png');
- .message-header .message-header-metadata .message-metadata,
- .message-header .message-header-main .message-sub-header-container {
+ .message-header .message-header-main .message-metadata,
+ .message-header .message-header-main .name {
color: @dark;
}
- .message-header .message-header-main .message-sub-header-container h4 {
+ .message-header .message-header-main h4 {
color: @dark-blue;
}
@@ -42,27 +42,12 @@
.message-header {
display: flex;
- gap: 4px;
+ gap: 8px;
padding: 8px;
+ align-items: center;
- .message-header-metadata {
- flex: none;
- display: flex;
- flex-direction: column;
-
- .message-metadata {
- font-family: @font-body;
- color: @beige;
- }
- }
-
- .message-header-main {
- display: flex;
- align-items: center;
- gap: 8px;
- flex: 1;
- overflow: hidden;
-
+ .portrait {
+ flex: 0 0 auto;
.actor-img {
border-radius: 50%;
width: 40px;
@@ -70,20 +55,60 @@
object-fit: cover;
object-position: top center;
}
+ }
- .message-sub-header-container {
+ .message-header-main {
+ display: flex;
+ align-items: center;
+ column-gap: 4px;
+ row-gap: 2px;
+ flex: 1;
+ overflow: hidden;
+
+ display: grid;
+ grid-template:
+ "title metadata"
+ "subtitle subtitle";
+
+ h4 {
+ font-size: var(--font-size-16);
+ font-weight: bold;
+ margin-bottom: 0;
+ font-family: @font-subtitle;
+ color: @golden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ flex: 1;
+ overflow: hidden;
+ align-self: flex-end;
+ }
+
+ .message-metadata {
+ font-family: @font-body;
+ color: @beige;
+ white-space: nowrap;
+ align-items: baseline;
+ .message-timestamp {
+ font-size: var(--font-size-11);
+ }
+ }
+
+ .subtitle {
+ grid-area: subtitle;
flex: 1;
display: flex;
- flex-direction: column;
justify-content: space-between;
color: @beige;
-
- h4 {
- font-size: var(--font-size-16);
- font-weight: bold;
- margin-bottom: 0;
- font-family: @font-subtitle;
- color: @golden;
+ gap: 4px;
+ align-items: baseline;
+ line-height: 1;
+ .name {
+ flex: 1;
+ }
+ .whisper-to {
+ color: @color-text-subtle;
+ flex: 0;
+ white-space: nowrap;
}
}
}
diff --git a/templates/ui/chat/chat-message.hbs b/templates/ui/chat/chat-message.hbs
index 87ecce39..92490cec 100644
--- a/templates/ui/chat/chat-message.hbs
+++ b/templates/ui/chat/chat-message.hbs
@@ -1,23 +1,18 @@