[Feature] Damage Iterrable Rework (#1685)

* Initial

* More

* Fixed current actionConfig damage

* Reworked ActionConfig damage ui

* .

* Updated all Adversary compendium damage entries

* more

* The rest

* Fixed misses

* .

* .

* Also migrate sub fields of MappingField

* Removed MappingField

* Fix regression with re-tiering adversaries when dealing non-hp damage

* Allow iterable object to be detected as an object by foundry

---------

Co-authored-by: Carlos Fernandez <cfern1990@gmail.com>
This commit is contained in:
WBHarry 2026-03-08 00:58:24 +01:00 committed by GitHub
parent d3ebd30e59
commit 5a4bbc91f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
536 changed files with 2476 additions and 2368 deletions

View file

@ -67,7 +67,7 @@ export default class DhCompanionLevelUp extends BaseLevelUp {
break; break;
case 'summary': case 'summary':
const levelKeys = Object.keys(this.levelup.levels); const levelKeys = Object.keys(this.levelup.levels);
const actorDamageDice = this.actor.system.attack.damage.parts[0].value.dice; const actorDamageDice = this.actor.system.attack.damage.parts.hitPoints.value.dice;
const actorRange = this.actor.system.attack.range; const actorRange = this.actor.system.attack.range;
let achievementExperiences = []; let achievementExperiences = [];

View file

@ -1,3 +1,4 @@
import { getUnusedDamageTypes } from '../../helpers/utils.mjs';
import DaggerheartSheet from '../sheets/daggerheart-sheet.mjs'; import DaggerheartSheet from '../sheets/daggerheart-sheet.mjs';
const { ApplicationV2 } = foundry.applications.api; const { ApplicationV2 } = foundry.applications.api;
@ -103,7 +104,7 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2)
} }
}; };
static CLEAN_ARRAYS = ['damage.parts', 'cost', 'effects', 'summon']; static CLEAN_ARRAYS = ['cost', 'effects', 'summon'];
_getTabs(tabs) { _getTabs(tabs) {
for (const v of Object.values(tabs)) { for (const v of Object.values(tabs)) {
@ -155,6 +156,7 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2)
revealed: this.openTrigger === index revealed: this.openTrigger === index
}; };
}); });
context.allDamageTypesUsed = !getUnusedDamageTypes(this.action.damage.parts).length;
const settingsTiers = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LevelTiers).tiers; const settingsTiers = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LevelTiers).tiers;
context.tierOptions = [ context.tierOptions = [
@ -268,18 +270,61 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2)
static addDamage(_event) { static addDamage(_event) {
if (!this.action.damage.parts) return; if (!this.action.damage.parts) return;
const data = this.action.toObject(),
part = {}; const choices = getUnusedDamageTypes(this.action.damage.parts);
if (this.action.actor?.isNPC) part.value = { multiplier: 'flat' }; const content = new foundry.data.fields.StringField({
data.damage.parts.push(part); label: game.i18n.localize('Damage Type'),
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); choices,
required: true
}).toFormGroup(
{},
{
name: 'type',
localize: true,
nameAttr: 'value',
labelAttr: 'label'
}
).outerHTML;
const callback = (_, button) => {
const data = this.action.toObject();
const type = choices[button.form.elements.type.value].value;
const part = { applyTo: type };
if (this.action.actor?.isNPC) part.value = { multiplier: 'flat' };
data.damage.parts[type] = part;
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
};
const typeDialog = new foundry.applications.api.DialogV2({
buttons: [
foundry.utils.mergeObject(
{
action: 'ok',
label: 'Confirm',
icon: 'fas fa-check',
default: true
},
{ callback: callback }
)
],
content: content,
rejectClose: false,
modal: false,
window: {
title: game.i18n.localize('Add Damage')
},
position: { width: 300 }
});
typeDialog.render(true);
} }
static removeDamage(_event, button) { static removeDamage(_event, button) {
if (!this.action.damage.parts) return; if (!this.action.damage.parts) return;
const data = this.action.toObject(), const data = this.action.toObject();
index = button.dataset.index; const key = button.dataset.key;
data.damage.parts.splice(index, 1); delete data.damage.parts[key];
data.damage.parts[`-=${key}`] = null;
this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) });
} }

View file

