diff --git a/lang/en.json b/lang/en.json
index 1d4544b9..47d2d0ef 100755
--- a/lang/en.json
+++ b/lang/en.json
@@ -623,11 +623,6 @@
}
},
"CONFIG": {
- "ActionType": {
- "passive": "Passive",
- "action": "Action",
- "reaction": "Reaction"
- },
"AdversaryTrait": {
"relentless": {
"name": "Relentless",
@@ -1036,6 +1031,12 @@
"description": ""
}
},
+ "FeatureForm": {
+ "label": "Feature Form",
+ "passive": "Passive",
+ "action": "Action",
+ "reaction": "Reaction"
+ },
"Gold": {
"title": "Gold",
"coins": "Coins",
@@ -2105,6 +2106,7 @@
"fear": "Fear",
"features": "Features",
"formula": "Formula",
+ "general": "General",
"gm": "GM",
"healing": "Healing",
"healingRoll": "Healing Roll",
diff --git a/module/applications/sheets/api/application-mixin.mjs b/module/applications/sheets/api/application-mixin.mjs
index b11fc779..619305f1 100644
--- a/module/applications/sheets/api/application-mixin.mjs
+++ b/module/applications/sheets/api/application-mixin.mjs
@@ -179,6 +179,7 @@ export default function DHApplicationMixin(Base) {
super._attachPartListeners(partId, htmlElement, options);
this._dragDrop.forEach(d => d.bind(htmlElement));
+ // Handle delta inputs
for (const deltaInput of htmlElement.querySelectorAll('input[data-allow-delta]')) {
deltaInput.dataset.numValue = deltaInput.value;
deltaInput.inputMode = 'numeric';
@@ -232,6 +233,25 @@ export default function DHApplicationMixin(Base) {
handleUpdate();
});
}
+
+ // Handle contenteditable
+ for (const input of htmlElement.querySelectorAll('[contenteditable][data-property]')) {
+ const property = input.dataset.property;
+ input.addEventListener("blur", () => {
+ const selection = document.getSelection();
+ if (input.contains(selection.anchorNode)) {
+ selection.empty();
+ }
+ this.document.update({ [property]: input.textContent });
+ });
+
+ input.addEventListener("keydown", event => {
+ if (event.key === "Enter") input.blur();
+ });
+
+ // Chrome sometimes add
, which aren't a problem for the value but are for the placeholder
+ input.addEventListener("input", () => input.querySelectorAll("br").forEach((i) => i.remove()));
+ }
}
/**@inheritdoc */
diff --git a/module/applications/sheets/items/feature.mjs b/module/applications/sheets/items/feature.mjs
index 1575067b..6ff98ca7 100644
--- a/module/applications/sheets/items/feature.mjs
+++ b/module/applications/sheets/items/feature.mjs
@@ -31,4 +31,11 @@ export default class FeatureSheet extends DHBaseItemSheet {
labelPrefix: 'DAGGERHEART.GENERAL.Tabs'
}
};
+//Might be wrong location but testing out if here is okay.
+ /**@override */
+ async _prepareContext(options) {
+ const context = await super._prepareContext(options);
+ context.featureFormChoices = CONFIG.DH.ITEM.featureForm;
+ return context;
+ }
}
diff --git a/module/applications/ui/combatTracker.mjs b/module/applications/ui/combatTracker.mjs
index 2ed0e52b..babc4a65 100644
--- a/module/applications/ui/combatTracker.mjs
+++ b/module/applications/ui/combatTracker.mjs
@@ -5,8 +5,7 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C
actions: {
requestSpotlight: this.requestSpotlight,
toggleSpotlight: this.toggleSpotlight,
- setActionTokens: this.setActionTokens,
- openCountdowns: this.openCountdowns
+ setActionTokens: this.setActionTokens
}
};
@@ -57,7 +56,10 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C
const adversaries = context.turns?.filter(x => x.isNPC) ?? [];
const characters = context.turns?.filter(x => !x.isNPC) ?? [];
- const spotlightQueueEnabled = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.SpotlightRequestQueue);
+ const spotlightQueueEnabled = game.settings.get(
+ CONFIG.DH.id,
+ CONFIG.DH.SETTINGS.gameSettings.SpotlightRequestQueue
+ );
const spotlightRequests = characters
?.filter(x => !x.isNPC && spotlightQueueEnabled)
@@ -71,7 +73,9 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C
Object.assign(context, {
actionTokens: game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.variantRules).actionTokens,
adversaries,
- characters: characters?.filter(x => !x.isNPC).filter(x => !spotlightQueueEnabled || x.system.spotlight.requestOrderIndex == 0),
+ characters: characters
+ ?.filter(x => !x.isNPC)
+ .filter(x => !spotlightQueueEnabled || x.system.spotlight.requestOrderIndex == 0),
spotlightRequests
});
}
@@ -162,8 +166,10 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C
if (this.viewed.turn !== toggleTurn) {
const { updateCountdowns } = game.system.api.applications.ui.DhCountdowns;
if (combatant.actor.type === 'character') {
- await updateCountdowns(CONFIG.DH.GENERAL.countdownProgressionTypes.spotlight.id,
- CONFIG.DH.GENERAL.countdownProgressionTypes.characterSpotlight.id);
+ await updateCountdowns(
+ CONFIG.DH.GENERAL.countdownProgressionTypes.spotlight.id,
+ CONFIG.DH.GENERAL.countdownProgressionTypes.characterSpotlight.id
+ );
} else {
await updateCountdowns(CONFIG.DH.GENERAL.countdownProgressionTypes.spotlight.id);
}
diff --git a/module/config/encounterConfig.mjs b/module/config/encounterConfig.mjs
index 0269b5c1..7565652f 100644
--- a/module/config/encounterConfig.mjs
+++ b/module/config/encounterConfig.mjs
@@ -84,6 +84,7 @@ export const BPModifiers = {
increaseDamage: {
sort: 2,
description: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.description',
+ effectTargetTypes: ['adversary'],
effects: [
{
name: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.name',
diff --git a/module/config/itemConfig.mjs b/module/config/itemConfig.mjs
index a9ad1d68..02914143 100644
--- a/module/config/itemConfig.mjs
+++ b/module/config/itemConfig.mjs
@@ -5,7 +5,6 @@ export const armorFeatures = {
actions: [
{
type: 'damage',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.ArmorFeature.burning.actions.burn.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.burning.actions.burn.description',
@@ -174,7 +173,6 @@ export const armorFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.ArmorFeature.hopeful.actions.hope.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.hopeful.actions.hope.description',
@@ -188,7 +186,6 @@ export const armorFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.ArmorFeature.impenetrable.actions.impenetrable.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.impenetrable.actions.impenetrable.description',
@@ -231,7 +228,6 @@ export const armorFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.ArmorFeature.painful.actions.pain.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.painful.actions.pain.description',
@@ -269,7 +265,6 @@ export const armorFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.ArmorFeature.quiet.actions.quiet.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.quiet.actions.quiet.description',
@@ -306,7 +301,6 @@ export const armorFeatures = {
actions: [
{
type: 'attack',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.ArmorFeature.resilient.actions.resilient.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.resilient.actions.resilient.description',
@@ -353,7 +347,6 @@ export const armorFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.ArmorFeature.shifting.actions.shift.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.shifting.actions.shift.description',
@@ -373,7 +366,6 @@ export const armorFeatures = {
actions: [
{
type: 'attack',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.ArmorFeature.timeslowing.actions.slowTime.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.timeslowing.actions.slowTime.description',
@@ -401,7 +393,6 @@ export const armorFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.ArmorFeature.truthseeking.actions.truthseeking.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.truthseeking.actions.truthseeking.description',
@@ -537,7 +528,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.bouncing.actions.bounce.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.bouncing.actions.bounce.description',
@@ -582,7 +572,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.brutal.actions.addDamage.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.brutal.actions.addDamage.description',
@@ -596,7 +585,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.burning.actions.burn.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.burning.actions.burn.description',
@@ -610,7 +598,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.charged.actions.markStress.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.charged.actions.markStress.description',
@@ -647,7 +634,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.concussive.actions.attack.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.concussive.actions.attack.description',
@@ -688,7 +674,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.deadly.actions.extraDamage.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.deadly.actions.extraDamage.description',
@@ -702,7 +687,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.actions.deflect.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.actions.deflect.description',
@@ -739,7 +723,6 @@ export const weaponFeatures = {
actions: [
{
type: 'damage',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.actions.attack.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.actions.attack.descriptive',
@@ -784,7 +767,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.devastating.actions.devastate.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.devastating.actions.devastate.description',
@@ -835,7 +817,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.doubledUp.actions.doubleUp.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.doubledUp.actions.doubleUp.description',
@@ -849,7 +830,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.dueling.actions.duel.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.dueling.actions.duel.description',
@@ -863,7 +843,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect', // Should prompt a dc 14 reaction save on adversaries
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.eruptive.actions.erupt.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.eruptive.actions.erupt.description',
@@ -877,7 +856,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.grappling.actions.grapple.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.grappling.actions.grapple.description',
@@ -897,7 +875,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.description',
@@ -929,7 +906,6 @@ export const weaponFeatures = {
actions: [
{
type: 'healing',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.healing.actions.heal.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.healing.actions.heal.description',
@@ -977,7 +953,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.hooked.actions.hook.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.hooked.actions.hook.description',
@@ -991,7 +966,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.hot.actions.hot.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.hot.actions.hot.description',
@@ -1005,7 +979,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.invigorating.actions.invigorate.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.invigorating.actions.invigorate.description',
@@ -1019,7 +992,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.lifestealing.actions.lifesteal.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.lifestealing.actions.lifesteal.description',
@@ -1033,7 +1005,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.lockedOn.actions.lockOn.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.lockedOn.actions.lockOn.description',
@@ -1047,7 +1018,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.long.actions.long.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.long.actions.long.description',
@@ -1061,7 +1031,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.lucky.actions.luck.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.lucky.actions.luck.description',
@@ -1099,7 +1068,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.painful.actions.pain.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.painful.actions.pain.description',
@@ -1145,7 +1113,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.parry.actions.parry.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.parry.actions.parry.description',
@@ -1159,7 +1126,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.actions.persuade.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.actions.persuade.description',
@@ -1196,7 +1162,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.pompous.actions.pompous.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.pompous.actions.pompous.description',
@@ -1240,7 +1205,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.quick.actions.quick.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.quick.actions.quick.description',
@@ -1278,7 +1242,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.reloading.actions.reload.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.reloading.actions.reload.description',
@@ -1292,7 +1255,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.retractable.actions.retract.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.retractable.actions.retract.description',
@@ -1306,7 +1268,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.returning.actions.return.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.returning.actions.return.description',
@@ -1320,7 +1281,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.scary.actions.scare.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.scary.actions.scare.description',
@@ -1376,7 +1336,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.sheltering.actions.shelter.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.sheltering.actions.shelter.description',
@@ -1390,7 +1349,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.startling.actions.startle.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.startling.actions.startle.description',
@@ -1410,7 +1368,6 @@ export const weaponFeatures = {
actions: [
{
type: 'effect',
- actionType: 'action',
chatDisplay: true,
name: 'DAGGERHEART.CONFIG.WeaponFeature.timebending.actions.bendTime.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.timebending.actions.bendTime.description',
@@ -1458,6 +1415,12 @@ export const orderedWeaponFeatures = () => {
return Object.values(all).sort((a, b) => game.i18n.localize(a.label).localeCompare(game.i18n.localize(b.label)));
};
+export const featureForm = {
+ passive: "DAGGERHEART.CONFIG.FeatureForm.passive",
+ action: "DAGGERHEART.CONFIG.FeatureForm.action",
+ reaction: "DAGGERHEART.CONFIG.FeatureForm.reaction"
+};
+
export const featureTypes = {
ancestry: {
id: 'ancestry',
@@ -1515,21 +1478,6 @@ export const featureSubTypes = {
mastery: 'mastery'
};
-export const actionTypes = {
- passive: {
- id: 'passive',
- label: 'DAGGERHEART.CONFIG.ActionType.passive'
- },
- action: {
- id: 'action',
- label: 'DAGGERHEART.CONFIG.ActionType.action'
- },
- reaction: {
- id: 'reaction',
- label: 'DAGGERHEART.CONFIG.ActionType.reaction'
- }
-};
-
export const itemResourceTypes = {
simple: {
id: 'simple',
diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs
index 93de0a2d..b15d6c4e 100644
--- a/module/data/action/baseAction.mjs
+++ b/module/data/action/baseAction.mjs
@@ -193,8 +193,6 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
async use(event) {
if (!this.actor) throw new Error("An Action can't be used outside of an Actor context.");
- if (this.chatDisplay) await this.toChat();
-
let config = this.prepareConfig(event);
if (!config) return;
@@ -211,6 +209,8 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
if (Hooks.call(`${CONFIG.DH.id}.postUseAction`, this, config) === false) return;
+ if (this.chatDisplay) await this.toChat();
+
return config;
}
@@ -324,7 +324,6 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
_getTags() {
const tags = [
game.i18n.localize(`DAGGERHEART.ACTIONS.TYPES.${this.type}.name`),
- game.i18n.localize(`DAGGERHEART.CONFIG.ActionType.${this.actionType}`)
];
return tags;
diff --git a/module/data/fields/actionField.mjs b/module/data/fields/actionField.mjs
index 8661f500..2d968fe0 100644
--- a/module/data/fields/actionField.mjs
+++ b/module/data/fields/actionField.mjs
@@ -141,6 +141,12 @@ export function ActionMixin(Base) {
return this.documentName;
}
+ //Getter for icons
+ get typeIcon() {
+ const config = CONFIG.DH.ACTIONS.actionTypes[this.type];
+ return config?.icon || 'fa-question'; // Fallback icon just in case
+ }
+
get relativeUUID() {
return `.Item.${this.item.id}.Action.${this.id}`;
}
diff --git a/module/data/item/feature.mjs b/module/data/item/feature.mjs
index 3b8fe064..cb01b1fb 100644
--- a/module/data/item/feature.mjs
+++ b/module/data/item/feature.mjs
@@ -30,7 +30,13 @@ export default class DHFeature extends BaseDataItem {
initial: null
}),
multiclassOrigin: new fields.BooleanField({ initial: false }),
- identifier: new fields.StringField()
+ identifier: new fields.StringField(),
+ featureForm: new fields.StringField({
+ required: true,
+ initial: 'passive',
+ choices: CONFIG.DH.ITEM.featureForm,
+ label: 'DAGGERHEART.CONFIG.FeatureForm.label'
+ })
};
}
}
diff --git a/module/documents/actor.mjs b/module/documents/actor.mjs
index fcb0d291..3ac7c27e 100644
--- a/module/documents/actor.mjs
+++ b/module/documents/actor.mjs
@@ -537,7 +537,7 @@ export default class DhpActor extends Actor {
/**@inheritdoc */
getRollData() {
- const rollData = super.getRollData();
+ const rollData = super.getRollData().clone();
rollData.name = this.name;
rollData.system = this.system.getRollData();
rollData.prof = this.system.proficiency ?? 1;
diff --git a/module/documents/combat.mjs b/module/documents/combat.mjs
index 01cbee61..20996b77 100644
--- a/module/documents/combat.mjs
+++ b/module/documents/combat.mjs
@@ -28,6 +28,7 @@ export default class DhpCombat extends Combat {
...effect,
name: game.i18n.localize(effect.name),
description: game.i18n.localize(effect.description),
+ effectTargetTypes: grouping.effectTargetTypes ?? [],
flags: {
[`${CONFIG.DH.id}.${CONFIG.DH.FLAGS.combatToggle}`]: {
category: toggle.category,
@@ -45,11 +46,7 @@ export default class DhpCombat extends Combat {
for (let actor of actors) {
await actor.createEmbeddedDocuments(
'ActiveEffect',
- effects.map(effect => ({
- ...effect,
- name: game.i18n.localize(effect.name),
- description: game.i18n.localize(effect.description)
- }))
+ effects.filter(x => x.effectTargetTypes.includes(actor.type))
);
}
} else {
diff --git a/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json b/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json
index 8060ab72..1d4cf11a 100644
--- a/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json
+++ b/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json
@@ -381,7 +381,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -546,7 +547,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -681,7 +683,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json
index 0e3a89c6..3d1404a7 100644
--- a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json
+++ b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json
@@ -263,7 +263,7 @@
"img": "icons/magic/unholy/silhouette-evil-horned-giant.webp",
"effects": [],
"folder": null,
- "sort": 0,
+ "sort": 100000,
"ownership": {
"default": 0,
"MQSznptE5yLT7kj8": 3
@@ -360,7 +360,7 @@
}
],
"folder": null,
- "sort": 0,
+ "sort": 200000,
"ownership": {
"default": 0,
"MQSznptE5yLT7kj8": 3
@@ -461,13 +461,14 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "BuL6ndgaiJtjaM2T",
"img": "icons/skills/melee/strike-slashes-orange.webp",
"effects": [],
"folder": null,
- "sort": 0,
+ "sort": 300000,
"ownership": {
"default": 0,
"MQSznptE5yLT7kj8": 3
@@ -540,13 +541,14 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "bOTsfXr9yNIGkIzK",
"img": "icons/magic/light/explosion-glow-spiral-yellow.webp",
"effects": [],
"folder": null,
- "sort": 0,
+ "sort": 400000,
"ownership": {
"default": 0,
"MQSznptE5yLT7kj8": 3
@@ -701,13 +703,14 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "49cIxZRFiAM6jDva",
"img": "icons/magic/air/fog-gas-smoke-purple.webp",
"effects": [],
"folder": null,
- "sort": 0,
+ "sort": 500000,
"ownership": {
"default": 0,
"MQSznptE5yLT7kj8": 3
@@ -756,13 +759,14 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "KLdLRKoJHBJlHwYe",
"img": "icons/skills/movement/arrow-upward-yellow.webp",
"effects": [],
"folder": null,
- "sort": 0,
+ "sort": 600000,
"ownership": {
"default": 0,
"MQSznptE5yLT7kj8": 3
@@ -787,7 +791,7 @@
"img": "icons/skills/movement/feet-winged-boots-blue.webp",
"effects": [],
"folder": null,
- "sort": 0,
+ "sort": 700000,
"ownership": {
"default": 0,
"fBcTgyTzoARBvohY": 3
diff --git a/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json b/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json
index 0fd791e0..fbf53d80 100644
--- a/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json
+++ b/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json
@@ -223,7 +223,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "passive"
},
"_id": "2yREz60uPY80tAa4",
"img": "icons/magic/symbols/runes-carved-stone-yellow.webp",
@@ -278,7 +279,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "4wT7CmM1DJEPcraF",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",
diff --git a/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json b/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json
index cbba184b..2962b84c 100644
--- a/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json
+++ b/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json
@@ -289,7 +289,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "jNmMyq5QI2HNgffy",
"img": "icons/magic/death/skull-weapon-staff-glow-pink.webp",
@@ -467,7 +468,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "4EECsXzHFG0RoIg0",
"img": "icons/magic/unholy/projectile-missile-green.webp",
@@ -561,7 +563,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "XxXOrFovbCz9zFxR",
"img": "icons/magic/death/undead-zombie-grave-green.webp",
@@ -640,7 +643,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "k4MSykLRoW3qp7Lk",
"img": "icons/magic/death/skull-horned-worn-fire-blue.webp",
@@ -756,7 +760,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "FKcuCo0v2U7fVkqq",
"img": "icons/magic/unholy/hand-claw-fire-green.webp",
diff --git a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json
index f4520545..bfdee207 100644
--- a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json
+++ b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json
@@ -311,7 +311,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json b/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json
index 00b2462a..88d63721 100644
--- a/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json
+++ b/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json
@@ -328,7 +328,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "Wuf5y9tJ88BwzLv2",
"img": "icons/skills/ranged/arrows-flying-triple-brown.webp",
@@ -425,7 +426,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "ayGHTtyjSuIR4BrV",
"img": "icons/skills/ranged/arrows-flying-salvo-blue.webp",
diff --git a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json
index e887b4ba..b962fe78 100644
--- a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json
+++ b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json
@@ -419,7 +419,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "lAmiK8wVxjyHwKlp",
"img": "icons/magic/air/fog-gas-smoke-green.webp",
diff --git a/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json b/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json
index 49982ae2..b172b646 100644
--- a/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json
+++ b/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json
@@ -342,7 +342,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "ZqfLMjVkbUwDw4p6",
"img": "icons/commodities/tech/transmission.webp",
@@ -441,7 +442,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "lqyN4CQop53BzarW",
"img": "icons/magic/light/beam-rays-blue.webp",
@@ -540,7 +542,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "IHQoqt39T772FVMs",
"img": "icons/magic/fire/explosion-embers-orange.webp",
@@ -644,7 +647,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "XtnByqUr9AuYU9Ip",
"img": "icons/skills/movement/arrow-upward-yellow.webp",
@@ -781,7 +785,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "3bPURmuwQs06fThQ",
"img": "icons/magic/lightning/bolt-strike-embers-teal.webp",
@@ -858,7 +863,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "ijIaKjroxq3xZd9Z",
"img": "icons/magic/sonic/explosion-impact-shock-wave.webp",
@@ -996,7 +1002,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "JCue4ko61bjhedXv",
"img": "icons/creatures/invertebrates/wasp-swarm-tan.webp",
@@ -1096,7 +1103,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "ITzpRJr2jWK0Ksmp",
"img": "icons/creatures/magical/construct-golem-stone-blue.webp",
@@ -1195,7 +1203,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "YvfzPyJbbv2ia6Yp",
"img": "icons/magic/sonic/explosion-shock-wave-teal.webp",
diff --git a/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json b/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json
index e902ac32..f804c06e 100644
--- a/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json
+++ b/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json
@@ -350,7 +350,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -485,7 +486,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json b/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json
index 24194f3d..ecc547f8 100644
--- a/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json
+++ b/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json
@@ -358,7 +358,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json b/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json
index cf6583e4..96e00139 100644
--- a/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json
+++ b/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json
@@ -342,7 +342,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -433,7 +434,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json b/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json
index fd73ee36..91ba0045 100644
--- a/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json
+++ b/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json
@@ -467,7 +467,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -548,7 +549,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json
index a9686bf0..cf2be503 100644
--- a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json
+++ b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json
@@ -443,7 +443,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "Zn25zBr96y1hrmnr",
"img": "icons/magic/lightning/bolt-strike-purple.webp",
@@ -540,7 +541,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "urXRi4bdBfvl8U6K",
"img": "icons/magic/control/sihouette-hold-beam-green.webp",
diff --git a/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json b/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json
index bf302c3f..d79aed6c 100644
--- a/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json
+++ b/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json
@@ -272,7 +272,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "MWfKUGzT1YBmLvpn",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",
diff --git a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json
index b8d8cfa0..964b1354 100644
--- a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json
+++ b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json
@@ -393,7 +393,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -449,7 +450,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [
{
@@ -593,7 +595,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json b/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json
index f6b94677..571d8cf1 100644
--- a/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json
+++ b/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json
@@ -300,7 +300,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "rSMUPC5GhR982ifg",
"img": "icons/magic/perception/eye-slit-orange.webp",
diff --git a/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json b/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json
index 28222226..c22a8130 100644
--- a/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json
+++ b/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json
@@ -318,7 +318,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -413,7 +414,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json b/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json
index 7c90a78b..8e4f477e 100644
--- a/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json
+++ b/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json
@@ -341,7 +341,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "kCffzM8rX8NEr9d2",
"img": "icons/magic/unholy/beam-ringed-impact-purple.webp",
@@ -401,7 +402,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "IHWDn097sRgjlZXO",
"img": "icons/magic/unholy/orb-contained-pink.webp",
@@ -511,7 +513,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "JpSrduK3vjd9h098",
"img": "icons/magic/air/fog-gas-smoke-dense-pink.webp",
@@ -643,7 +646,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "x6FbcrfOscb3er6P",
"img": "icons/magic/unholy/silhouette-robe-evil-glow.webp",
diff --git a/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json b/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json
index 76a338d2..5b167356 100644
--- a/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json
+++ b/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json
@@ -364,7 +364,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "ohASSruBxcvuItIK",
"img": "icons/magic/unholy/barrier-fire-pink.webp",
diff --git a/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json b/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json
index f748df8b..0aa5c326 100644
--- a/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json
+++ b/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json
@@ -272,7 +272,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "WP6xQtYzouPEFr82",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",
diff --git a/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json b/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json
index eea41180..19d0fd4d 100644
--- a/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json
+++ b/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json
@@ -285,7 +285,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -388,7 +389,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json
index 3c76628d..fa925b38 100644
--- a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json
+++ b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json
@@ -329,7 +329,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "BKgv2D1IdI813R8k",
"img": "icons/skills/movement/arrows-up-trio-red.webp",
diff --git a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json
index 3ae3639d..cc792029 100644
--- a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json
+++ b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json
@@ -290,7 +290,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "FC8PIf4BVkhmoJX8",
"img": "icons/magic/death/skull-flames-white-blue.webp",
@@ -412,7 +413,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "dlMdfUjy2GaqgeOJ",
"img": "icons/creatures/unholy/demon-fire-horned-mask.webp",
@@ -507,7 +509,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "7qjx1c4C1fUfvXnu",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json b/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json
index b425ec66..04f6a778 100644
--- a/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json
+++ b/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json
@@ -454,7 +454,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "Y3W44ifKIcoYpONN",
"img": "icons/skills/melee/spear-tips-quintuple-orange.webp",
@@ -509,7 +510,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "6BKWOTuxQWJd5RP5",
"img": "icons/creatures/unholy/demon-fire-horned-winged-roar.webp",
@@ -587,7 +589,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "FLp1dPSJz1ezY0gD",
"img": "icons/magic/control/fear-fright-shadow-monster-red.webp",
diff --git a/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json b/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json
index 7ea12036..e79eef29 100644
--- a/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json
+++ b/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json
@@ -256,7 +256,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "KVyhgMJSSHTwRISA",
"img": "icons/magic/control/fear-fright-monster-grin-purple-blue.webp",
@@ -311,7 +312,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "pSAupMWw1eYqm84z",
"img": "icons/magic/perception/eye-ringed-glow-angry-small-teal.webp",
@@ -383,7 +385,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "589tCxFc8KZ3rdzP",
"img": "icons/magic/perception/hand-eye-black.webp",
diff --git a/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json b/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json
index 72ec986d..cfe301f5 100644
--- a/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json
+++ b/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json
@@ -286,7 +286,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "a33PW8UkziliowlR",
"img": "icons/skills/melee/maneuver-greatsword-yellow.webp",
@@ -393,7 +394,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "DjGydqLXT4rDa7Av",
"img": "icons/skills/melee/blood-slash-foam-red.webp",
@@ -482,7 +484,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "2F75BO0xEU8Zlj7T",
"img": "icons/creatures/unholy/demon-fire-horned-clawed.webp",
diff --git a/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json b/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json
index b7ac7cb5..d407949e 100644
--- a/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json
+++ b/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json
@@ -308,7 +308,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "WEbHwamS5ZBphiKq",
"img": "icons/creatures/unholy/demons-horned-glowing-pink.webp",
@@ -403,7 +404,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "3mOBJE5c3cP2cGP1",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json b/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json
index 38bba1d3..9c367879 100644
--- a/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json
+++ b/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json
@@ -350,7 +350,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "o69lipskvBwGVhe4",
"img": "icons/magic/sonic/projectile-sound-rings-wave.webp",
@@ -456,7 +457,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "BQPGgbNzKbNkGDJb",
"img": "icons/skills/melee/strike-slashes-red.webp",
diff --git a/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json b/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json
index a900aa7b..f40c2310 100644
--- a/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json
+++ b/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json
@@ -417,7 +417,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json b/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json
index 845e447a..0bd8939e 100644
--- a/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json
+++ b/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json
@@ -337,7 +337,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "i9HbArl09dX2BvzY",
"img": "icons/magic/nature/root-vines-grow-brown.webp",
@@ -392,7 +393,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "yKWQLL3qsEZlQjyb",
"img": "icons/magic/nature/tree-animated-stump-mushrooms-teal.webp",
@@ -517,7 +519,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "z4JbqiHuxrWy6Cpu",
"img": "icons/magic/nature/vines-thorned-curled-glow-teal-purple.webp",
diff --git a/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json b/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json
index 6d25a124..0354d820 100644
--- a/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json
+++ b/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json
@@ -330,7 +330,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "u5NL1eUJeAkIEpgt",
"img": "icons/magic/lightning/bolt-strike-sparks-teal.webp",
diff --git a/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json b/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json
index a774d40e..9713e7ba 100644
--- a/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json
+++ b/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json
@@ -272,7 +272,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "13OraSLq2YjpZqbm",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",
diff --git a/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json b/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json
index 5baabdec..18dc586b 100644
--- a/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json
+++ b/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json
@@ -336,7 +336,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "ojiIZHBd0sMLxSUE",
"img": "icons/skills/melee/hand-grip-sword-orange.webp",
@@ -391,7 +392,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "zcfyEY29yWqJtZbl",
"img": "icons/magic/defensive/shield-barrier-blue.webp",
diff --git a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json
index 7d439a1b..7e97c5b1 100644
--- a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json
+++ b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json
@@ -354,7 +354,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "g0h3Zo6xqgfSlyxi",
"img": "icons/skills/melee/strike-slashes-red.webp",
diff --git a/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json b/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json
index df039d82..b8b054c8 100644
--- a/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json
+++ b/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json
@@ -350,7 +350,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "gC4whvt2r9Tfso9Y",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",
diff --git a/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json b/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json
index 48dbefcc..8b690bfd 100644
--- a/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json
+++ b/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json
@@ -311,7 +311,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "s15sNyb3JYMzBLIU",
"img": "icons/magic/fire/projectile-beams-salvo-red.webp",
@@ -364,7 +365,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "ecp9o8t1dQFXGsse",
"img": "icons/magic/death/skull-energy-light-white.webp",
@@ -429,7 +431,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "C74czwNeWF5vS1DZ",
"img": "icons/magic/symbols/ring-circle-smoke-blue.webp",
@@ -549,7 +552,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "gwSgBhkcekCGvXxz",
"img": "icons/magic/unholy/strike-hand-glow-pink.webp",
diff --git a/src/packs/adversaries/adversary_Fallen_Warlord__Realm_Breaker_hxZ0sgoFJubh5aj6.json b/src/packs/adversaries/adversary_Fallen_Warlord__Realm_Breaker_hxZ0sgoFJubh5aj6.json
index c432cae2..8d75dd9e 100644
--- a/src/packs/adversaries/adversary_Fallen_Warlord__Realm_Breaker_hxZ0sgoFJubh5aj6.json
+++ b/src/packs/adversaries/adversary_Fallen_Warlord__Realm_Breaker_hxZ0sgoFJubh5aj6.json
@@ -476,7 +476,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "PVLjJaQLH3LK3svk",
"img": "icons/skills/melee/blood-slash-foam-red.webp",
@@ -612,7 +613,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "48tIwFQr64IQ5LaY",
"img": "icons/magic/control/fear-fright-monster-grin-red-orange.webp",
@@ -690,7 +692,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "v74W0MUqVi9vPUEw",
"img": "icons/magic/death/skull-energy-light-purple.webp",
@@ -715,7 +718,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "RscRTl8U8u6WcwAB",
"img": "icons/magic/unholy/silhouette-evil-horned-giant.webp",
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 ab5d5c41..061abed8 100644
--- a/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json
+++ b/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json
@@ -470,7 +470,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "t8yOkGWmPgQ6EbIr",
"img": "icons/skills/melee/sword-stuck-glowing-pink.webp",
@@ -525,7 +526,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "AP7W9ruUCdTHO69S",
"img": "icons/magic/death/undead-skeleton-worn-blue.webp",
@@ -615,7 +617,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "55P7ZijSbQeVHCw4",
"img": "icons/magic/unholy/barrier-fire-pink.webp",
@@ -749,7 +752,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "ReWtcLE5akrSauI1",
"img": "icons/skills/melee/strike-weapons-orange.webp",
@@ -827,7 +831,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "tQRotPLi3eokgUdM",
"img": "icons/magic/death/skull-energy-light-purple.webp",
diff --git a/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json b/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json
index 7eb4f6fc..e82d30d8 100644
--- a/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json
+++ b/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json
@@ -332,7 +332,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "6ZrDjgnWufJohkp1",
"img": "icons/skills/ranged/arrow-flying-broadhead-metal.webp",
@@ -420,7 +421,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "w1oHm0NoEavQgUzl",
"img": "icons/creatures/mammals/ox-bull-horned-glowing-orange.webp",
diff --git a/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json b/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json
index bce45f4c..a51abc03 100644
--- a/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json
+++ b/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json
@@ -311,7 +311,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "ro8AtBdgklyyuydK",
"img": "icons/skills/melee/shield-damaged-broken-orange.webp",
@@ -410,7 +411,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "kKBbEAffbHxmHo15",
"img": "icons/skills/melee/strike-flail-spiked-pink.webp",
@@ -505,7 +507,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "B0EniYxyLvjJSqYb",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json
index 7606d09f..dc21e5aa 100644
--- a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json
+++ b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json
@@ -410,7 +410,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "MabIQE1Kjn60j08J",
"img": "icons/skills/melee/strike-slashes-orange.webp",
@@ -553,7 +554,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "NEOQ0E9AGSSIDm4v",
"img": "icons/skills/movement/arrow-upward-yellow.webp",
@@ -671,7 +673,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "jY0ynjYvbS6E3NgJ",
"img": "icons/skills/movement/arrow-down-pink.webp",
diff --git a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json
index 7b21aca5..0db2613f 100644
--- a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json
+++ b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json
@@ -359,7 +359,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json b/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json
index afeb44ad..7da2eabd 100644
--- a/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json
+++ b/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json
@@ -306,7 +306,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json b/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json
index a38fce28..0ef9eb18 100644
--- a/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json
+++ b/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json
@@ -274,7 +274,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "FMgB28X1LammRInU",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",
diff --git a/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json b/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json
index d5f25734..b65a27ba 100644
--- a/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json
+++ b/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json
@@ -314,7 +314,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -419,7 +420,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -552,7 +554,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json b/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json
index ec94123b..67d9a7d7 100644
--- a/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json
+++ b/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json
@@ -385,7 +385,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -565,7 +566,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json b/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json
index 7445c992..98080be6 100644
--- a/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json
+++ b/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json
@@ -484,7 +484,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "9SO2ov36lFH2YV0S",
"img": "icons/creatures/reptiles/snake-fangs-bite-green.webp",
@@ -600,7 +601,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "047o6OtNlUwLG1H1",
"img": "icons/magic/earth/strike-body-stone-crumble.webp",
@@ -695,7 +697,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "IRIaFxFughjXVu0Y",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json
index 3a19084d..e8bc6601 100644
--- a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json
+++ b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json
@@ -487,7 +487,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "q45DiEFlXqcXZ5hv",
"img": "icons/magic/earth/barrier-stone-brown-green.webp",
@@ -621,7 +622,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "ag7t5EW358M0qiSL",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json
index bdc22b1a..73b702fb 100644
--- a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json
+++ b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json
@@ -310,7 +310,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "B8ZrtRCZrwwwWJOE",
"img": "icons/magic/water/projectile-icecicle-glowing.webp",
@@ -438,7 +439,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "bcwFQeuU6ZfIGjau",
"img": "icons/magic/water/vortex-water-whirlpool-blue.webp",
@@ -533,7 +535,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "BGE42W1XPd0vpimR",
"img": "icons/magic/water/tendrils-ice-thorns.webp",
diff --git a/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json b/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json
index 426803c2..5746f57b 100644
--- a/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json
+++ b/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json
@@ -447,7 +447,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -540,7 +541,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json
index 43e10f5f..6ad8d177 100644
--- a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json
+++ b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json
@@ -330,7 +330,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "Ye35DuZroQfeFoNw",
"img": "icons/skills/ranged/arrows-flying-salvo-yellow.webp",
diff --git a/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json b/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json
index b9a50759..5a1ccc65 100644
--- a/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json
+++ b/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json
@@ -327,7 +327,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "ZpypjDbaurs1YSFb",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",
diff --git a/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json b/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json
index b2ebe434..d5ce14ff 100644
--- a/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json
+++ b/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json
@@ -339,7 +339,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json b/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json
index e0e2a946..d9f6e8b9 100644
--- a/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json
+++ b/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json
@@ -292,7 +292,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -356,7 +357,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
@@ -452,7 +454,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json b/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json
index 0c22e7fa..d80504a7 100644
--- a/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json
+++ b/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json
@@ -448,7 +448,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "Oj6qkLG1N6uqQHcx",
"img": "icons/creatures/abilities/fang-tooth-blood-red.webp",
@@ -503,7 +504,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "IWtpuQCuV82lOSry",
"img": "icons/creatures/mammals/bat-giant-tattered-purple.webp",
@@ -601,7 +603,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "6FsQf339qGHnz3ZF",
"img": "icons/magic/unholy/strike-beam-blood-small-red-purple.webp",
diff --git a/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json b/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json
index d03fdea1..58b26f24 100644
--- a/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json
+++ b/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json
@@ -371,7 +371,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "FilEB21L5q9XxKE1",
"img": "icons/magic/light/beams-rays-orange-purple-small.webp",
@@ -514,7 +515,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "Vrb8dIJcOJ3ClwO5",
"img": "icons/magic/light/beam-strike-orange-gold.webp",
@@ -569,7 +571,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "9LpLXpQBfQryJA60",
"img": "icons/magic/holy/barrier-shield-winged-blue.webp",
diff --git a/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json b/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json
index 9341c9ab..d291f805 100644
--- a/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json
+++ b/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json
@@ -416,7 +416,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "pfXYuH7rtsyVjSXh",
"img": "icons/creatures/slimes/slime-face-melting-green.webp",
@@ -508,7 +509,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "Mq90kFBM5ix2pzzh",
"img": "icons/creatures/slimes/slime-movement-pseudopods-green.webp",
diff --git a/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json b/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json
index 0bc04c03..3c39550c 100644
--- a/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json
+++ b/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json
@@ -354,7 +354,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "b2KflqWoOxHMQf97",
"img": "icons/magic/life/cross-beam-green.webp",
@@ -432,7 +433,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "bCeCu8M25izOAsuY",
"img": "icons/magic/death/skull-energy-light-white.webp",
@@ -485,7 +487,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "sJzjcRBgYRp5f53E",
"img": "icons/magic/symbols/star-rising-purple.webp",
diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json b/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json
index 465dd7a2..26d83e78 100644
--- a/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json
+++ b/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json
@@ -260,7 +260,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -397,7 +398,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json b/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json
index e7ec011d..698ef485 100644
--- a/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json
+++ b/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json
@@ -316,7 +316,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json b/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json
index 99381bd6..668852a8 100644
--- a/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json
+++ b/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json
@@ -282,7 +282,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json b/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json
index 7e448a62..6f4b54a5 100644
--- a/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json
+++ b/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json
@@ -262,7 +262,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -288,7 +289,8 @@
"actions": {},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -420,7 +422,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -516,7 +519,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json
index 10dc241f..ad53f212 100644
--- a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json
+++ b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json
@@ -362,7 +362,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json
index 25b0b8b0..fc30a072 100644
--- a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json
+++ b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json
@@ -450,7 +450,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "Bt7MqMkPpPpzWksK",
"img": "icons/magic/light/explosion-glow-spiral-yellow.webp",
@@ -610,7 +611,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "EjfM83eVCdcVGC3c",
"img": "icons/magic/air/fog-gas-smoke-purple.webp",
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 298af435..51e7979d 100644
--- a/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json
+++ b/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json
@@ -475,7 +475,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "djKDZawLnGF1zkbY",
"img": "icons/skills/movement/arrow-upward-yellow.webp",
@@ -530,7 +531,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "RoxNNIn0m9rHQDH8",
"img": "icons/environment/people/charge.webp",
diff --git a/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json b/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json
index 12f881d4..62d443c9 100644
--- a/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json
+++ b/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json
@@ -365,7 +365,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "vz2BWhispgR7mSWF",
"img": "icons/magic/water/orb-water-bubbles-blue.webp",
@@ -504,7 +505,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "eksa3E2ecBgdib6h",
"img": "icons/magic/water/projectile-icecicle-glowing.webp",
@@ -599,7 +601,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "m4aybzb8tXWHelDU",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json b/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json
index 90ede3ec..5af8b388 100644
--- a/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json
+++ b/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json
@@ -302,7 +302,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "Cgk36WXthA9LwOYb",
"img": "icons/skills/melee/strike-sword-gray.webp",
@@ -379,7 +380,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "tP2DD751nOLxFVps",
"img": "icons/environment/traps/trap-jaw-tan.webp",
diff --git a/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json b/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json
index 557ef607..5ac80827 100644
--- a/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json
+++ b/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json
@@ -372,7 +372,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "za6Qr0CjI9Kb4I0U",
"img": "icons/skills/movement/arrows-up-trio-red.webp",
@@ -427,7 +428,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "s0WcpK43WN2ptqNc",
"img": "icons/skills/melee/strike-dagger-blood-red.webp",
@@ -522,7 +524,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "PcNgHScmTd9l3exN",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json b/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json
index a3ab2363..0dea7b8e 100644
--- a/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json
+++ b/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json
@@ -308,7 +308,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "7dxToUpxOyISXXde",
"img": "icons/commodities/currency/coins-plain-stack-gold-yellow.webp",
@@ -363,7 +364,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "QnDvERcyaq3XLCjF",
"img": "icons/environment/people/charge.webp",
diff --git a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json
index edb50cf1..8d7c1888 100644
--- a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json
+++ b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json
@@ -362,7 +362,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -488,7 +489,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -514,7 +516,8 @@
"actions": {},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
@@ -610,7 +613,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json b/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json
index 5d6c34cd..813af3c3 100644
--- a/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json
+++ b/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json
@@ -445,7 +445,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -501,7 +502,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
@@ -597,7 +599,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json b/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json
index 7421e270..f57abdd9 100644
--- a/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json
+++ b/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json
@@ -358,7 +358,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -465,7 +466,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -631,7 +633,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
@@ -727,7 +730,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json b/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json
index 267a1e14..c16b2c36 100644
--- a/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json
+++ b/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json
@@ -276,7 +276,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json b/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json
index 570db804..9ac0caa9 100644
--- a/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json
+++ b/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json
@@ -414,7 +414,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "b2QvDYOq1nreI2uD",
"img": "icons/creatures/mammals/bull-horned-blue.webp",
@@ -512,7 +513,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "WxbHcbaeb6L7g8qN",
"img": "icons/skills/melee/strike-slashes-red.webp",
diff --git a/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json b/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json
index 3f2d7d88..8ec7b09d 100644
--- a/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json
+++ b/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json
@@ -235,7 +235,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "iYHCYTJzZbw5f0pF",
"img": "icons/commodities/treasure/crown-gold-satin-gems-red.webp",
@@ -290,7 +291,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "9K7C1PR4Q6QrUjjb",
"img": "icons/environment/people/charge.webp",
@@ -435,7 +437,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "kA5NZTdiknsh7wxp",
"img": "icons/sundries/scrolls/scroll-bound-sealed-red-tan.webp",
diff --git a/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json b/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json
index 721d8973..febdc8e7 100644
--- a/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json
+++ b/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json
@@ -424,7 +424,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "r1T70u9n3bRfUTX5",
"img": "icons/magic/unholy/hand-marked-pink.webp",
@@ -540,7 +541,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "5AQTqW1GDidHfU3a",
"img": "icons/skills/movement/arrows-up-trio-red.webp",
@@ -676,7 +678,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "IOCG3J20wUHvyvvh",
"img": "icons/magic/movement/trail-streak-zigzag-yellow.webp",
diff --git a/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json b/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json
index 00ba4dfe..977792ea 100644
--- a/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json
+++ b/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json
@@ -315,7 +315,8 @@
}
},
"originItemType": null,
- "multiclassOrigin": false
+ "multiclassOrigin": false,
+ "featureForm": "action"
},
"_id": "Q2slH9qkBO5SPw43",
"img": "icons/consumables/nuts/nut-spiked-shell.webp",
@@ -378,7 +379,8 @@
}
},
"originItemType": null,
- "multiclassOrigin": false
+ "multiclassOrigin": false,
+ "featureForm": "action"
},
"_id": "sqkgw26P2KiQVtXT",
"img": "icons/consumables/plants/thorned-stem-brown.webp",
diff --git a/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json b/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json
index 0925049d..be97acf2 100644
--- a/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json
+++ b/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json
@@ -467,7 +467,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "QoFecwKWBFzrk4Wp",
"img": "icons/magic/death/skeleton-skull-soul-blue.webp",
@@ -546,7 +547,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "A4yI2RENCuLk6mg9",
"img": "icons/magic/death/skull-horned-worn-fire-blue.webp",
@@ -571,7 +573,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "IPoWZmSQ2kgWek5T",
"img": "icons/magic/symbols/mask-yellow-orange.webp",
@@ -657,7 +660,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "kuxTMjy8lOmNSa8e",
"img": "icons/magic/control/sihouette-hold-beam-green.webp",
diff --git a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json
index 8e9d6b37..d4b37075 100644
--- a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json
+++ b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json
@@ -422,7 +422,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "K3MQO1I42nmfM2F2",
"img": "icons/magic/sonic/explosion-shock-sound-wave.webp",
@@ -531,7 +532,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "u9dR2Qh3swHZalXj",
"img": "icons/magic/unholy/orb-contained-pink.webp",
diff --git a/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json b/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json
index 4226d346..f84bc04d 100644
--- a/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json
+++ b/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json
@@ -375,7 +375,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "gBLVvHbyekmIUITD",
"img": "icons/magic/unholy/barrier-shield-glowing-pink.webp",
diff --git a/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json b/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json
index f5558098..38ed9db0 100644
--- a/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json
+++ b/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json
@@ -272,7 +272,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "7DWNmxZvp1Fm3aq3",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",
diff --git a/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json b/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json
index efffaf03..1575bbf8 100644
--- a/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json
+++ b/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json
@@ -438,7 +438,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -544,7 +545,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json b/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json
index ae8bb68f..3a7af054 100644
--- a/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json
+++ b/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json
@@ -413,7 +413,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "CKy2r6FguyTSO9Fm",
"img": "icons/skills/melee/strike-axe-energy-pink.webp",
@@ -500,7 +501,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "hWxjmdc1O5J1otLM",
"img": "icons/magic/perception/shadow-stealth-eyes-purple.webp",
diff --git a/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json b/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json
index fc5d8f01..6e3c052c 100644
--- a/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json
+++ b/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json
@@ -313,7 +313,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -369,7 +370,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json b/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json
index 5b3db044..a1c05eab 100644
--- a/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json
+++ b/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json
@@ -347,7 +347,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -452,7 +453,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -548,7 +550,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Pirate_Tough_mhcVkVFrzIJ18FDm.json b/src/packs/adversaries/adversary_Pirate_Tough_mhcVkVFrzIJ18FDm.json
index 919b8aaf..6d15f7da 100644
--- a/src/packs/adversaries/adversary_Pirate_Tough_mhcVkVFrzIJ18FDm.json
+++ b/src/packs/adversaries/adversary_Pirate_Tough_mhcVkVFrzIJ18FDm.json
@@ -407,7 +407,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "uzlxE1Cxm9GGmrNs",
"img": "icons/skills/melee/unarmed-punch-fist-blue.webp",
diff --git a/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json b/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json
index f555999d..dc5b66f4 100644
--- a/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json
+++ b/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json
@@ -391,7 +391,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -484,7 +485,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json b/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json
index 461846a2..6a7ae3ff 100644
--- a/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json
+++ b/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json
@@ -276,7 +276,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json b/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json
index 36c5a617..ef295cb0 100644
--- a/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json
+++ b/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json
@@ -343,7 +343,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "lG6vMc0zUbijpvCM",
"img": "icons/skills/social/diplomacy-handshake.webp",
@@ -398,7 +399,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "iwNrNBbvm3RMgSw5",
"img": "icons/skills/social/diplomacy-unity-alliance.webp",
diff --git a/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json b/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json
index 113d8f73..9c158011 100644
--- a/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json
+++ b/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json
@@ -289,7 +289,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "WLnguxRo9egh2hfX",
"img": "icons/skills/movement/arrows-up-trio-red.webp",
@@ -389,7 +390,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "O5Nn1Slv8RJJpNeT",
"img": "icons/magic/unholy/hand-claw-glow-orange.webp",
@@ -474,7 +476,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "4L7aM9NDLbjvuwI3",
"img": "icons/magic/unholy/silhouette-light-fire-blue.webp",
@@ -529,7 +532,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "Q28NPuSMccjzykib",
"img": "icons/creatures/unholy/demon-fire-horned-clawed.webp",
diff --git a/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json b/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json
index 8f490686..d5da4bca 100644
--- a/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json
+++ b/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json
@@ -276,7 +276,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json b/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json
index 8729ac0a..dce37d5a 100644
--- a/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json
+++ b/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json
@@ -456,7 +456,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "LBKPfi8XktBAwbrt",
"img": "icons/skills/wounds/blood-spurt-spray-red.webp",
diff --git a/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json b/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json
index 4e3f2aca..e6700b73 100644
--- a/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json
+++ b/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json
@@ -388,7 +388,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "Ks3HpB4W1l5FqR7p",
"img": "icons/magic/control/hypnosis-mesmerism-eye.webp",
diff --git a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json
index aeb2dd0e..845bd708 100644
--- a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json
+++ b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json
@@ -327,7 +327,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json b/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json
index 22d00f72..e5daed4f 100644
--- a/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json
+++ b/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json
@@ -276,7 +276,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json b/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json
index c16d878b..b4a349b5 100644
--- a/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json
+++ b/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json
@@ -412,7 +412,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -512,7 +513,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json
index 1a1ca906..dbf39bed 100644
--- a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json
+++ b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json
@@ -344,7 +344,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json
index 9832d7ce..7dfe0c09 100644
--- a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json
+++ b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json
@@ -403,7 +403,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "0h4IVmCgWXyQngAw",
"img": "icons/skills/targeting/crosshair-triple-strike-orange.webp",
diff --git a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json
index 3cb0a37c..dd044b50 100644
--- a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json
+++ b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json
@@ -359,7 +359,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "7YVe4DfEWMNLXNvu",
"img": "icons/magic/death/undead-skeleton-worn-blue.webp",
@@ -414,7 +415,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "X0vtV30ACVVZ6NfF",
"img": "icons/magic/defensive/shield-barrier-flaming-diamond-teal.webp",
@@ -509,7 +511,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "b9wn9oVMne8E1OYx",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json
index 04062b0d..6dcd83c4 100644
--- a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json
+++ b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json
@@ -435,7 +435,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "L48tQmj5O3s2pjBn",
"img": "icons/weapons/swords/sword-flanged-lightning.webp",
diff --git a/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json b/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json
index f096aeef..d9b3dbf3 100644
--- a/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json
+++ b/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json
@@ -341,7 +341,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -397,7 +398,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -493,7 +495,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json b/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json
index 88f8eb5b..ffc4dfe7 100644
--- a/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json
+++ b/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json
@@ -260,7 +260,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "csCWQuSqic5ckHeO",
"img": "icons/magic/perception/orb-eye-scrying.webp",
@@ -381,7 +382,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "UvgVDn0YjISLdKE4",
"img": "icons/magic/perception/silhouette-stealth-shadow.webp",
diff --git a/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json b/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json
index 0f6fbc5f..2fb0c531 100644
--- a/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json
+++ b/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json
@@ -363,7 +363,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "CYaSykD9BUxpiOxg",
"img": "icons/skills/melee/strike-blade-hooked-green-purple.webp",
@@ -447,7 +448,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "1LHHdn4ToSwSznuP",
"img": "icons/magic/nature/root-vine-barrier-wall-brown.webp",
diff --git a/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json b/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json
index 6572d058..807d6675 100644
--- a/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json
+++ b/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json
@@ -339,7 +339,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "tQgxiSS48TJ3X1Dl",
"img": "icons/creatures/abilities/mouth-teeth-rows-white.webp",
@@ -521,7 +522,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "9Z0i0uURfBMVIapJ",
"img": "icons/magic/sonic/projectile-sound-rings-wave.webp",
@@ -616,7 +618,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "faM1UzclP0X3ZrkJ",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json b/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json
index bcaf166a..af64867f 100644
--- a/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json
+++ b/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json
@@ -414,7 +414,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -475,7 +476,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json b/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json
index 2a753812..1d686445 100644
--- a/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json
+++ b/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json
@@ -353,7 +353,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -407,7 +408,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [
{
diff --git a/src/packs/adversaries/adversary_Tangle_Bramble_XcAGOSmtCFLT1unN.json b/src/packs/adversaries/adversary_Tangle_Bramble_XcAGOSmtCFLT1unN.json
index 8b984fc1..74b228f5 100644
--- a/src/packs/adversaries/adversary_Tangle_Bramble_XcAGOSmtCFLT1unN.json
+++ b/src/packs/adversaries/adversary_Tangle_Bramble_XcAGOSmtCFLT1unN.json
@@ -315,7 +315,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -341,7 +342,8 @@
"actions": {},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json b/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json
index f3ea25ff..7c3da937 100644
--- a/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json
+++ b/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json
@@ -277,7 +277,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json b/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json
index e4e5f6f7..0ff01c70 100644
--- a/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json
+++ b/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json
@@ -271,7 +271,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "fh8ehANkVOnxEKVa",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",
diff --git a/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json b/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json
index f2522a90..59bdb150 100644
--- a/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json
+++ b/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json
@@ -352,7 +352,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "X0VgwJbK2n3mez0p",
"img": "icons/creatures/abilities/fang-tooth-blood-red.webp",
@@ -407,7 +408,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "DKVB4rbX2M1CCVM7",
"img": "icons/magic/air/fog-gas-smoke-blue-gray.webp",
diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json b/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json
index 38cddad7..575d88ee 100644
--- a/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json
+++ b/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json
@@ -308,7 +308,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "VlHp8RjHy7MK8rqC",
"img": "icons/environment/traps/cage-grey-steel.webp",
diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json
index 10e023c1..e0776c8c 100644
--- a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json
+++ b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json
@@ -284,7 +284,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "DLspoIclNJcTB3YJ",
"img": "icons/magic/perception/eye-ringed-glow-angry-red.webp",
@@ -434,7 +435,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "LVFZ4AfVhS6Q9hRy",
"img": "icons/magic/sonic/projectile-shock-wave-blue.webp",
@@ -529,7 +531,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "N4446BxubUanUQHH",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json
index 6b4671ea..a11bef82 100644
--- a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json
+++ b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json
@@ -289,7 +289,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "uwAr6wR4k7ppI2cW",
"img": "icons/skills/targeting/crosshair-pointed-orange.webp",
@@ -388,7 +389,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "G7qZ9RHPyNns3axX",
"img": "icons/commodities/tech/cog-brass.webp",
@@ -487,7 +489,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "ALDtQci3ktq9cajU",
"img": "icons/magic/sonic/explosion-shock-wave-teal.webp",
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 3bcdd49a..6f3d436e 100644
--- a/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json
+++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json
@@ -614,7 +614,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "AXhSVGL33i0j6DAw",
"img": "icons/creatures/abilities/tail-swipe-green.webp",
@@ -669,7 +670,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "ggCol5LQ2ZpeQjly",
"img": "icons/magic/air/fog-gas-smoke-brown.webp",
@@ -819,7 +821,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "uWiyaJPXcoW06pOM",
"img": "icons/creatures/abilities/mouth-teeth-fire-orange.webp",
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 d04dab50..2fcc4ada 100644
--- a/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json
+++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json
@@ -419,7 +419,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "bpjpHxf6tj4i3H4r",
"img": "icons/creatures/abilities/tail-swipe-green.webp",
@@ -518,7 +519,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "NuksKUrbf4yj4vR2",
"img": "icons/magic/fire/blast-jet-stream-embers-red.webp",
@@ -699,7 +701,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "2mK8kxfp2WBUeBri",
"img": "icons/magic/fire/blast-jet-stream-embers-orange.webp",
@@ -818,7 +821,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "3VdQdUDULZCQPvLZ",
"img": "icons/magic/fire/blast-jet-stream-embers-red.webp",
@@ -843,7 +847,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "qYFoyDSdZ5X2h245",
"img": "icons/magic/fire/flame-burning-eye.webp",
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 2be56990..1eb81b18 100644
--- a/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json
+++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json
@@ -528,7 +528,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "8bMOItTuL7PfAYcJ",
"img": "icons/creatures/abilities/tail-swipe-green.webp",
@@ -716,7 +717,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "5wLxyaWJuUhkx1EX",
"img": "icons/creatures/reptiles/dragon-winged-blue.webp",
@@ -741,7 +743,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "5llfnRwO7mfzDFgT",
"img": "icons/magic/fire/flame-burning-eye.webp",
diff --git a/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json b/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json
index fcb3dc5a..efe20210 100644
--- a/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json
+++ b/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json
@@ -320,7 +320,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "dI2MGjC7NFAru1Gd",
"img": "icons/magic/defensive/shield-barrier-blades-teal.webp",
@@ -426,7 +427,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "PnQ0m0FLnpht7oE4",
"img": "icons/magic/earth/barrier-stone-explosion-red.webp",
@@ -532,7 +534,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "s2luvEVxJLZmOrdh",
"img": "icons/magic/light/projectiles-trio-pink.webp",
@@ -565,7 +568,7 @@
"actionType": "action",
"cost": [],
"uses": {
- "value": null,
+ "value": 0,
"max": "1",
"recovery": null
},
@@ -611,7 +614,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "9cPigHRcUfJC9gD8",
"img": "icons/magic/defensive/barrier-shield-dome-blue-purple.webp",
diff --git a/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json b/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json
index d1d936e1..6319c895 100644
--- a/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json
+++ b/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json
@@ -306,7 +306,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -484,7 +485,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -580,7 +582,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json b/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json
index 80fb7ce2..9cfb1884 100644
--- a/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json
+++ b/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json
@@ -287,7 +287,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [],
"folder": null,
@@ -348,7 +349,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"effects": [
{
@@ -483,7 +485,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json b/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json
index 28c00c51..f025f45f 100644
--- a/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json
+++ b/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json
@@ -477,7 +477,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "QV2ytK4b1VWF71OS",
"img": "icons/magic/water/projectiles-ice-faceted-shard-salvo-blue.webp",
@@ -600,7 +601,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "CcRTxCDCJskiu3fI",
"img": "icons/magic/water/barrier-ice-wall-snow.webp",
@@ -722,7 +724,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "nXZHOfcYvjg3YMNU",
"img": "icons/commodities/leather/scales-blue.webp",
@@ -861,7 +864,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "QHdJgT2fvwqquyf7",
"img": "icons/skills/melee/strike-weapons-orange.webp",
diff --git a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json
index a67dda37..0650319b 100644
--- a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json
+++ b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json
@@ -406,7 +406,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "d5Vilu9cUub1O6TD",
"img": "icons/skills/melee/strike-slashes-orange.webp",
diff --git a/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json b/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json
index 9b8a118d..3e94c738 100644
--- a/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json
+++ b/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json
@@ -283,7 +283,8 @@
},
"originItemType": null,
"subType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"effects": [],
"folder": null,
diff --git a/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json b/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json
index 2fca6775..ededde93 100644
--- a/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json
+++ b/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json
@@ -208,13 +208,13 @@
},
"changes": [
{
- "key": "system.resistance.magical.reduction",
+ "key": "system.rules.damageReduction.reduceSeverity.magical",
"mode": 2,
"value": "1",
"priority": null
},
{
- "key": "system.resistance.magical.reduction",
+ "key": "system.rules.damageReduction.reduceSeverity.physical",
"mode": 2,
"value": "1",
"priority": null
diff --git a/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json b/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json
index 4d9be4f8..c1006da4 100644
--- a/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json
+++ b/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json
@@ -49,7 +49,7 @@
"width": 1,
"height": 1,
"texture": {
- "src": "AbominationVaults.webp",
+ "src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,
@@ -67,10 +67,10 @@
"disposition": -1,
"displayBars": 0,
"bar1": {
- "attribute": "resources.hitPoints"
+ "attribute": null
},
"bar2": {
- "attribute": "resources.stress"
+ "attribute": null
},
"light": {
"negative": false,
@@ -118,7 +118,7 @@
"ring": null,
"background": null
},
- "effects": 1,
+ "effects": 0,
"subject": {
"scale": 1,
"texture": null
@@ -249,7 +249,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "maK5OyfrOxcjCoPt",
"img": "icons/magic/nature/root-vine-spiral-thorns-teal.webp",
@@ -313,7 +314,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "uG5A2XQuUcPsXzgP",
"img": "icons/magic/nature/hand-weapon-wood-bark-brown.webp",
@@ -361,7 +363,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "3kkkbnWEvXk5TPK8",
"img": "icons/magic/unholy/strike-hand-glow-pink.webp",
diff --git a/src/packs/environments/environment_Ambushed_uGEdNYERCTJBEjc5.json b/src/packs/environments/environment_Ambushed_uGEdNYERCTJBEjc5.json
index b32128dd..b0ccd435 100644
--- a/src/packs/environments/environment_Ambushed_uGEdNYERCTJBEjc5.json
+++ b/src/packs/environments/environment_Ambushed_uGEdNYERCTJBEjc5.json
@@ -221,7 +221,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "HfuVxgVidIVsapvI",
"img": "icons/magic/perception/shadow-stealth-eyes-purple.webp",
diff --git a/src/packs/environments/environment_Ambushers_uXZpebPR77YQ1oXI.json b/src/packs/environments/environment_Ambushers_uXZpebPR77YQ1oXI.json
index ed40af4a..e8ba889a 100644
--- a/src/packs/environments/environment_Ambushers_uXZpebPR77YQ1oXI.json
+++ b/src/packs/environments/environment_Ambushers_uXZpebPR77YQ1oXI.json
@@ -183,7 +183,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "b6Qviz1ANG8OrAYq",
"img": "icons/skills/wounds/injury-face-impact-orange.webp",
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 39070236..dc42fb07 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
@@ -252,7 +252,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "1aOeMMX0XuDtZbbB",
"img": "icons/magic/nature/root-vine-spiral-thorns-teal.webp",
@@ -391,7 +392,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "JKFkDvwUOP35Tsr1",
"img": "icons/creatures/magical/construct-face-stone-pink.webp",
@@ -508,7 +510,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "kYxuTZjH7HDUGeWh",
"img": "icons/magic/air/fog-gas-smoke-brown.webp",
diff --git a/src/packs/environments/environment_Bustling_Marketplace_HZKA7hkej7JJY503.json b/src/packs/environments/environment_Bustling_Marketplace_HZKA7hkej7JJY503.json
index b0b5b591..ad96108b 100644
--- a/src/packs/environments/environment_Bustling_Marketplace_HZKA7hkej7JJY503.json
+++ b/src/packs/environments/environment_Bustling_Marketplace_HZKA7hkej7JJY503.json
@@ -168,7 +168,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "60uDqt9omFifZ7xd",
"img": "icons/commodities/treasure/brooch-jeweled-pink.webp",
@@ -291,7 +292,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "56qjiKMoN6S9riI6",
"img": "icons/skills/social/theft-pickpocket-bribery-brown.webp",
@@ -316,7 +318,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "l2FzZpR2reVmlkdp",
"img": "icons/skills/movement/arrow-upward-blue.webp",
diff --git a/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json b/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json
index 80344b0f..411a10c7 100644
--- a/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json
+++ b/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json
@@ -277,7 +277,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "eSTq8Y0v4Dwd13XU",
"img": "icons/weapons/artillery/catapult-simple.webp",
@@ -302,7 +303,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "U59K0WKVjwbgzMZU",
"img": "icons/environment/people/charge.webp",
@@ -401,7 +403,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "bemKmwjBtbEFVWXM",
"img": "icons/magic/earth/projectile-stone-boulder-brown.webp",
diff --git a/src/packs/environments/environment_Chaos_Realm_2Z1mKc65LxNk2PqR.json b/src/packs/environments/environment_Chaos_Realm_2Z1mKc65LxNk2PqR.json
index 9ceca2a6..77781de0 100644
--- a/src/packs/environments/environment_Chaos_Realm_2Z1mKc65LxNk2PqR.json
+++ b/src/packs/environments/environment_Chaos_Realm_2Z1mKc65LxNk2PqR.json
@@ -335,7 +335,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "0OYHJZqT0DlVz5be",
"img": "icons/magic/control/sihouette-hold-beam-green.webp",
@@ -441,7 +442,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "RNbAdBZM6gDNaRPn",
"img": "icons/magic/unholy/energy-smoke-pink.webp",
@@ -496,7 +498,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "SZpUJeJETVQtZwae",
"img": "icons/creatures/unholy/demons-horned-glowing-pink.webp",
@@ -574,7 +577,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "MyIh4CJsDnkjmeYs",
"img": "icons/magic/perception/hand-eye-pink.webp",
diff --git a/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json b/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json
index e72ac02e..548cf7c4 100644
--- a/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json
+++ b/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json
@@ -462,7 +462,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "EP4FXeQqbqFGQoIX",
"img": "icons/skills/movement/arrow-down-pink.webp",
diff --git a/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json b/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
index 80074b2e..705c9585 100644
--- a/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
+++ b/src/packs/environments/environment_Cult_Ritual_QAXXiOKBDmCTauHD.json
@@ -195,7 +195,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "0Rgqw1kUPeJ11ldd",
"img": "icons/magic/unholy/orb-swirling-teal.webp",
@@ -370,7 +371,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "oFfu3hUhp4ta4qwT",
"img": "icons/magic/unholy/barrier-fire-pink.webp",
@@ -395,7 +397,8 @@
"resource": null,
"actions": {},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "WltEUhtYwfnX8WCc",
"img": "icons/skills/wounds/blood-drip-droplet-red.webp",
diff --git a/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json b/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json
index ada17126..aacf87e9 100644
--- a/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json
+++ b/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json
@@ -279,7 +279,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "OWUM3eFiZrIn0Bjd",
"img": "icons/magic/unholy/orb-hands-pink.webp",
@@ -384,7 +385,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "action"
},
"_id": "CL3wPZNOtw6m5WVT",
"img": "icons/magic/unholy/hand-light-pink.webp",
@@ -561,7 +563,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "AJdG1krRvixBFCZG",
"img": "icons/magic/unholy/silhouette-robe-evil-glow.webp",
@@ -638,7 +641,8 @@
}
},
"originItemType": null,
- "originId": null
+ "originId": null,
+ "featureForm": "reaction"
},
"_id": "GUAo44cJCnS1GE9p",
"img": "icons/magic/unholy/barrier-fire-pink.webp",
diff --git a/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json b/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json
index 342039be..f005fa59 100644
--- a/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json
+++ b/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json
@@ -226,7 +226,7 @@
"name": "Divine Guidance",
"type": "feature",
"system": {
- "description": "
A PC who prays to a deity while in the Hallowed Temple can make an Instinct Roll to receive answers. If the god they beseech isn’t welcome in this temple, the roll is made with disadvantage.
Critical Success: The PC gains clear information. Additionally, they gain [[/r 1d4]] Hope, which can be distributed between the party if they share the vision and guidance they received.
Success with Hope: The PC receives clear information.
Success with Fear: The PC receives brief flashes of insight and an emotional impression conveying an answer.
Any Failure: The PC receives only vague flashes. They can mark a Stress to receive one clear image without context.
What does it feel like as you are touched by this vision? What feeling lingers after the images have passed?",
+ "description": "A PC who prays to a deity while in the Hallowed Temple can make an Instinct Roll to receive answers. If the god they beseech isn’t welcome in this temple, the roll is made with disadvantage.
Critical Success: The PC gains clear information. Additionally, they gain [[/r 1d4]] Hope, which can be distributed between the party if they share the vision and guidance they received.
Success with Hope: The PC receives clear information.
Success with Fear: The PC receives brief flashes of insight and an emotional impression conveying an answer.
Any Failure: The PC receives only vague flashes. They can mark a Stress to receive one clear image without context.
What does it feel like as you are touched by this vision? What feeling lingers after the images have passed?
Introduce a signifi cant NPC who wants to hire the party for something or who relates to a PC’s background.
Did they know the PCs were here? What do they want in this town?
Introduce a significant NPC who wants to hire the party for something or who relates to a PC’s background.
Did they know the PCs were here? What do they want in this town?