Merge branch 'main' into feature/actor-sizes

This commit is contained in:
WBHarry 2025-12-20 19:39:44 +01:00
commit 8de9ae6020
165 changed files with 798 additions and 444 deletions

View file

@ -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",

View file

@ -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 <br>, which aren't a problem for the value but are for the placeholder
input.addEventListener("input", () => input.querySelectorAll("br").forEach((i) => i.remove()));
}
}
/**@inheritdoc */

View file

@ -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;
}
}

View file

@ -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);
}

View file

@ -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',

View file

@ -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',

View file

@ -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;

View file

@ -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}`;
}

View file

@ -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'
})
};
}
}

View file

@ -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;

View file

@ -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 {

View file

@ -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,

View file

@ -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

View file

@ -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",

View file

@ -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",

View file

@ -311,7 +311,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"effects": [
{

View file

@ -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",

View file

@ -419,7 +419,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "lAmiK8wVxjyHwKlp",
"img": "icons/magic/air/fog-gas-smoke-green.webp",

View file

@ -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",

View file

@ -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,

View file

@ -358,7 +358,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"effects": [
{

View file

@ -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": [
{

View file

@ -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,

View file

@ -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",

View file

@ -272,7 +272,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "MWfKUGzT1YBmLvpn",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",

View file

@ -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,

View file

@ -300,7 +300,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "reaction"
},
"_id": "rSMUPC5GhR982ifg",
"img": "icons/magic/perception/eye-slit-orange.webp",

View file

@ -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,

View file

@ -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",

View file

@ -364,7 +364,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "ohASSruBxcvuItIK",
"img": "icons/magic/unholy/barrier-fire-pink.webp",

View file

@ -272,7 +272,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "WP6xQtYzouPEFr82",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",

View file

@ -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": [
{

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -417,7 +417,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"effects": [
{

View file

@ -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",

View file

@ -330,7 +330,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "u5NL1eUJeAkIEpgt",
"img": "icons/magic/lightning/bolt-strike-sparks-teal.webp",

View file

@ -272,7 +272,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "13OraSLq2YjpZqbm",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",

View file

@ -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",

View file

@ -354,7 +354,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "g0h3Zo6xqgfSlyxi",
"img": "icons/skills/melee/strike-slashes-red.webp",

View file

@ -350,7 +350,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "gC4whvt2r9Tfso9Y",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -359,7 +359,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "reaction"
},
"effects": [],
"folder": null,

View file

@ -306,7 +306,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"effects": [],
"folder": null,

View file

@ -274,7 +274,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "FMgB28X1LammRInU",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",

View file

@ -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,

View file

@ -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": [
{

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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,

View file

@ -330,7 +330,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "Ye35DuZroQfeFoNw",
"img": "icons/skills/ranged/arrows-flying-salvo-yellow.webp",

View file

@ -327,7 +327,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "ZpypjDbaurs1YSFb",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",

View file

@ -339,7 +339,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "reaction"
},
"effects": [],
"folder": null,

View file

@ -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,

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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,

View file

@ -316,7 +316,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"effects": [
{

View file

@ -282,7 +282,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"effects": [],
"folder": null,

View file

@ -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,

View file

@ -362,7 +362,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"effects": [
{

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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,

View file

@ -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,

View file

@ -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,

View file

@ -276,7 +276,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"effects": [],
"folder": null,

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -375,7 +375,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "gBLVvHbyekmIUITD",
"img": "icons/magic/unholy/barrier-shield-glowing-pink.webp",

View file

@ -272,7 +272,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "7DWNmxZvp1Fm3aq3",
"img": "icons/creatures/abilities/tail-strike-bone-orange.webp",

View file

@ -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,

View file

@ -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",

View file

@ -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,

View file

@ -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,

View file

@ -407,7 +407,8 @@
}
},
"originItemType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"_id": "uzlxE1Cxm9GGmrNs",
"img": "icons/skills/melee/unarmed-punch-fist-blue.webp",

View file

@ -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,

View file

@ -276,7 +276,8 @@
},
"originItemType": null,
"subType": null,
"originId": null
"originId": null,
"featureForm": "action"
},
"effects": [],
"folder": null,

View file

@ -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",

Some files were not shown because too many files have changed in this diff Show more