@ -472,7 +472,10 @@ export default function DHApplicationMixin(Base) {
icon: 'fa-solid fa-explosion', icon: 'fa-solid fa-explosion',
condition: target => { condition: target => {
const doc = getDocFromElementSync(target); const doc = getDocFromElementSync(target);
return doc?.system?.attack?.damage.parts.length || doc?.damage?.parts.length; return (
!foundry.utils.isEmpty(doc?.system?.attack?.damage.parts) ||
!foundry.utils.isEmpty(doc?.damage?.parts)
);
}, },
callback: async (target, event) => { callback: async (target, event) => {
const doc = await getDocFromElement(target), const doc = await getDocFromElement(target),

View file

@ -245,8 +245,8 @@ export const defaultRestOptions = {
type: 'friendly' type: 'friendly'
}, },
damage: { damage: {
parts: [ parts: {
{ hitPoints: {
applyTo: healingTypes.hitPoints.id, applyTo: healingTypes.hitPoints.id,
value: { value: {
custom: { custom: {
@ -255,7 +255,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
} }
}, },
@ -279,8 +279,8 @@ export const defaultRestOptions = {
type: 'self' type: 'self'
}, },
damage: { damage: {
parts: [ parts: {
{ stress: {
applyTo: healingTypes.stress.id, applyTo: healingTypes.stress.id,
value: { value: {
custom: { custom: {
@ -289,7 +289,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
} }
}, },
@ -314,8 +314,8 @@ export const defaultRestOptions = {
type: 'friendly' type: 'friendly'
}, },
damage: { damage: {
parts: [ parts: {
{ armor: {
applyTo: healingTypes.armor.id, applyTo: healingTypes.armor.id,
value: { value: {
custom: { custom: {
@ -324,7 +324,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
} }
}, },
@ -348,8 +348,8 @@ export const defaultRestOptions = {
type: 'self' type: 'self'
}, },
damage: { damage: {
parts: [ parts: {
{ hope: {
applyTo: healingTypes.hope.id, applyTo: healingTypes.hope.id,
value: { value: {
custom: { custom: {
@ -358,7 +358,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
}, },
prepareWithFriends: { prepareWithFriends: {
@ -372,8 +372,8 @@ export const defaultRestOptions = {
type: 'self' type: 'self'
}, },
damage: { damage: {
parts: [ parts: {
{ hope: {
applyTo: healingTypes.hope.id, applyTo: healingTypes.hope.id,
value: { value: {
custom: { custom: {
@ -382,7 +382,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
} }
}, },
@ -409,8 +409,8 @@ export const defaultRestOptions = {
type: 'friendly' type: 'friendly'
}, },
damage: { damage: {
parts: [ parts: {
{ hitPoints: {
applyTo: healingTypes.hitPoints.id, applyTo: healingTypes.hitPoints.id,
value: { value: {
custom: { custom: {
@ -419,7 +419,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
} }
}, },
@ -443,8 +443,8 @@ export const defaultRestOptions = {
type: 'self' type: 'self'
}, },
damage: { damage: {
parts: [ parts: {
{ stress: {
applyTo: healingTypes.stress.id, applyTo: healingTypes.stress.id,
value: { value: {
custom: { custom: {
@ -453,7 +453,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
} }
}, },
@ -478,8 +478,8 @@ export const defaultRestOptions = {
type: 'friendly' type: 'friendly'
}, },
damage: { damage: {
parts: [ parts: {
{ armor: {
applyTo: healingTypes.armor.id, applyTo: healingTypes.armor.id,
value: { value: {
custom: { custom: {
@ -488,7 +488,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
} }
}, },
@ -512,8 +512,8 @@ export const defaultRestOptions = {
type: 'self' type: 'self'
}, },
damage: { damage: {
parts: [ parts: {
{ hope: {
applyTo: healingTypes.hope.id, applyTo: healingTypes.hope.id,
value: { value: {
custom: { custom: {
@ -522,7 +522,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
}, },
prepareWithFriends: { prepareWithFriends: {
@ -536,8 +536,8 @@ export const defaultRestOptions = {
type: 'self' type: 'self'
}, },
damage: { damage: {
parts: [ parts: {
{ hope: {
applyTo: healingTypes.hope.id, applyTo: healingTypes.hope.id,
value: { value: {
custom: { custom: {
@ -546,7 +546,7 @@ export const defaultRestOptions = {
} }
} }
} }
] }
} }
} }
}, },

View file

@ -14,8 +14,8 @@ export const armorFeatures = {
type: 'hostile' type: 'hostile'
}, },
damage: { damage: {
parts: [ parts: {
{ stress: {
applyTo: 'stress', applyTo: 'stress',
value: { value: {
custom: { custom: {
@ -24,7 +24,7 @@ export const armorFeatures = {
} }
} }
} }
] }
} }
} }
] ]
@ -732,8 +732,8 @@ export const weaponFeatures = {
type: 'hostile' type: 'hostile'
}, },
damage: { damage: {
parts: [ parts: {
{ stress: {
applyTo: 'stress', applyTo: 'stress',
value: { value: {
custom: { custom: {
@ -742,7 +742,7 @@ export const weaponFeatures = {
} }
} }
} }
] }
} }
} }
], ],
@ -914,8 +914,8 @@ export const weaponFeatures = {
type: 'self' type: 'self'
}, },
damage: { damage: {
parts: [ parts: {
{ hitPoints: {
applyTo: 'hitPoints', applyTo: 'hitPoints',
value: { value: {
custom: { custom: {
@ -924,7 +924,7 @@ export const weaponFeatures = {
} }
} }
} }
] }
} }
} }
] ]

View file

@ -26,23 +26,23 @@ export default class DHAttackAction extends DHDamageAction {
return { return {
value: { value: {
multiplier: 'prof', multiplier: 'prof',
dice: this.item?.system?.attack.damage.parts[0].value.dice, dice: this.item?.system?.attack.damage.parts.hitPoints.value.dice,
bonus: this.item?.system?.attack.damage.parts[0].value.bonus ?? 0 bonus: this.item?.system?.attack.damage.parts.hitPoints.value.bonus ?? 0
}, },
type: this.item?.system?.attack.damage.parts[0].type, type: this.item?.system?.attack.damage.parts.hitPoints.type,
base: true base: true
}; };
} }
get damageFormula() { get damageFormula() {
const hitPointsPart = this.damage.parts.find(x => x.applyTo === CONFIG.DH.GENERAL.healingTypes.hitPoints.id); const hitPointsPart = this.damage.parts.hitPoints;
if (!hitPointsPart) return '0'; if (!hitPointsPart) return '0';
return hitPointsPart.value.getFormula(); return hitPointsPart.value.getFormula();
} }
get altDamageFormula() { get altDamageFormula() {
const hitPointsPart = this.damage.parts.find(x => x.applyTo === CONFIG.DH.GENERAL.healingTypes.hitPoints.id); const hitPointsPart = this.damage.parts.hitPoints;
if (!hitPointsPart) return '0'; if (!hitPointsPart) return '0';
return hitPointsPart.valueAlt.getFormula(); return hitPointsPart.valueAlt.getFormula();

View file

@ -352,11 +352,11 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
} }
get hasDamage() { get hasDamage() {
return this.damage?.parts?.length && this.type !== 'healing'; return !foundry.utils.isEmpty(this.damage.parts) && this.type !== 'healing';
} }
get hasHealing() { get hasHealing() {
return this.damage?.parts?.length && this.type === 'healing'; return !foundry.utils.isEmpty(this.damage.parts) && this.type === 'healing';
} }
get hasSave() { get hasSave() {
@ -376,6 +376,15 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
return tags; return tags;
} }
static migrateData(source) {
if (source.damage?.parts && Array.isArray(source.damage.parts)) {
source.damage.parts = source.damage.parts.reduce((acc, part) => {
acc[part.applyTo] = part;
return acc;
}, {});
}
}
} }
export class ResourceUpdateMap extends Map { export class ResourceUpdateMap extends Map {

View file

@ -89,14 +89,14 @@ export default class DhpAdversary extends DhCreature {
type: 'attack' type: 'attack'
}, },
damage: { damage: {
parts: [ parts: {
{ hitPoints: {
type: ['physical'], type: ['physical'],
value: { value: {
multiplier: 'flat' multiplier: 'flat'
} }
} }
] }
} }
} }
}), }),
@ -268,12 +268,12 @@ export default class DhpAdversary extends DhCreature {
} }
// Update damage in item actions // Update damage in item actions
// Parse damage, and convert all formula matches in the descriptions to the new damage
for (const action of Object.values(item.system.actions)) { for (const action of Object.values(item.system.actions)) {
if (!action.damage) continue;
// Parse damage, and convert all formula matches in the descriptions to the new damage
try { try {
const result = this.#adjustActionDamage(action, { ...damageMeta, type: 'action' }); const result = this.#adjustActionDamage(action, { ...damageMeta, type: 'action' });
if (!result) continue;
for (const { previousFormula, formula } of Object.values(result)) { for (const { previousFormula, formula } of Object.values(result)) {
const oldFormulaRegexp = new RegExp( const oldFormulaRegexp = new RegExp(
previousFormula.replace(' ', '').replace('+', '(?:\\s)?\\+(?:\\s)?') previousFormula.replace(' ', '').replace('+', '(?:\\s)?\\+(?:\\s)?')
@ -375,16 +375,14 @@ export default class DhpAdversary extends DhCreature {
/** /**
* Updates damage to reflect a specific value. * Updates damage to reflect a specific value.
* @throws if damage structure is invalid for conversion * @throws if damage structure is invalid for conversion
* @returns the converted formula and value as a simplified term * @returns the converted formula and value as a simplified term, or null if it doesn't deal HP damage
*/ */
#adjustActionDamage(action, damageMeta) { #adjustActionDamage(action, damageMeta) {
// The current algorithm only returns a value if there is a single damage part if (!action.damage?.parts.hitPoints) return null;
const hpDamageParts = action.damage.parts.filter(d => d.applyTo === 'hitPoints');
if (hpDamageParts.length !== 1) throw new Error('incorrect number of hp parts');
const result = {}; const result = {};
for (const property of ['value', 'valueAlt']) { for (const property of ['value', 'valueAlt']) {
const data = hpDamageParts[0][property]; const data = action.damage.parts.hitPoints[property];
const previousFormula = data.custom.enabled const previousFormula = data.custom.enabled
? data.custom.formula ? data.custom.formula
: [data.flatMultiplier ? `${data.flatMultiplier}${data.dice}` : 0, data.bonus ?? 0] : [data.flatMultiplier ? `${data.flatMultiplier}${data.dice}` : 0, data.bonus ?? 0]

View file

@ -118,8 +118,8 @@ export default class DhCharacter extends DhCreature {
trait: 'strength' trait: 'strength'
}, },
damage: { damage: {
parts: [ parts: {
{ hitPoints: {
type: ['physical'], type: ['physical'],
value: { value: {
custom: { custom: {
@ -128,7 +128,7 @@ export default class DhCharacter extends DhCreature {
} }
} }
} }
] }
} }
} }
}), }),
@ -704,7 +704,7 @@ export default class DhCharacter extends DhCreature {
isReversed: true isReversed: true
}; };
this.attack.damage.parts[0].value.custom.formula = `@prof${this.basicAttackDamageDice}${this.rules.attack.damage.bonus ? ` + ${this.rules.attack.damage.bonus}` : ''}`; this.attack.damage.parts.hitPoints.value.custom.formula = `@prof${this.basicAttackDamageDice}${this.rules.attack.damage.bonus ? ` + ${this.rules.attack.damage.bonus}` : ''}`;
} }
getRollData() { getRollData() {

View file

@ -85,15 +85,15 @@ export default class DhCompanion extends DhCreature {
bonus: 0 bonus: 0
}, },
damage: { damage: {
parts: [ parts: {
{ hitPoints: {
type: ['physical'], type: ['physical'],
value: { value: {
dice: 'd6', dice: 'd6',
multiplier: 'prof' multiplier: 'prof'
} }
} }
] }
} }
} }
}), }),
@ -138,7 +138,9 @@ export default class DhCompanion extends DhCreature {
break; break;
case 'vicious': case 'vicious':
if (selection.data[0] === 'damage') { if (selection.data[0] === 'damage') {
this.attack.damage.parts[0].value.dice = adjustDice(this.attack.damage.parts[0].value.dice); this.attack.damage.parts.hitPoints.value.dice = adjustDice(
this.attack.damage.parts.hitPoints.value.dice
);
} else { } else {
this.attack.range = adjustRange(this.attack.range).id; this.attack.range = adjustRange(this.attack.range).id;
} }

View file

@ -1,4 +1,5 @@
export { ActionCollection } from './actionField.mjs'; export { ActionCollection } from './actionField.mjs';
export { default as IterableTypedObjectField } from './iterableTypedObjectField.mjs';
export { default as FormulaField } from './formulaField.mjs'; export { default as FormulaField } from './formulaField.mjs';
export { default as ForeignDocumentUUIDField } from './foreignDocumentUUIDField.mjs'; export { default as ForeignDocumentUUIDField } from './foreignDocumentUUIDField.mjs';
export { default as ForeignDocumentUUIDArrayField } from './foreignDocumentUUIDArrayField.mjs'; export { default as ForeignDocumentUUIDArrayField } from './foreignDocumentUUIDArrayField.mjs';

View file

@ -1,5 +1,6 @@
import FormulaField from '../formulaField.mjs'; import FormulaField from '../formulaField.mjs';
import { setsEqual } from '../../../helpers/utils.mjs'; import { setsEqual } from '../../../helpers/utils.mjs';
import IterableTypedObjectField from '../iterableTypedObjectField.mjs';
const fields = foundry.data.fields; const fields = foundry.data.fields;
@ -12,7 +13,7 @@ export default class DamageField extends fields.SchemaField {
/** @inheritDoc */ /** @inheritDoc */
constructor(options, context = {}) { constructor(options, context = {}) {
const damageFields = { const damageFields = {
parts: new fields.ArrayField(new fields.EmbeddedDataField(DHDamageData)), parts: new IterableTypedObjectField(DHDamageData),
includeBase: new fields.BooleanField({ includeBase: new fields.BooleanField({
initial: false, initial: false,
label: 'DAGGERHEART.ACTIONS.Settings.includeBase.label' label: 'DAGGERHEART.ACTIONS.Settings.includeBase.label'

View file

@ -0,0 +1,32 @@
export default class IterableTypedObjectField extends foundry.data.fields.TypedObjectField {
constructor(model, options = { collectionClass: foundry.utils.Collection }, context = {}) {
super(new foundry.data.fields.EmbeddedDataField(model), options, context);
this.#elementClass = model;
}
#elementClass;
/** Initializes an object with an iterator. This modifies the prototype instead of */
initialize(values) {
const object = Object.create(IterableObjectPrototype);
for (const [key, value] of Object.entries(values)) {
object[key] = new this.#elementClass(value);
}
return object;
}
}
/**
* The prototype of an iterable object.
* This allows the functionality of a class but also allows foundry.utils.getType() to return "Object" instead of "Unknown".
*/
const IterableObjectPrototype = {
[Symbol.iterator]: function*() {
for (const value of Object.values(this)) {
yield value;
}
},
map: function (func) {
return Array.from(this, func);
}
};

View file

@ -63,15 +63,15 @@ export default class DHWeapon extends AttachableItem {
type: 'attack' type: 'attack'
}, },
damage: { damage: {
parts: [ parts: {
{ hitPoints: {
type: ['physical'], type: ['physical'],
value: { value: {
multiplier: 'prof', multiplier: 'prof',
dice: 'd8' dice: 'd8'
} }
} }
] }
} }
} }
}), }),

View file

@ -49,9 +49,7 @@ export default class RegisterHandlebarsHelpers {
} }
static damageSymbols(damageParts) { static damageSymbols(damageParts) {
const symbols = [...new Set(damageParts.reduce((a, c) => a.concat([...c.type]), []))].map( const symbols = [...new Set(damageParts.map(x => x.type))].map(p => CONFIG.DH.GENERAL.damageTypes[p].icon);
p => CONFIG.DH.GENERAL.damageTypes[p].icon
);
return new Handlebars.SafeString(Array.from(symbols).map(symbol => `<i class="fa-solid ${symbol}"></i>`)); return new Handlebars.SafeString(Array.from(symbols).map(symbol => `<i class="fa-solid ${symbol}"></i>`));
} }

View file

@ -722,3 +722,16 @@ export async function RefreshFeatures(
return refreshedActors; return refreshedActors;
} }
export function getUnusedDamageTypes(parts) {
const usedKeys = Object.keys(parts);
return Object.keys(CONFIG.DH.GENERAL.healingTypes).reduce((acc, key) => {
if (!usedKeys.includes(key))
acc.push({
value: key,
label: game.i18n.localize(CONFIG.DH.GENERAL.healingTypes[key].label)
});
return acc;
}, []);
}

View file

@ -91,8 +91,8 @@
"useDefault": false "useDefault": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -118,7 +118,7 @@
}, },
"base": false "base": false
} }
], },
"includeBase": false "includeBase": false
}, },
"_id": "TCKVaVweyJzhEArX", "_id": "TCKVaVweyJzhEArX",
@ -343,7 +343,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -471,8 +471,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -499,7 +499,7 @@
} }
} }
}, },
{ "armor": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -524,7 +524,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -598,8 +598,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -626,7 +626,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -652,8 +652,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -680,7 +680,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -75,8 +75,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -102,7 +102,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -400,8 +400,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -427,7 +427,7 @@
} }
} }
} }
], },
"includeBase": false, "includeBase": false,
"direct": true "direct": true
}, },
@ -508,7 +508,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -581,8 +581,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -608,7 +608,7 @@
} }
} }
}, },
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -633,7 +633,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -72,8 +72,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -100,7 +100,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/daggers/dagger-bone-black.webp", "img": "icons/weapons/daggers/dagger-bone-black.webp",
"type": "attack", "type": "attack",

View file

@ -85,8 +85,8 @@
}, },
"range": "far", "range": "far",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -112,7 +112,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/magic/unholy/beam-ringed-impact-purple.webp", "img": "icons/magic/unholy/beam-ringed-impact-purple.webp",
"type": "attack", "type": "attack",
@ -256,7 +256,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -336,8 +336,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -363,7 +363,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -414,8 +414,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -440,7 +440,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -619,7 +619,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -692,8 +692,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -719,7 +719,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/bows/longbow-recurve-leather-brown.webp", "img": "icons/weapons/bows/longbow-recurve-leather-brown.webp",
"type": "attack", "type": "attack",
@ -246,8 +246,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -273,7 +273,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -68,8 +68,8 @@
"description": "<p>A group of trained archers bearing massive bows.</p>", "description": "<p>A group of trained archers bearing massive bows.</p>",
"attack": { "attack": {
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -95,7 +95,7 @@
"resultBased": false, "resultBased": false,
"base": false "base": false
} }
] }
}, },
"name": "Longbow", "name": "Longbow",
"img": "icons/weapons/bows/longbow-recurve-leather-brown.webp", "img": "icons/weapons/bows/longbow-recurve-leather-brown.webp",
@ -270,8 +270,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -295,7 +295,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -368,8 +368,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -393,7 +393,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -81,8 +81,8 @@
}, },
"range": "close", "range": "close",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -108,7 +108,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false

View file

@ -80,8 +80,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"range": "melee", "range": "melee",
"type": "attack", "type": "attack",
@ -309,7 +309,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -382,8 +382,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -409,7 +409,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -482,8 +482,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -509,7 +509,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -582,8 +582,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -609,7 +609,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -737,8 +737,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -763,7 +763,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -836,7 +836,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -964,8 +964,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -991,7 +991,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -1071,8 +1071,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -1097,7 +1097,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -1165,8 +1165,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -1192,7 +1192,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -84,8 +84,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -111,7 +111,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/creatures/claws/claw-straight-brown.webp", "img": "icons/creatures/claws/claw-straight-brown.webp",
"type": "attack", "type": "attack",
@ -284,8 +284,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -311,7 +311,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -441,8 +441,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -468,7 +468,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
"name": "Longsword", "name": "Longsword",
"img": "icons/weapons/swords/sword-guard.webp", "img": "icons/weapons/swords/sword-guard.webp",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -246,7 +246,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -319,7 +319,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -83,8 +83,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -110,7 +110,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp", "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp",
"type": "attack", "type": "attack",
@ -280,8 +280,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -307,7 +307,7 @@
} }
} }
} }
], },
"includeBase": false, "includeBase": false,
"direct": true "direct": true
}, },
@ -389,8 +389,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -415,7 +415,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -79,8 +79,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -106,7 +106,7 @@
}, },
"base": false "base": false
} }
], },
"direct": true "direct": true
}, },
"name": "Club", "name": "Club",
@ -336,8 +336,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false, "enabled": false,
@ -365,7 +365,7 @@
} }
} }
} }
], },
"includeBase": false, "includeBase": false,
"direct": true "direct": true
}, },
@ -412,8 +412,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -438,7 +438,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -507,8 +507,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -534,7 +534,7 @@
} }
} }
} }
], },
"includeBase": false, "includeBase": false,
"direct": true "direct": true
}, },

View file

@ -74,8 +74,8 @@
}, },
"range": "close", "range": "close",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -101,7 +101,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/magic/light/beam-rays-magenta.webp", "img": "icons/magic/light/beam-rays-magenta.webp",
"type": "attack", "type": "attack",
@ -383,8 +383,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -410,7 +410,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -483,8 +483,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -508,7 +508,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -67,8 +67,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -95,7 +95,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false

View file

@ -72,8 +72,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -99,7 +99,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"name": "Fist Slam", "name": "Fist Slam",
"img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp", "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp",
@ -332,8 +332,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -359,7 +359,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -534,8 +534,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -561,7 +561,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -84,8 +84,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -111,7 +111,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/daggers/dagger-straight-cracked.webp", "img": "icons/weapons/daggers/dagger-straight-cracked.webp",
"type": "attack", "type": "attack",
@ -256,8 +256,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -282,7 +282,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -79,8 +79,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -106,7 +106,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/daggers/dagger-twin-green.webp", "img": "icons/weapons/daggers/dagger-twin-green.webp",
"type": "attack", "type": "attack",
@ -253,8 +253,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -279,7 +279,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -84,8 +84,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -111,7 +111,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"range": "far", "range": "far",
"img": "icons/weapons/staves/staff-ornate-purple.webp", "img": "icons/weapons/staves/staff-ornate-purple.webp",
@ -256,8 +256,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -283,7 +283,7 @@
} }
} }
}, },
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -308,7 +308,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -614,8 +614,8 @@
"recovery": "scene" "recovery": "scene"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -640,7 +640,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -74,8 +74,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -101,7 +101,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"range": "melee", "range": "melee",
"type": "attack", "type": "attack",
@ -300,8 +300,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -326,7 +326,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -66,8 +66,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -94,7 +94,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",

View file

@ -79,8 +79,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -106,7 +106,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/magic/nature/root-vines-grow-brown.webp", "img": "icons/magic/nature/root-vines-grow-brown.webp",
"type": "attack", "type": "attack",
@ -245,8 +245,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -271,7 +271,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -325,8 +325,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -350,7 +350,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",

View file

@ -80,8 +80,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "far", "range": "far",
@ -435,8 +435,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -461,7 +461,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -515,8 +515,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -542,7 +542,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -81,8 +81,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -108,7 +108,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -251,8 +251,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -277,7 +277,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -329,8 +329,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -355,7 +355,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -414,8 +414,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -441,7 +441,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -550,8 +550,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -576,7 +576,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
}, },
"range": "far", "range": "far",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
], },
"direct": true "direct": true
}, },
"img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp", "img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp",
@ -352,7 +352,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -81,8 +81,8 @@
}, },
"img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp", "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -108,7 +108,7 @@
}, },
"base": false "base": false
} }
], },
"direct": true "direct": true
}, },
"type": "attack", "type": "attack",
@ -398,8 +398,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -425,7 +425,7 @@
} }
} }
} }
], },
"includeBase": false, "includeBase": false,
"direct": true "direct": true
}, },

View file

@ -74,8 +74,8 @@
"motivesAndTactics": "Cause fear, consume fl esh, please masters", "motivesAndTactics": "Cause fear, consume fl esh, please masters",
"attack": { "attack": {
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -101,7 +101,7 @@
"resultBased": false, "resultBased": false,
"base": false "base": false
} }
] }
}, },
"name": "Claws and Fangs", "name": "Claws and Fangs",
"img": "icons/creatures/abilities/mouth-teeth-rows-red.webp", "img": "icons/creatures/abilities/mouth-teeth-rows-red.webp",
@ -269,8 +269,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -295,7 +295,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -349,8 +349,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -376,7 +376,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -78,8 +78,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -105,7 +105,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/creatures/claws/claw-hooked-curved.webp", "img": "icons/creatures/claws/claw-hooked-curved.webp",
"type": "attack", "type": "attack",
@ -312,8 +312,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -337,7 +337,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -397,8 +397,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -424,7 +424,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -79,8 +79,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -106,7 +106,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/creatures/claws/claw-straight-brown.webp", "img": "icons/creatures/claws/claw-straight-brown.webp",
"type": "attack", "type": "attack",
@ -247,8 +247,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -272,7 +272,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -352,8 +352,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -377,7 +377,7 @@
} }
} }
} }
], },
"includeBase": false, "includeBase": false,
"direct": true "direct": true
}, },

View file

@ -81,8 +81,8 @@
}, },
"range": "far", "range": "far",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -108,7 +108,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -251,7 +251,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -297,8 +297,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -324,7 +324,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -438,8 +438,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -464,7 +464,7 @@
}, },
"type": [] "type": []
}, },
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -489,7 +489,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -68,8 +68,8 @@
"motivesAndTactics": "Avoid larger predators, shock prey, tear apart", "motivesAndTactics": "Avoid larger predators, shock prey, tear apart",
"attack": { "attack": {
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -95,7 +95,7 @@
"resultBased": false, "resultBased": false,
"base": false "base": false
} }
] }
}, },
"name": "Shocking Bite", "name": "Shocking Bite",
"img": "icons/creatures/abilities/mouth-teeth-sharp.webp", "img": "icons/creatures/abilities/mouth-teeth-sharp.webp",
@ -270,8 +270,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -297,7 +297,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -67,8 +67,8 @@
}, },
"range": "close", "range": "close",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -95,7 +95,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false

View file

@ -98,8 +98,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -125,7 +125,7 @@
}, },
"base": false "base": false
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -276,8 +276,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -303,7 +303,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -79,8 +79,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -106,7 +106,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/creatures/claws/claw-hooked-barbed.webp", "img": "icons/creatures/claws/claw-hooked-barbed.webp",
"range": "melee", "range": "melee",

View file

@ -67,8 +67,8 @@
"img": "icons/weapons/axes/axe-battle-skull-black.webp", "img": "icons/weapons/axes/axe-battle-skull-black.webp",
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -95,7 +95,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -256,8 +256,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -282,7 +282,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
}, },
"range": "far", "range": "far",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/staves/staff-animal-skull-bull.webp", "img": "icons/weapons/staves/staff-animal-skull-bull.webp",
"type": "attack", "type": "attack",
@ -251,8 +251,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -278,7 +278,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -482,8 +482,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -508,7 +508,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -67,8 +67,8 @@
"useDefault": false "useDefault": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -94,7 +94,7 @@
}, },
"base": false "base": false
} }
], },
"includeBase": false "includeBase": false
}, },
"description": "", "description": "",
@ -337,7 +337,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -416,8 +416,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -443,7 +443,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -516,8 +516,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -543,7 +543,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -653,8 +653,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -679,7 +679,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -67,8 +67,8 @@
"useDefault": false "useDefault": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -94,7 +94,7 @@
}, },
"base": false "base": false
} }
], },
"includeBase": false "includeBase": false
}, },
"description": "", "description": "",
@ -338,7 +338,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -410,8 +410,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -437,7 +437,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -697,8 +697,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -724,7 +724,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -792,8 +792,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -818,7 +818,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -81,8 +81,8 @@
}, },
"range": "far", "range": "far",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -108,7 +108,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -269,8 +269,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -294,7 +294,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -81,8 +81,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -108,7 +108,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -251,8 +251,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -278,7 +278,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -351,8 +351,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -378,7 +378,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -452,8 +452,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -479,7 +479,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -98,8 +98,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -125,7 +125,7 @@
}, },
"base": false "base": false
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -345,8 +345,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -372,7 +372,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -499,8 +499,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -526,7 +526,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -643,8 +643,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -670,7 +670,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -74,8 +74,8 @@
"motivesAndTactics": "Fly away, harass, steal blood", "motivesAndTactics": "Fly away, harass, steal blood",
"attack": { "attack": {
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -101,7 +101,7 @@
"resultBased": false, "resultBased": false,
"base": false "base": false
} }
] }
}, },
"name": "Proboscis", "name": "Proboscis",
"img": "icons/skills/wounds/blood-cells-vessel-red.webp", "img": "icons/skills/wounds/blood-cells-vessel-red.webp",

View file

@ -72,8 +72,8 @@
"name": "Claws", "name": "Claws",
"img": "icons/creatures/claws/claw-straight-brown.webp", "img": "icons/creatures/claws/claw-straight-brown.webp",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -100,7 +100,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -272,7 +272,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -62,8 +62,8 @@
"name": "Warhammer", "name": "Warhammer",
"img": "icons/weapons/hammers/hammer-double-stone-worn.webp", "img": "icons/weapons/hammers/hammer-double-stone-worn.webp",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -90,7 +90,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"range": "veryClose", "range": "veryClose",
"roll": { "roll": {

View file

@ -80,8 +80,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -253,8 +253,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -280,7 +280,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -354,8 +354,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -381,7 +381,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -508,8 +508,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -535,7 +535,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -75,8 +75,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -102,7 +102,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -240,8 +240,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "armor": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -266,7 +266,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -326,8 +326,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -351,7 +351,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -459,8 +459,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -486,7 +486,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -532,7 +532,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
}, },
"range": "far", "range": "far",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/bows/shortbow-recurve-yellow.webp", "img": "icons/weapons/bows/shortbow-recurve-yellow.webp",
"type": "attack", "type": "attack",
@ -409,8 +409,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -436,7 +436,7 @@
} }
} }
}, },
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -461,7 +461,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -541,7 +541,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -652,8 +652,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -679,7 +679,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -75,8 +75,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -102,7 +102,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -268,8 +268,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "armor": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -294,7 +294,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -422,8 +422,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -449,7 +449,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -578,8 +578,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -605,7 +605,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -75,8 +75,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -102,7 +102,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -245,8 +245,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -272,7 +272,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -401,7 +401,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -79,8 +79,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -106,7 +106,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp", "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp",
"type": "attack", "type": "attack",
@ -277,8 +277,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "armor": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -303,7 +303,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -356,8 +356,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -383,7 +383,7 @@
} }
} }
}, },
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -408,7 +408,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -75,8 +75,8 @@
"name": "Sanctified Longbow", "name": "Sanctified Longbow",
"img": "icons/weapons/bows/shortbow-recurve-yellow.webp", "img": "icons/weapons/bows/shortbow-recurve-yellow.webp",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -102,7 +102,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -314,8 +314,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -341,7 +341,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -65,8 +65,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -93,7 +93,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/skills/melee/sword-shield-stylized-white.webp", "img": "icons/skills/melee/sword-shield-stylized-white.webp",
"type": "attack", "type": "attack",

View file

@ -79,8 +79,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -106,7 +106,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/polearms/spear-hooked-rounded.webp", "img": "icons/weapons/polearms/spear-hooked-rounded.webp",
"type": "attack", "type": "attack",
@ -278,8 +278,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -305,7 +305,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -85,8 +85,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -112,7 +112,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -258,7 +258,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -398,8 +398,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -425,7 +425,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -244,8 +244,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -270,7 +270,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -322,7 +322,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -394,8 +394,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -420,7 +420,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -542,8 +542,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -568,7 +568,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/skills/melee/strike-blade-hooked-orange-blue.webp", "img": "icons/skills/melee/strike-blade-hooked-orange-blue.webp",
"type": "attack", "type": "attack",
@ -466,8 +466,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -493,7 +493,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -274,8 +274,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "armor": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -300,7 +300,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -352,8 +352,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -378,7 +378,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -75,8 +75,8 @@
}, },
"range": "close", "range": "close",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -102,7 +102,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -300,8 +300,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -326,7 +326,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -394,8 +394,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -420,7 +420,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -79,8 +79,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -106,7 +106,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/daggers/dagger-twin-green.webp", "img": "icons/weapons/daggers/dagger-twin-green.webp",
"type": "attack", "type": "attack",
@ -272,8 +272,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -299,7 +299,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
}, },
"img": "icons/weapons/staves/staff-blue-jewel.webp", "img": "icons/weapons/staves/staff-blue-jewel.webp",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -347,8 +347,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -374,7 +374,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -85,8 +85,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -112,7 +112,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -277,7 +277,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -64,8 +64,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -92,7 +92,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",

View file

@ -80,8 +80,8 @@
}, },
"range": "close", "range": "close",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -364,8 +364,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -391,7 +391,7 @@
} }
} }
}, },
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -416,7 +416,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -491,8 +491,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -518,7 +518,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -246,8 +246,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -273,7 +273,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -81,8 +81,8 @@
}, },
"range": "far", "range": "far",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -108,7 +108,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -246,8 +246,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -273,7 +273,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -75,8 +75,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -102,7 +102,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -296,7 +296,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -417,7 +417,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -490,8 +490,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -516,7 +516,7 @@
}, },
"type": [] "type": []
}, },
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -541,7 +541,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -90,8 +90,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -117,7 +117,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"range": "melee", "range": "melee",
"type": "attack", "type": "attack",
@ -392,8 +392,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -417,7 +417,7 @@
} }
} }
}, },
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -442,7 +442,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
}, },
"range": "close", "range": "close",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/creatures/tentacles/tentacles-octopus-black-pink.webp", "img": "icons/creatures/tentacles/tentacles-octopus-black-pink.webp",
"type": "attack", "type": "attack",
@ -327,7 +327,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -456,8 +456,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -483,7 +483,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -557,8 +557,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -584,7 +584,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"range": "melee", "range": "melee",
"type": "attack", "type": "attack",
@ -244,8 +244,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -269,7 +269,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -342,7 +342,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -86,8 +86,8 @@
}, },
"range": "close", "range": "close",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -113,7 +113,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -254,8 +254,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false, "enabled": false,
@ -283,7 +283,7 @@
} }
} }
} }
], },
"includeBase": false, "includeBase": false,
"direct": true "direct": true
}, },
@ -469,8 +469,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -496,7 +496,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -79,8 +79,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -106,7 +106,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/clubs/club-baton-blue.webp", "img": "icons/weapons/clubs/club-baton-blue.webp",
"type": "attack", "type": "attack",
@ -272,8 +272,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -298,7 +298,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -85,8 +85,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -112,7 +112,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -249,8 +249,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -275,7 +275,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -74,8 +74,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -101,7 +101,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"range": "close", "range": "close",
"type": "attack", "type": "attack",
@ -317,8 +317,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -343,7 +343,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -458,8 +458,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -485,7 +485,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -567,8 +567,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -594,7 +594,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -74,8 +74,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -101,7 +101,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -299,8 +299,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -325,7 +325,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -385,8 +385,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -412,7 +412,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -544,8 +544,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -571,7 +571,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -75,8 +75,8 @@
}, },
"range": "far", "range": "far",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -102,7 +102,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -297,8 +297,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -324,7 +324,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -405,8 +405,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -432,7 +432,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -511,8 +511,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -537,7 +537,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -578,8 +578,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -604,7 +604,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -674,8 +674,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -701,7 +701,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -66,8 +66,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -94,7 +94,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",

View file

@ -74,8 +74,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -101,7 +101,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/weapons/axes/axe-double.webp", "img": "icons/weapons/axes/axe-double.webp",
"type": "attack", "type": "attack",
@ -300,8 +300,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -327,7 +327,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -373,8 +373,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -401,7 +401,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -454,8 +454,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -479,7 +479,7 @@
} }
} }
} }
], },
"includeBase": false, "includeBase": false,
"direct": true "direct": true
}, },

View file

@ -85,8 +85,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -112,7 +112,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"range": "melee", "range": "melee",
@ -381,8 +381,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "fear": {
"value": { "value": {
"custom": { "custom": {
"enabled": false, "enabled": false,
@ -408,7 +408,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false, "includeBase": false,
"direct": false "direct": false
}, },

View file

@ -81,8 +81,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -108,7 +108,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -244,8 +244,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -270,7 +270,7 @@
}, },
"type": [] "type": []
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -361,8 +361,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false, "enabled": false,
@ -390,7 +390,7 @@
} }
} }
} }
], },
"includeBase": false, "includeBase": false,
"direct": true "direct": true
}, },
@ -518,7 +518,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -591,8 +591,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -618,7 +618,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -73,8 +73,8 @@
}, },
"range": "veryClose", "range": "veryClose",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"multiplier": "flat", "multiplier": "flat",
"flatMultiplier": 3, "flatMultiplier": 3,
@ -100,7 +100,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/skills/melee/blood-slash-foam-red.webp", "img": "icons/skills/melee/blood-slash-foam-red.webp",
"type": "attack", "type": "attack",
@ -273,8 +273,8 @@
"consumeOnSuccess": false "consumeOnSuccess": false
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false, "enabled": false,
@ -302,7 +302,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -80,8 +80,8 @@
}, },
"range": "far", "range": "far",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -107,7 +107,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp", "img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp",
"type": "attack", "type": "attack",
@ -244,8 +244,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -270,7 +270,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -322,8 +322,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -348,7 +348,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -407,8 +407,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -434,7 +434,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -514,7 +514,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -620,8 +620,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -647,7 +647,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -74,8 +74,8 @@
"type": "attack" "type": "attack"
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -101,7 +101,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"img": "icons/creatures/tentacles/tentacle-earth-green.webp", "img": "icons/creatures/tentacles/tentacle-earth-green.webp",
"type": "attack", "type": "attack",
@ -263,7 +263,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -384,7 +384,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -509,7 +509,7 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [], "parts": {},
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -75,8 +75,8 @@
}, },
"img": "icons/creatures/tentacles/tentacles-thing-green.webp", "img": "icons/creatures/tentacles/tentacles-thing-green.webp",
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": false "enabled": false
@ -102,7 +102,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"type": "attack", "type": "attack",
"chatDisplay": false "chatDisplay": false
@ -238,8 +238,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "hope": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -264,7 +264,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {
@ -316,8 +316,8 @@
"recovery": null "recovery": null
}, },
"damage": { "damage": {
"parts": [ "parts": {
{ "stress": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -342,7 +342,7 @@
} }
} }
} }
], },
"includeBase": false "includeBase": false
}, },
"target": { "target": {

View file

@ -60,8 +60,8 @@
}, },
"attack": { "attack": {
"damage": { "damage": {
"parts": [ "parts": {
{ "hitPoints": {
"value": { "value": {
"custom": { "custom": {
"enabled": true, "enabled": true,
@ -88,7 +88,7 @@
}, },
"base": false "base": false
} }
] }
}, },
"name": "Claws and Teeth", "name": "Claws and Teeth",
"roll": { "roll": {

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