diff --git a/daggerheart.mjs b/daggerheart.mjs index 7c72e421..26662804 100644 --- a/daggerheart.mjs +++ b/daggerheart.mjs @@ -233,11 +233,6 @@ Hooks.once('init', () => { return handlebarsRegistration(); }); -Hooks.on('i18nInit', () => { - // Setup homebrew resources - game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).refreshConfig(); -}); - Hooks.on('setup', () => { CONFIG.statusEffects = [ ...CONFIG.statusEffects.filter(x => !['dead', 'unconscious'].includes(x.id)), diff --git a/lang/en.json b/lang/en.json index e9043526..3be24841 100755 --- a/lang/en.json +++ b/lang/en.json @@ -76,15 +76,6 @@ "invalidDrop": "You can only drop Actor entities to summon.", "chatMessageTitle": "Test2", "chatMessageHeaderTitle": "Summoning" - }, - "transform": { - "name": "Transform", - "tooltip": "Transform one actor into another", - "noTransformActor": "There is no assigned actor to transform into", - "transformActorMissing": "The assigned actor to transform into does not exist. It was probably deleted or moved in/out of a compendium", - "canvasError": "There is no active scene.", - "prototypeError": "You can only use a transform action from a Token", - "actorLinkError": "You cannot transform a token with Actor Link set to true" } }, "Config": { @@ -140,12 +131,6 @@ }, "summon": { "dropSummonsHere": "Drop Summons Here" - }, - "transform": { - "dropTransformHere": "Drop Transform Here", - "actorIsMissing": "The linked actor is missing. You should delete this link.", - "clearHitPoints": "Clear Hitpoints", - "clearStress": "Clear Stress" } } }, @@ -1082,10 +1067,6 @@ "fear": "Fear", "spotlight": "Spotlight" }, - "DaggerheartDiceAnimationEvents": { - "critical": { "name": "Critical" }, - "higher": { "name": "Highest Roll" } - }, "DamageType": { "physical": { "name": "Physical", @@ -2315,7 +2296,6 @@ "identify": "Identity", "imagePath": "Image Path", "inactiveEffects": "Inactive Effects", - "initial": "Initial", "inventory": "Inventory", "itemResource": "Item Resource", "itemQuantity": "Item Quantity", @@ -2343,7 +2323,6 @@ "plurial": "Players" }, "portrait": "Portrait", - "preview": "Preview", "proficiency": "Proficiency", "quantity": "Quantity", "range": "Range", @@ -2685,14 +2664,6 @@ "title": "Triggers" } }, - "Metagaming": { - "FIELDS": { - "hideObserverPermissionInChat": { - "label": "Hide Chat Info From Players", - "hint": "Information such as hit/miss on attack rolls against adversaries will be hidden" - } - } - }, "Homebrew": { "newDowntimeMove": "Downtime Move", "downtimeMove": "Downtime Move", @@ -2707,8 +2678,6 @@ "resetMovesText": "Are you sure you want to reset?", "deleteItemTitle": "Delete Homebrew Item", "deleteItemText": "Are you sure you want to delete the item?", - "deleteResourceTitle": "Delete Homebrew Resource", - "deleteResourceText": "Are you sure you want to delete the resource?", "FIELDS": { "maxFear": { "label": "Max Fear" }, "maxHope": { "label": "Max Hope" }, @@ -2717,13 +2686,6 @@ "label": "Max Cards in Loadout", "hint": "Set to blank or 0 for unlimited maximum" }, - "resources": { - "resources": { - "value": { "label": "Icon" }, - "isIcon": { "label": "Font Awesome Icon" }, - "noColorFilter": { "label": "Disable Color Filter" } - } - }, "maxDomains": { "label": "Max Class Domains", "hint": "Max domains you can set on a class" } }, "currency": { @@ -2752,13 +2714,6 @@ "adversaryType": { "title": "Custom Adversary Types", "newType": "Adversary Type" - }, - "resources": { - "typeTitle": "{type} Resources", - "filledIcon": "Filled Icon", - "emptyIcon": "Empty Icon", - "resourceIdentifier": "Resource Identifier", - "setResourceIdentifier": "Set Resource Identifier" } }, "Menu": { @@ -2768,11 +2723,6 @@ "label": "Configure Automation", "hint": "Various settings automating resource management and more" }, - "metagaming": { - "name": "Metagaming Settings", - "label": "Configure Metagaming", - "hint": "Various settings controlling the flow of information to players" - }, "homebrew": { "name": "Homebrew Settings", "label": "Configure Homebrew", @@ -2798,12 +2748,7 @@ "colorset": "Theme", "material": "Material", "system": "Dice Preset", - "font": "Font", - "critical": "Duality Critical Animation", - "diceAppearance": "Dice Appearance", - "animations": "Animations", - "defaultAnimations": "Set Animations As Player Defaults", - "previewAnimation": "Preview Animation" + "font": "Font" } }, "variantRules": { diff --git a/module/applications/levelup/companionLevelup.mjs b/module/applications/levelup/companionLevelup.mjs index d6bf2d78..7f11ccff 100644 --- a/module/applications/levelup/companionLevelup.mjs +++ b/module/applications/levelup/companionLevelup.mjs @@ -67,7 +67,7 @@ export default class DhCompanionLevelUp extends BaseLevelUp { break; case 'summary': const levelKeys = Object.keys(this.levelup.levels); - const actorDamageDice = this.actor.system.attack.damage.parts.hitPoints.value.dice; + const actorDamageDice = this.actor.system.attack.damage.parts[0].value.dice; const actorRange = this.actor.system.attack.range; let achievementExperiences = []; diff --git a/module/applications/settings/_module.mjs b/module/applications/settings/_module.mjs index 28972397..b565777c 100644 --- a/module/applications/settings/_module.mjs +++ b/module/applications/settings/_module.mjs @@ -1,5 +1,4 @@ export { default as DhAppearanceSettings } from './appearanceSettings.mjs'; export { default as DhAutomationSettings } from './automationSettings.mjs'; export { default as DhHomebrewSettings } from './homebrewSettings.mjs'; -export { default as DhMetagamingSettings } from './metagamingSettings.mjs'; export { default as DhVariantRuleSettings } from './variantRuleSettings.mjs'; diff --git a/module/applications/settings/appearanceSettings.mjs b/module/applications/settings/appearanceSettings.mjs index 151648e1..9eb0cfbf 100644 --- a/module/applications/settings/appearanceSettings.mjs +++ b/module/applications/settings/appearanceSettings.mjs @@ -12,7 +12,7 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App static DEFAULT_OPTIONS = { tag: 'form', id: 'daggerheart-appearance-settings', - classes: ['daggerheart', 'dialog', 'dh-style', 'setting', 'appearance-settings'], + classes: ['daggerheart', 'dialog', 'dh-style', 'setting'], position: { width: '600', height: 'auto' }, window: { title: 'DAGGERHEART.SETTINGS.Menu.title', @@ -70,14 +70,6 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App } } - _attachPartListeners(partId, htmlElement, options) { - super._attachPartListeners(partId, htmlElement, options); - - htmlElement - .querySelector('.default-animations-input') - ?.addEventListener('change', this.toggleSFXOverride.bind(this)); - } - /** @inheritdoc */ _configureRenderParts(options) { const parts = super._configureRenderParts(options); @@ -91,20 +83,15 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App /**@inheritdoc */ async _prepareContext(options) { const context = await super._prepareContext(options); - if (options.isFirstRender) { + if (options.isFirstRender) this.setting = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance); - this.globalOverrides = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.GlobalOverrides); - } context.setting = this.setting; - context.globalOverrides = this.globalOverrides; context.fields = this.setting.schema.fields; context.tabs = this._prepareTabs('general'); context.dsnTabs = this._prepareTabs('diceSoNice'); - context.isGM = game.user.isGM; - return context; } @@ -133,9 +120,6 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App * @protected */ async prepareDiceSoNiceContext(context) { - context.animationEvents = CONFIG.DH.GENERAL.daggerheartDiceAnimationEvents; - context.previewAnimation = this.previewAnimation; - context.diceSoNiceTextures = Object.entries(game.dice3d.exports.TEXTURELIST).reduce( (acc, [k, v]) => ({ ...acc, @@ -162,13 +146,6 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App ); context.diceSoNiceFonts = game.dice3d.exports.Utils.prepareFontList(); - const getAnimationsOptions = key => { - const fields = context.fields.diceSoNice.fields[key].fields.sfx.fields; - return { - higher: fields.higher.fields.class.choices - }; - }; - foundry.utils.mergeObject( context.dsnTabs, ['hope', 'fear', 'advantage', 'disadvantage'].reduce( @@ -176,8 +153,7 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App ...acc, [key]: { values: this.setting.diceSoNice[key], - fields: this.setting.schema.getField(`diceSoNice.${key}`).fields, - animations: ['hope', 'fear'].includes(key) ? getAnimationsOptions(key) : {} + fields: this.setting.schema.getField(`diceSoNice.${key}`).fields } }), {} @@ -193,20 +169,13 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App * @param {foundry.applications.ux.FormDataExtended} formData * @returns {Promise} */ - static async #onSubmit(_event, _form, formData) { + static async #onSubmit(event, form, formData) { const data = this.setting.schema.clean(foundry.utils.expandObject(formData.object)); - await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance, data); } /* -------------------------------------------- */ - async toggleSFXOverride(event) { - await this.globalOverrides.diceSoNiceSFXUpdate(this.setting, event.target.checked); - this.globalOverrides = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.GlobalOverrides); - this.render(); - } - /** * Submit the configuration form. * @this {DHAppearanceSettings} @@ -214,25 +183,13 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App */ static async #onPreview(_, target) { const formData = new foundry.applications.ux.FormDataExtended(target.closest('form')); - const { diceSoNice, ...rest } = foundry.utils.expandObject(formData.object); + const { diceSoNice } = foundry.utils.expandObject(formData.object); const { key } = target.dataset; const faces = ['advantage', 'disadvantage'].includes(key) ? 'd6' : 'd12'; const preset = await getDiceSoNicePreset(diceSoNice[key], faces); const diceSoNiceRoll = await new foundry.dice.Roll(`1${faces}`).evaluate(); diceSoNiceRoll.dice[0].options.appearance = preset.appearance; diceSoNiceRoll.dice[0].options.modelFile = preset.modelFile; - - const previewAnimation = rest[`${key}PreviewAnimation`]; - const events = CONFIG.DH.GENERAL.daggerheartDiceAnimationEvents; - if (previewAnimation) { - if (previewAnimation === events.critical.id && diceSoNice.sfx.critical.class) { - diceSoNiceRoll.dice[0].options.sfx = { specialEffect: diceSoNice.sfx.critical.class }; - } - if (previewAnimation === events.higher.id && diceSoNice[key].sfx.higher) { - diceSoNiceRoll.dice[0].options.sfx = { specialEffect: diceSoNice[key].sfx.higher.class }; - } - } - await game.dice3d.showForRoll(diceSoNiceRoll, game.user, false); } diff --git a/module/applications/settings/automationSettings.mjs b/module/applications/settings/automationSettings.mjs index 52def7db..e720733e 100644 --- a/module/applications/settings/automationSettings.mjs +++ b/module/applications/settings/automationSettings.mjs @@ -31,8 +31,8 @@ export default class DhAutomationSettings extends HandlebarsApplicationMixin(App }; static PARTS = { - header: { template: 'systems/daggerheart/templates/settings/automation-settings/header.hbs' }, tabs: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-navigation.hbs' }, + header: { template: 'systems/daggerheart/templates/settings/automation-settings/header.hbs' }, general: { template: 'systems/daggerheart/templates/settings/automation-settings/general.hbs' }, rules: { template: 'systems/daggerheart/templates/settings/automation-settings/deathMoves.hbs' }, roll: { template: 'systems/daggerheart/templates/settings/automation-settings/roll.hbs' }, diff --git a/module/applications/settings/homebrewSettings.mjs b/module/applications/settings/homebrewSettings.mjs index 9f0b22c4..0779bf58 100644 --- a/module/applications/settings/homebrewSettings.mjs +++ b/module/applications/settings/homebrewSettings.mjs @@ -1,5 +1,4 @@ import { DhHomebrew } from '../../data/settings/_module.mjs'; -import { Resource } from '../../data/settings/Homebrew.mjs'; import { slugify } from '../../helpers/utils.mjs'; const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api; @@ -45,9 +44,6 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli addAdversaryType: this.addAdversaryType, deleteAdversaryType: this.deleteAdversaryType, selectAdversaryType: this.selectAdversaryType, - addResource: this.addResource, - removeResource: this.removeResource, - resetResourceImage: this.resetResourceImage, save: this.save, resetTokenSizes: this.resetTokenSizes, reset: this.reset @@ -60,10 +56,6 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli settings: { template: 'systems/daggerheart/templates/settings/homebrew-settings/settings.hbs' }, domains: { template: 'systems/daggerheart/templates/settings/homebrew-settings/domains.hbs' }, types: { template: 'systems/daggerheart/templates/settings/homebrew-settings/types.hbs' }, - resources: { - template: 'systems/daggerheart/templates/settings/homebrew-settings/resources.hbs', - scrollable: ['.resource-types-container'] - }, itemTypes: { template: 'systems/daggerheart/templates/settings/homebrew-settings/itemFeatures.hbs' }, downtime: { template: 'systems/daggerheart/templates/settings/homebrew-settings/downtime.hbs' }, footer: { template: 'systems/daggerheart/templates/settings/homebrew-settings/footer.hbs' } @@ -72,14 +64,7 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli /** @inheritdoc */ static TABS = { main: { - tabs: [ - { id: 'settings' }, - { id: 'domains' }, - { id: 'types' }, - { id: 'resources' }, - { id: 'itemFeatures' }, - { id: 'downtime' } - ], + tabs: [{ id: 'settings' }, { id: 'domains' }, { id: 'types' }, { id: 'itemFeatures' }, { id: 'downtime' }], initial: 'settings', labelPrefix: 'DAGGERHEART.GENERAL.Tabs' } @@ -92,17 +77,9 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli this.render(); } - _attachPartListeners(partId, htmlElement, options) { - super._attachPartListeners(partId, htmlElement, options); - - for (const element of htmlElement.querySelectorAll('.path-field input')) - element.addEventListener('change', this.toggleResourceIsIcon.bind(this)); - } - async _prepareContext(_options) { const context = await super._prepareContext(_options); context.settingFields = this.settings; - context.schemaFields = context.settingFields.schema.fields; return context; } @@ -126,8 +103,6 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli ? { id: this.selected.adversaryType, ...this.settings.adversaryTypes[this.selected.adversaryType] } : null; break; - case 'resources': - break; case 'downtime': context.restOptions = { shortRest: CONFIG.DH.GENERAL.defaultRestOptions.shortRest(), @@ -149,33 +124,6 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli this.render(); } - async toggleResourceIsIcon(event) { - const element = event.target.closest('.resource-icon-container'); - const { actorType, resourceKey, imageKey } = element.dataset; - - const current = this.settings.resources[actorType].resources[resourceKey].images[imageKey]; - await this.settings.updateSource({ - [`resources.${actorType}.resources.${resourceKey}.images.${imageKey}`]: { - isIcon: !current.isIcon, - value: '' - } - }); - - this.render(); - } - - static async resetResourceImage(_event, button) { - const element = button.closest('.resource-icon-container'); - const { actorType, resourceKey, imageKey } = element.dataset; - - await this.settings.updateSource({ - [`resources.${actorType}.resources.${resourceKey}.images.${imageKey}`]: - Resource.getDefaultImageData(imageKey) - }); - - this.render(); - } - static async changeCurrencyIcon(_, target) { const type = target.dataset.currency; const currentIcon = this.settings.currency[type].icon; @@ -518,58 +466,6 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli this.render(); } - static async addResource(_, target) { - const { actorType } = target.dataset; - const content = new foundry.data.fields.StringField({ - label: game.i18n.localize('DAGGERHEART.SETTINGS.Homebrew.resources.resourceIdentifier'), - required: true - }).toFormGroup({}, { name: 'identifier', localize: true }).outerHTML; - - async function callback(_, button) { - const identifier = button.form.elements.identifier.value; - if (!identifier) return; - - const sluggedIdentifier = slugify(identifier); - - await this.settings.updateSource({ - [`resources.${actorType}.resources.${sluggedIdentifier}`]: Resource.getDefaultResourceData(identifier) - }); - - game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew, this.settings.toObject()); - this.render(); - } - - await foundry.applications.api.DialogV2.prompt({ - content: content, - rejectClose: false, - modal: true, - ok: { callback: callback.bind(this) }, - window: { - title: game.i18n.localize('DAGGERHEART.SETTINGS.Homebrew.resources.setResourceIdentifier') - }, - position: { width: 400 } - }); - } - - static async removeResource(_, target) { - const confirmed = await foundry.applications.api.DialogV2.confirm({ - window: { - title: game.i18n.localize(`DAGGERHEART.SETTINGS.Homebrew.deleteResourceTitle`) - }, - content: game.i18n.localize('DAGGERHEART.SETTINGS.Homebrew.deleteResourceText') - }); - - if (!confirmed) return; - - const { actorType, resourceKey } = target.dataset; - await this.settings.updateSource({ - [`resources.${actorType}.resources.${resourceKey}`]: _del - }); - - game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew, this.settings.toObject()); - this.render(); - } - static async save() { await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew, this.settings.toObject()); this.close(); diff --git a/module/applications/settings/metagamingSettings.mjs b/module/applications/settings/metagamingSettings.mjs deleted file mode 100644 index c29a021b..00000000 --- a/module/applications/settings/metagamingSettings.mjs +++ /dev/null @@ -1,62 +0,0 @@ -import { DhMetagaming } from '../../data/settings/_module.mjs'; - -const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api; - -export default class DhMetagamingSettings extends HandlebarsApplicationMixin(ApplicationV2) { - constructor() { - super({}); - - this.settings = new DhMetagaming( - game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Metagaming).toObject() - ); - } - - get title() { - return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.title'); - } - - static DEFAULT_OPTIONS = { - tag: 'form', - id: 'daggerheart-metagaming-settings', - classes: ['daggerheart', 'dh-style', 'dialog', 'setting'], - position: { width: '600', height: 'auto' }, - window: { - icon: 'fa-solid fa-eye-low-vision' - }, - actions: { - reset: this.reset, - save: this.save - }, - form: { handler: this.updateData, submitOnChange: true } - }; - - static PARTS = { - header: { template: 'systems/daggerheart/templates/settings/metagaming-settings/header.hbs' }, - general: { template: 'systems/daggerheart/templates/settings/metagaming-settings/general.hbs' }, - footer: { template: 'systems/daggerheart/templates/settings/metagaming-settings/footer.hbs' } - }; - - async _prepareContext(_options) { - const context = await super._prepareContext(_options); - context.settingFields = this.settings; - - return context; - } - - static async updateData(_event, _element, formData) { - const updatedSettings = foundry.utils.expandObject(formData.object); - - await this.settings.updateSource(updatedSettings); - this.render(); - } - - static async reset() { - this.settings = new DhMetagaming(); - this.render(); - } - - static async save() { - await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Metagaming, this.settings.toObject()); - this.close(); - } -} diff --git a/module/applications/sheets-configs/action-base-config.mjs b/module/applications/sheets-configs/action-base-config.mjs index 53c57ec5..34543086 100644 --- a/module/applications/sheets-configs/action-base-config.mjs +++ b/module/applications/sheets-configs/action-base-config.mjs @@ -1,4 +1,3 @@ -import { getUnusedDamageTypes } from '../../helpers/utils.mjs'; import DaggerheartSheet from '../sheets/daggerheart-sheet.mjs'; const { ApplicationV2 } = foundry.applications.api; @@ -29,7 +28,6 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) removeEffect: this.removeEffect, addElement: this.addElement, removeElement: this.removeElement, - removeTransformActor: this.removeTransformActor, editEffect: this.editEffect, addDamage: this.addDamage, removeDamage: this.removeDamage, @@ -43,7 +41,7 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) submitOnChange: true, closeOnSubmit: false }, - dragDrop: [{ dragSelector: null, dropSelector: '[data-is-drop-zone]', handlers: ['_onDrop'] }] + dragDrop: [{ dragSelector: null, dropSelector: '#summon-drop-zone', handlers: ['_onDrop'] }] }; static PARTS = { @@ -105,7 +103,7 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) } }; - static CLEAN_ARRAYS = ['cost', 'effects', 'summon']; + static CLEAN_ARRAYS = ['damage.parts', 'cost', 'effects', 'summon']; _getTabs(tabs) { for (const v of Object.values(tabs)) { @@ -122,10 +120,6 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) htmlElement.querySelectorAll('.summon-count-wrapper input').forEach(element => { element.addEventListener('change', this.updateSummonCount.bind(this)); }); - - htmlElement.querySelectorAll('.transform-resource input').forEach(element => { - element.addEventListener('change', this.updateTransformResource.bind(this)); - }); } async _prepareContext(_options) { @@ -139,18 +133,6 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) context.summons.push({ actor, count: summon.count }); } - if (context.source.transform) { - const actor = await foundry.utils.fromUuid(context.source.transform.actorUUID); - context.transform = { - ...context.source.transform, - actor: - actor ?? - (context.source.transform.actorUUID && !actor - ? { error: game.i18n.localize('DAGGERHEART.ACTIONS.Settings.transform.actorIsMissing') } - : null) - }; - } - context.openSection = this.openSection; context.tabs = this._getTabs(this.constructor.TABS); context.config = CONFIG.DH; @@ -173,7 +155,6 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) 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; context.tierOptions = [ @@ -285,69 +266,20 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) if (doc) return doc.sheet.render({ force: true }); } - static async removeTransformActor() { - const data = this.action.toObject(); - data.transform.actorUUID = null; - this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); - } - static addDamage(_event) { if (!this.action.damage.parts) return; - - const choices = getUnusedDamageTypes(this.action.damage.parts); - const content = new foundry.data.fields.StringField({ - label: game.i18n.localize('Damage Type'), - 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); + const data = this.action.toObject(), + part = {}; + if (this.action.actor?.isNPC) part.value = { multiplier: 'flat' }; + data.damage.parts.push(part); + this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); } static removeDamage(_event, button) { if (!this.action.damage.parts) return; - const data = this.action.toObject(); - const key = button.dataset.key; - delete data.damage.parts[key]; - data.damage.parts[`${key}`] = _del; + const data = this.action.toObject(), + index = button.dataset.index; + data.damage.parts.splice(index, 1); this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); } @@ -414,14 +346,6 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); } - updateTransformResource(event) { - event.stopPropagation(); - - const data = this.action.toObject(); - data.transform.resourceRefresh[event.target.dataset.resource] = event.target.checked; - this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(data) }); - } - /** Specific implementation in extending classes **/ static async addEffect(_event) {} static removeEffect(_event, _button) {} @@ -440,18 +364,6 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) return; } - const dropZone = event.target.closest('[data-is-drop-zone]'); - if (!dropZone) return; - - switch (dropZone.id) { - case 'summon-drop-zone': - return this.onSummonDrop(data); - case 'transform-drop-zone': - return this.onTransformDrop(data); - } - } - - async onSummonDrop(data) { const actionData = this.action.toObject(); let countvalue = 1; for (const entry of actionData.summon) { @@ -468,10 +380,4 @@ export default class DHActionBaseConfig extends DaggerheartSheet(ApplicationV2) actionData.summon.push({ actorUUID: data.uuid, count: countvalue }); await this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(actionData) }); } - - async onTransformDrop(data) { - const actionData = this.action.toObject(); - actionData.transform.actorUUID = data.uuid; - await this.constructor.updateForm.bind(this)(null, null, { object: foundry.utils.flattenObject(actionData) }); - } } diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index 14dd1ae7..4ecaeb06 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -33,7 +33,6 @@ export default class CharacterSheet extends DHBaseActorSheet { handleResourceDice: CharacterSheet.#handleResourceDice, advanceResourceDie: CharacterSheet.#advanceResourceDie, cancelBeastform: CharacterSheet.#cancelBeastform, - toggleResourceManagement: CharacterSheet.#toggleResourceManagement, useDowntime: this.useDowntime, viewParty: CharacterSheet.#viewParty }, @@ -227,9 +226,6 @@ export default class CharacterSheet extends DHBaseActorSheet { async _preparePartContext(partId, context, options) { context = await super._preparePartContext(partId, context, options); switch (partId) { - case 'header': - await this._prepareHeaderContext(context, options); - break; case 'loadout': await this._prepareLoadoutContext(context, options); break; @@ -244,12 +240,6 @@ export default class CharacterSheet extends DHBaseActorSheet { return context; } - async _prepareHeaderContext(context, _options) { - context.hasExtraResources = Object.keys(CONFIG.DH.RESOURCE.character.all).some( - key => !CONFIG.DH.RESOURCE.character.base[key] - ); - } - /** * Prepare render context for the Loadout part. * @param {ApplicationRenderContext} context @@ -952,78 +942,6 @@ export default class CharacterSheet extends DHBaseActorSheet { }); } - static async #toggleResourceManagement(event, button) { - event.stopPropagation(); - const existingTooltip = document.body.querySelector('.locked-tooltip .resource-management-container'); - if (existingTooltip) { - game.tooltip.dismissLockedTooltips(); - return; - } - - const extraResources = Object.values(CONFIG.DH.RESOURCE.character.all).reduce((acc, resource) => { - if (CONFIG.DH.RESOURCE.character.base[resource.id]) return acc; - - const resourceData = this.document.system.resources[resource.id]; - acc[resource.id] = { - id: resource.id, - label: game.i18n.localize(resource.label), - value: resourceData.value, - max: resourceData.max, - fullIcon: resource.images?.full ?? { value: 'fa-solid fa-circle', isIcon: true }, - emptyIcon: resource.images?.empty ?? { value: 'fa-regular fa-circle', isIcon: true } - }; - - return acc; - }, {}); - - const html = document.createElement('div'); - html.innerHTML = await foundry.applications.handlebars.renderTemplate( - `systems/daggerheart/templates/ui/tooltip/resourceManagement.hbs`, - { - resources: extraResources - } - ); - - const target = button.closest('.resource-section'); - - game.tooltip.dismissLockedTooltips(); - game.tooltip.activate(target, { - html, - locked: true, - cssClass: 'bordered-tooltip', - direction: 'DOWN', - noOffset: true - }); - - const resourceManager = target.querySelector('.resource-manager'); - resourceManager.classList.toggle('inverted'); - - Hooks.once(CONFIG.DH.HOOKS.hooksConfig.lockedTooltipDismissed, () => { - resourceManager.classList.toggle('inverted'); - }); - - for (const element of html.querySelectorAll('.resource-value')) - element.addEventListener('click', this.onUpdateResource.bind(this)); - } - - async onUpdateResource(event) { - const target = event.target.closest('.resource-value'); - const { resource, value: textValue } = target.dataset; - - const inputValue = Number.parseInt(textValue); - const decreasing = inputValue <= this.document.system.resources[resource].value; - const value = decreasing ? inputValue - 1 : inputValue; - await this.document.update({ [`system.resources.${resource}.value`]: value }, { render: false }); - - /* Update resource symbols */ - const section = target.closest('.resource-section'); - for (const element of section.querySelectorAll('.resource-value')) { - const showFull = Number.parseInt(element.dataset.value) <= value; - element.querySelector('.full').classList.toggle('hidden', !showFull); - element.querySelector('.empty').classList.toggle('hidden', showFull); - } - } - /** * Open the downtime application. * @type {ApplicationClickAction} diff --git a/module/applications/sheets/api/actor-setting.mjs b/module/applications/sheets/api/actor-setting.mjs index 738f7002..d8cfb40f 100644 --- a/module/applications/sheets/api/actor-setting.mjs +++ b/module/applications/sheets/api/actor-setting.mjs @@ -44,32 +44,8 @@ export default class DHBaseActorSettings extends DHApplicationMixin(DocumentShee const context = await super._prepareContext(options); context.isNPC = this.actor.isNPC; - if (context.systemFields.attack) { + if (context.systemFields.attack) context.systemFields.attack.fields = this.actor.system.attack.schema.fields; - } - - // Create fake fields for actor configurable max resource value. - const resourceConfig = CONFIG.DH.RESOURCE[this.actor.type]?.all; - if (resourceConfig) { - const relevant = ['hitPoints', 'stress'].filter(r => r in resourceConfig); - context.resources = relevant.map(key => { - const data = this.actor._source.system.resources[key]; - const config = resourceConfig[key]; - return { - label: config.label, - name: `system.resources.${key}.max`, - value: data.max ?? config.max, - tooltip: key === 'hitPoints' ? game.i18n.localize('DAGGERHEART.UI.Tooltip.maxHPClassBound') : null, - field: new foundry.data.fields.NumberField({ - initial: config.max, - integer: true, - label: game.i18n.format('DAGGERHEART.GENERAL.maxWithThing', { - thing: game.i18n.localize(config.label) - }) - }) - }; - }); - } return context; } diff --git a/module/applications/sheets/api/application-mixin.mjs b/module/applications/sheets/api/application-mixin.mjs index 89941399..eb53f073 100644 --- a/module/applications/sheets/api/application-mixin.mjs +++ b/module/applications/sheets/api/application-mixin.mjs @@ -74,15 +74,6 @@ export default function DHApplicationMixin(Base) { class DHSheetV2 extends HandlebarsApplicationMixin(Base) { #nonHeaderAttribution = ['environment', 'ancestry', 'community', 'domainCard']; - /** - * @param {DHSheetV2Configuration} [options={}] - */ - constructor(options = {}) { - super(options); - - this._setupDragDrop(); - } - /** * The default options for the sheet. * @type {DHSheetV2Configuration} @@ -174,9 +165,7 @@ export default function DHApplicationMixin(Base) { /**@inheritdoc */ _attachPartListeners(partId, htmlElement, options) { super._attachPartListeners(partId, htmlElement, options); - - /* Core dragDrop from ActorDocument is always only 1. Possible we could refactor our own */ - if (Array.isArray(this._dragDrop)) this._dragDrop.forEach(d => d.bind(htmlElement)); + // this._dragDrop.forEach(d => d.bind(htmlElement)); // Handle delta inputs for (const deltaInput of htmlElement.querySelectorAll('input[data-allow-delta]')) { @@ -349,26 +338,6 @@ export default function DHApplicationMixin(Base) { /* Drag and Drop */ /* -------------------------------------------- */ - /** - * Creates drag-drop handlers from the configured options. - * @returns {foundry.applications.ux.DragDrop[]} - * @private - */ - _setupDragDrop() { - if (this._dragDrop) { - this._dragDrop.callbacks.dragStart = this._onDragStart; - this._dragDrop.callback.drop = this._onDrop; - } else { - this._dragDrop = this.options.dragDrop.map(d => { - d.callbacks = { - dragstart: this._onDragStart.bind(this), - drop: this._onDrop.bind(this) - }; - return new foundry.applications.ux.DragDrop.implementation(d); - }); - } - } - /** * Handle dragStart event. * @param {DragEvent} event @@ -503,10 +472,7 @@ export default function DHApplicationMixin(Base) { icon: 'fa-solid fa-explosion', condition: target => { const doc = getDocFromElementSync(target); - return ( - !foundry.utils.isEmpty(doc?.system?.attack?.damage.parts) || - !foundry.utils.isEmpty(doc?.damage?.parts) - ); + return doc?.system?.attack?.damage.parts.length || doc?.damage?.parts.length; }, callback: async (target, event) => { const doc = await getDocFromElement(target), @@ -698,9 +664,6 @@ export default function DHApplicationMixin(Base) { case 'weapon': presets.folder = 'equipments.folders.weapons'; break; - case 'feature': - presets.folder = 'features'; - break; case 'domainCard': presets.folder = 'domains'; presets.filter = { diff --git a/module/applications/ui/itemBrowser.mjs b/module/applications/ui/itemBrowser.mjs index 0c3a77fa..2d882eba 100644 --- a/module/applications/ui/itemBrowser.mjs +++ b/module/applications/ui/itemBrowser.mjs @@ -251,12 +251,6 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) { /* If any noticeable slowdown occurs, consider replacing with enriching description on clicking to expand descriptions */ for (const item of this.items) { - if (['weapon', 'armor'].includes(item.type)) { - item.system.enrichedTags = await foundry.applications.handlebars.renderTemplate( - 'systems/daggerheart/templates/sheets/global/partials/item-tags.hbs', - item.system - ); - } item.system.enrichedDescription = (await item.system.getEnrichedDescription?.()) ?? (await foundry.applications.ux.TextEditor.implementation.enrichHTML(item.description)); diff --git a/module/canvas/placeables/regionLayer.mjs b/module/canvas/placeables/regionLayer.mjs index 75c192a0..d50845b7 100644 --- a/module/canvas/placeables/regionLayer.mjs +++ b/module/canvas/placeables/regionLayer.mjs @@ -43,53 +43,6 @@ export default class DhRegionLayer extends foundry.canvas.layers.RegionLayer { const hole = ui.controls.controls[this.options.name].tools.hole?.active ?? false; if (game.activeTool === 'inFront') return { type: 'cone', x: 0, y: 0, radius: 0, angle: 180, hole }; - const shape = super._createDragShapeData(event); - const token = shape?.type === 'emanation' && shape.base?.type === 'token' ? this.#findTokenInBounds(event.interactionData.origin) : null; - if (token) { - shape.base.width = token.width; - shape.base.height = token.height; - event.interactionData.origin = token.getCenterPoint(); - } - return shape; - } - - async placeRegion(data, options = {}) { - const preConfirm = ({ _event, document, _create, _options }) => { - const shape = document.shapes[0]; - const isEmanation = shape.type === 'emanation'; - if (isEmanation) { - const token = this.#findTokenInBounds(shape.base.origin); - if (!token) return options.preConfirm?.() ?? true; - const shapeData = shape.toObject(); - document.updateSource({ - shapes: [ - { - ...shapeData, - base: { - ...shapeData.base, - height: token.height, - width: token.width, - x: token.x, - y: token.y - } - } - ] - }); - } - - return options?.preConfirm?.() ?? true; - }; - - super.placeRegion(data, { ...options, preConfirm }); - } - - /** Searches for token at origin point, returning null if there are no tokens or multiple overlapping tokens */ - #findTokenInBounds(origin) { - const { x, y } = origin; - const gridSize = canvas.grid.size; - const inBounds = canvas.scene.tokens.filter(t => { - return x.between(t.x, t.x + t.width * gridSize) && y.between(t.y, t.y + t.height * gridSize); - }); - return inBounds.length === 1 ? inBounds[0] : null; + return super._createDragShapeData(event); } } diff --git a/module/canvas/placeables/templateLayer.mjs b/module/canvas/placeables/templateLayer.mjs new file mode 100644 index 00000000..55bd7eb2 --- /dev/null +++ b/module/canvas/placeables/templateLayer.mjs @@ -0,0 +1,116 @@ +export default class DhTemplateLayer extends foundry.canvas.layers.TemplateLayer { + static prepareSceneControls() { + const sc = foundry.applications.ui.SceneControls; + return { + name: 'templates', + order: 2, + title: 'CONTROLS.GroupMeasure', + icon: 'fa-solid fa-ruler-combined', + visible: game.user.can('REGION_CREATE'), + onChange: (event, active) => { + if (active) canvas.templates.activate(); + }, + onToolChange: () => canvas.templates.setAllRenderFlags({ refreshState: true }), + tools: { + circle: { + name: 'circle', + order: 1, + title: 'CONTROLS.MeasureCircle', + icon: 'fa-regular fa-circle', + toolclip: { + src: 'toolclips/tools/measure-circle.webm', + heading: 'CONTROLS.MeasureCircle', + items: sc.buildToolclipItems(['create', 'move', 'edit', 'hide', 'delete']) + } + }, + cone: { + name: 'cone', + order: 2, + title: 'CONTROLS.MeasureCone', + icon: 'fa-solid fa-angle-left', + toolclip: { + src: 'toolclips/tools/measure-cone.webm', + heading: 'CONTROLS.MeasureCone', + items: sc.buildToolclipItems(['create', 'move', 'edit', 'hide', 'delete', 'rotate']) + } + }, + inFront: { + name: 'inFront', + order: 3, + title: 'CONTROLS.inFront', + icon: 'fa-solid fa-eye', + toolclip: { + src: 'toolclips/tools/measure-cone.webm', + heading: 'CONTROLS.inFront', + items: sc.buildToolclipItems(['create', 'move', 'edit', 'hide', 'delete', 'rotate']) + } + }, + rect: { + name: 'rect', + order: 4, + title: 'CONTROLS.MeasureRect', + icon: 'fa-regular fa-square', + toolclip: { + src: 'toolclips/tools/measure-rect.webm', + heading: 'CONTROLS.MeasureRect', + items: sc.buildToolclipItems(['create', 'move', 'edit', 'hide', 'delete', 'rotate']) + } + }, + ray: { + name: 'ray', + order: 5, + title: 'CONTROLS.MeasureRay', + icon: 'fa-solid fa-up-down', + toolclip: { + src: 'toolclips/tools/measure-ray.webm', + heading: 'CONTROLS.MeasureRay', + items: sc.buildToolclipItems(['create', 'move', 'edit', 'hide', 'delete', 'rotate']) + } + }, + clear: { + name: 'clear', + order: 6, + title: 'CONTROLS.MeasureClear', + icon: 'fa-solid fa-trash', + visible: game.user.isGM, + onChange: () => canvas.templates.deleteAll(), + button: true + } + }, + activeTool: 'circle' + }; + } + + _onDragLeftStart(event) { + const interaction = event.interactionData; + + // Snap the origin to the grid + if (!event.shiftKey) interaction.origin = this.getSnappedPoint(interaction.origin); + + // Create a pending MeasuredTemplateDocument + const tool = game.activeTool === 'inFront' ? 'cone' : game.activeTool; + const previewData = { + user: game.user.id, + t: tool, + x: interaction.origin.x, + y: interaction.origin.y, + sort: Math.max(this.getMaxSort() + 1, 0), + distance: 1, + direction: 0, + fillColor: game.user.color || '#FF0000', + hidden: event.altKey + }; + const defaults = CONFIG.MeasuredTemplate.defaults; + if (game.activeTool === 'cone') previewData.angle = defaults.angle; + else if (game.activeTool === 'inFront') previewData.angle = 180; + else if (game.activeTool === 'ray') previewData.width = defaults.width * canvas.dimensions.distance; + const cls = foundry.utils.getDocumentClass('MeasuredTemplate'); + const doc = new cls(previewData, { parent: canvas.scene }); + + // Create a preview MeasuredTemplate object + const template = new this.constructor.placeableClass(doc); + doc._object = template; + interaction.preview = this.preview.addChild(template); + template.draw(); + } +} diff --git a/module/config/_module.mjs b/module/config/_module.mjs index 7a725f54..560f3fec 100644 --- a/module/config/_module.mjs +++ b/module/config/_module.mjs @@ -11,4 +11,3 @@ export * as settingsConfig from './settingsConfig.mjs'; export * as systemConfig from './system.mjs'; export * as itemBrowserConfig from './itemBrowserConfig.mjs'; export * as triggerConfig from './triggerConfig.mjs'; -export * as resourceConfig from './resourceConfig.mjs'; diff --git a/module/config/actionConfig.mjs b/module/config/actionConfig.mjs index 0b1bf91d..c9b70193 100644 --- a/module/config/actionConfig.mjs +++ b/module/config/actionConfig.mjs @@ -35,12 +35,6 @@ export const actionTypes = { icon: 'fa-ghost', tooltip: 'DAGGERHEART.ACTIONS.TYPES.summon.tooltip' }, - transform: { - id: 'transform', - name: 'DAGGERHEART.ACTIONS.TYPES.transform.name', - icon: 'fa-dragon', - tooltip: 'DAGGERHEART.ACTIONS.TYPES.transform.tooltip' - }, effect: { id: 'effect', name: 'DAGGERHEART.ACTIONS.TYPES.effect.name', diff --git a/module/config/actorConfig.mjs b/module/config/actorConfig.mjs index aa7c3cf7..2235f873 100644 --- a/module/config/actorConfig.mjs +++ b/module/config/actorConfig.mjs @@ -55,6 +55,24 @@ export const abilities = { } }; +export const scrollingTextResource = { + hitPoints: { + label: 'DAGGERHEART.GENERAL.HitPoints.plural', + reversed: true + }, + stress: { + label: 'DAGGERHEART.GENERAL.stress', + reversed: true + }, + hope: { + label: 'DAGGERHEART.GENERAL.hope' + }, + armor: { + label: 'DAGGERHEART.GENERAL.armor', + reversed: true + } +}; + export const featureProperties = { agility: { name: 'DAGGERHEART.CONFIG.Traits.agility.name', diff --git a/module/config/generalConfig.mjs b/module/config/generalConfig.mjs index aad5d94c..5da380c3 100644 --- a/module/config/generalConfig.mjs +++ b/module/config/generalConfig.mjs @@ -245,8 +245,8 @@ export const defaultRestOptions = { type: 'friendly' }, damage: { - parts: { - hitPoints: { + parts: [ + { applyTo: healingTypes.hitPoints.id, value: { custom: { @@ -255,7 +255,7 @@ export const defaultRestOptions = { } } } - } + ] } } }, @@ -279,8 +279,8 @@ export const defaultRestOptions = { type: 'self' }, damage: { - parts: { - stress: { + parts: [ + { applyTo: healingTypes.stress.id, value: { custom: { @@ -289,7 +289,7 @@ export const defaultRestOptions = { } } } - } + ] } } }, @@ -314,8 +314,8 @@ export const defaultRestOptions = { type: 'friendly' }, damage: { - parts: { - armor: { + parts: [ + { applyTo: healingTypes.armor.id, value: { custom: { @@ -324,7 +324,7 @@ export const defaultRestOptions = { } } } - } + ] } } }, @@ -348,8 +348,8 @@ export const defaultRestOptions = { type: 'self' }, damage: { - parts: { - hope: { + parts: [ + { applyTo: healingTypes.hope.id, value: { custom: { @@ -358,7 +358,7 @@ export const defaultRestOptions = { } } } - } + ] } }, prepareWithFriends: { @@ -372,8 +372,8 @@ export const defaultRestOptions = { type: 'self' }, damage: { - parts: { - hope: { + parts: [ + { applyTo: healingTypes.hope.id, value: { custom: { @@ -382,7 +382,7 @@ export const defaultRestOptions = { } } } - } + ] } } }, @@ -409,8 +409,8 @@ export const defaultRestOptions = { type: 'friendly' }, damage: { - parts: { - hitPoints: { + parts: [ + { applyTo: healingTypes.hitPoints.id, value: { custom: { @@ -419,7 +419,7 @@ export const defaultRestOptions = { } } } - } + ] } } }, @@ -443,8 +443,8 @@ export const defaultRestOptions = { type: 'self' }, damage: { - parts: { - stress: { + parts: [ + { applyTo: healingTypes.stress.id, value: { custom: { @@ -453,7 +453,7 @@ export const defaultRestOptions = { } } } - } + ] } } }, @@ -478,8 +478,8 @@ export const defaultRestOptions = { type: 'friendly' }, damage: { - parts: { - armor: { + parts: [ + { applyTo: healingTypes.armor.id, value: { custom: { @@ -488,7 +488,7 @@ export const defaultRestOptions = { } } } - } + ] } } }, @@ -512,8 +512,8 @@ export const defaultRestOptions = { type: 'self' }, damage: { - parts: { - hope: { + parts: [ + { applyTo: healingTypes.hope.id, value: { custom: { @@ -522,7 +522,7 @@ export const defaultRestOptions = { } } } - } + ] } }, prepareWithFriends: { @@ -536,8 +536,8 @@ export const defaultRestOptions = { type: 'self' }, damage: { - parts: { - hope: { + parts: [ + { applyTo: healingTypes.hope.id, value: { custom: { @@ -546,7 +546,7 @@ export const defaultRestOptions = { } } } - } + ] } } }, @@ -634,95 +634,7 @@ export const diceSetNumbers = { flat: 'Flat' }; -export const diceSoNiceSFXClasses = { - PlayAnimationBright: { - id: 'PlayAnimationBright', - label: 'DICESONICE.PlayAnimationBright' - }, - PlayAnimationDark: { - id: 'PlayAnimationDark', - label: 'DICESONICE.PlayAnimationDark' - }, - PlayAnimationOutline: { - id: 'PlayAnimationOutline', - label: 'DICESONICE.PlayAnimationOutline' - }, - PlayAnimationImpact: { - id: 'PlayAnimationImpact', - label: 'DICESONICE.PlayAnimationImpact' - }, - // PlayConfettiStrength1: { - // id: 'PlayConfettiStrength1', - // label: 'DICESONICE.PlayConfettiStrength1' - // }, - // PlayConfettiStrength2: { - // id: 'PlayConfettiStrength2', - // label: 'DICESONICE.PlayConfettiStrength2' - // }, - // PlayConfettiStrength3: { - // id: 'PlayConfettiStrength3', - // label: 'DICESONICE.PlayConfettiStrength3' - // }, - PlayAnimationThormund: { - id: 'PlayAnimationThormund', - label: 'DICESONICE.PlayAnimationThormund' - }, - PlayAnimationParticleSpiral: { - id: 'PlayAnimationParticleSpiral', - label: 'DICESONICE.PlayAnimationParticleSpiral' - }, - PlayAnimationParticleSparkles: { - id: 'PlayAnimationParticleSparkles', - label: 'DICESONICE.PlayAnimationParticleSparkles' - }, - PlayAnimationParticleVortex: { - id: 'PlayAnimationParticleVortex', - label: 'DICESONICE.PlayAnimationParticleVortex' - }, - PlaySoundEpicWin: { - id: 'PlaySoundEpicWin', - label: 'DICESONICE.PlaySoundEpicWin' - }, - PlaySoundEpicFail: { - id: 'PlaySoundEpicFail', - label: 'DICESONICE.PlaySoundEpicFail' - } - // "PlaySoundCustom", - // "PlayMacro" -}; - -export const daggerheartDiceAnimationEvents = { - critical: { - id: 'critical', - label: 'DAGGERHEART.CONFIG.DaggerheartDiceAnimationEvents.critical.name' - }, - higher: { - id: 'higher', - label: 'DAGGERHEART.CONFIG.DaggerheartDiceAnimationEvents.higher.name' - } -}; - -const getDiceSoNiceSFX = sfxOptions => { - const diceSoNice = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance).diceSoNiceData; - const criticalAnimationData = diceSoNice.sfx.critical; - if (sfxOptions.critical && criticalAnimationData.class) { - return { - specialEffect: criticalAnimationData.class, - options: {} - }; - } - - if (sfxOptions.higher && sfxOptions.data.higher) { - return { - specialEffect: sfxOptions.data.higher.class, - options: {} - }; - } - - return {}; -}; - -export const getDiceSoNicePreset = async (type, faces, sfxOptions = {}) => { +export const getDiceSoNicePreset = async (type, faces) => { const system = game.dice3d.DiceFactory.systems.get(type.system).dice.get(faces); if (!system) { ui.notifications.error( @@ -745,33 +657,16 @@ export const getDiceSoNicePreset = async (type, faces, sfxOptions = {}) => { appearance: { ...system.appearance, ...type - }, - sfx: getDiceSoNiceSFX(sfxOptions) + } }; }; -export const getDiceSoNicePresets = async ( - result, - hopeFaces, - fearFaces, - advantageFaces = 'd6', - disadvantageFaces = 'd6' -) => { - const diceSoNice = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance).diceSoNiceData; - - const { isCritical, withHope, withFear } = result; +export const getDiceSoNicePresets = async (hopeFaces, fearFaces, advantageFaces = 'd6', disadvantageFaces = 'd6') => { + const { diceSoNice } = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance); return { - hope: await getDiceSoNicePreset(diceSoNice.hope, hopeFaces, { - critical: isCritical, - higher: withHope, - data: diceSoNice.hope.sfx - }), - fear: await getDiceSoNicePreset(diceSoNice.fear, fearFaces, { - critical: isCritical, - higher: withFear, - data: diceSoNice.fear.sfx - }), + hope: await getDiceSoNicePreset(diceSoNice.hope, hopeFaces), + fear: await getDiceSoNicePreset(diceSoNice.fear, fearFaces), advantage: await getDiceSoNicePreset(diceSoNice.advantage, advantageFaces), disadvantage: await getDiceSoNicePreset(diceSoNice.disadvantage, disadvantageFaces) }; diff --git a/module/config/hooksConfig.mjs b/module/config/hooksConfig.mjs index 61ba594c..9140ea0a 100644 --- a/module/config/hooksConfig.mjs +++ b/module/config/hooksConfig.mjs @@ -1,4 +1,3 @@ export const hooksConfig = { - effectDisplayToggle: 'DHEffectDisplayToggle', - lockedTooltipDismissed: 'DHLockedTooltipDismissed' + effectDisplayToggle: 'DHEffectDisplayToggle' }; diff --git a/module/config/itemConfig.mjs b/module/config/itemConfig.mjs index b424c707..77328987 100644 --- a/module/config/itemConfig.mjs +++ b/module/config/itemConfig.mjs @@ -14,8 +14,8 @@ export const armorFeatures = { type: 'hostile' }, damage: { - parts: { - stress: { + parts: [ + { applyTo: 'stress', value: { custom: { @@ -24,7 +24,7 @@ export const armorFeatures = { } } } - } + ] } } ] @@ -732,8 +732,8 @@ export const weaponFeatures = { type: 'hostile' }, damage: { - parts: { - stress: { + parts: [ + { applyTo: 'stress', value: { custom: { @@ -742,7 +742,7 @@ export const weaponFeatures = { } } } - } + ] } } ], @@ -914,8 +914,8 @@ export const weaponFeatures = { type: 'self' }, damage: { - parts: { - hitPoints: { + parts: [ + { applyTo: 'hitPoints', value: { custom: { @@ -924,7 +924,7 @@ export const weaponFeatures = { } } } - } + ] } } ] diff --git a/module/config/resourceConfig.mjs b/module/config/resourceConfig.mjs deleted file mode 100644 index 56ef6cd5..00000000 --- a/module/config/resourceConfig.mjs +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Full custom typing: - * id - * initial - * max - * reverse - * label - * images { - * full { value, isIcon, noColorFilter } - * empty { value, isIcon noColorFilter } - * } - */ - -const characterBaseResources = Object.freeze({ - hitPoints: { - id: 'hitPoints', - initial: 0, - max: 0, - reverse: true, - label: 'DAGGERHEART.GENERAL.HitPoints.plural', - maxLabel: 'DAGGERHEART.ACTORS.Character.maxHPBonus' - }, - stress: { - id: 'stress', - initial: 0, - max: 6, - reverse: true, - label: 'DAGGERHEART.GENERAL.stress' - }, - hope: { - id: 'hope', - initial: 2, - reverse: false, - label: 'DAGGERHEART.GENERAL.hope' - } -}); - -const adversaryBaseResources = Object.freeze({ - hitPoints: { - id: 'hitPoints', - initial: 0, - max: 0, - reverse: true, - label: 'DAGGERHEART.GENERAL.HitPoints.plural', - maxLabel: 'DAGGERHEART.ACTORS.Character.maxHPBonus' - }, - stress: { - id: 'stress', - initial: 0, - max: 0, - reverse: true, - label: 'DAGGERHEART.GENERAL.stress' - } -}); - -const companionBaseResources = Object.freeze({ - stress: { - id: 'stress', - initial: 0, - max: 0, - reverse: true, - label: 'DAGGERHEART.GENERAL.stress' - }, - hope: { - id: 'hope', - initial: 0, - reverse: false, - label: 'DAGGERHEART.GENERAL.hope' - } -}); - -export const character = { - base: characterBaseResources, - custom: {}, // module stuff goes here - all: { ...characterBaseResources } -}; - -export const adversary = { - base: adversaryBaseResources, - custom: {}, // module stuff goes here - all: { ...adversaryBaseResources } -}; - -export const companion = { - base: companionBaseResources, - custom: {}, // module stuff goes here - all: { ...companionBaseResources } -}; diff --git a/module/config/settingsConfig.mjs b/module/config/settingsConfig.mjs index 0b28f0ab..d3f752bb 100644 --- a/module/config/settingsConfig.mjs +++ b/module/config/settingsConfig.mjs @@ -3,10 +3,6 @@ export const menu = { Name: 'GameSettingsAutomation', Icon: 'fa-solid fa-robot' }, - Metagaming: { - Name: 'GameSettingsMetagaming', - Icon: 'fa-solid fa-eye-low-vision' - }, Homebrew: { Name: 'GameSettingsHomebrew', Icon: 'fa-solid fa-flask-vial' @@ -23,10 +19,8 @@ export const menu = { export const gameSettings = { Automation: 'Automation', - Metagaming: 'Metagaming', Homebrew: 'Homebrew', appearance: 'Appearance', - GlobalOverrides: 'GlobalOverrides', variantRules: 'VariantRules', Resources: { Fear: 'ResourcesFear' diff --git a/module/config/system.mjs b/module/config/system.mjs index 31dba518..47a41e8d 100644 --- a/module/config/system.mjs +++ b/module/config/system.mjs @@ -2,7 +2,6 @@ import * as GENERAL from './generalConfig.mjs'; import * as DOMAIN from './domainConfig.mjs'; import * as ENCOUNTER from './encounterConfig.mjs'; import * as ACTOR from './actorConfig.mjs'; -import * as RESOURCE from './resourceConfig.mjs'; import * as ITEM from './itemConfig.mjs'; import * as SETTINGS from './settingsConfig.mjs'; import * as EFFECTS from './effectConfig.mjs'; @@ -20,7 +19,6 @@ export const SYSTEM = { GENERAL, DOMAIN, ACTOR, - RESOURCE, ITEM, SETTINGS, EFFECTS, diff --git a/module/data/action/_module.mjs b/module/data/action/_module.mjs index 043b039c..9cfc48cb 100644 --- a/module/data/action/_module.mjs +++ b/module/data/action/_module.mjs @@ -7,7 +7,6 @@ import EffectAction from './effectAction.mjs'; import HealingAction from './healingAction.mjs'; import MacroAction from './macroAction.mjs'; import SummonAction from './summonAction.mjs'; -import TransformAction from './transformAction.mjs'; export const actionsTypes = { base: BaseAction, @@ -18,6 +17,5 @@ export const actionsTypes = { summon: SummonAction, effect: EffectAction, macro: MacroAction, - beastform: BeastformAction, - transform: TransformAction + beastform: BeastformAction }; diff --git a/module/data/action/attackAction.mjs b/module/data/action/attackAction.mjs index 3671613d..60112c40 100644 --- a/module/data/action/attackAction.mjs +++ b/module/data/action/attackAction.mjs @@ -26,23 +26,23 @@ export default class DHAttackAction extends DHDamageAction { return { value: { multiplier: 'prof', - dice: this.item?.system?.attack.damage.parts.hitPoints.value.dice, - bonus: this.item?.system?.attack.damage.parts.hitPoints.value.bonus ?? 0 + dice: this.item?.system?.attack.damage.parts[0].value.dice, + bonus: this.item?.system?.attack.damage.parts[0].value.bonus ?? 0 }, - type: this.item?.system?.attack.damage.parts.hitPoints.type, + type: this.item?.system?.attack.damage.parts[0].type, base: true }; } get damageFormula() { - const hitPointsPart = this.damage.parts.hitPoints; + const hitPointsPart = this.damage.parts.find(x => x.applyTo === CONFIG.DH.GENERAL.healingTypes.hitPoints.id); if (!hitPointsPart) return '0'; return hitPointsPart.value.getFormula(); } get altDamageFormula() { - const hitPointsPart = this.damage.parts.hitPoints; + const hitPointsPart = this.damage.parts.find(x => x.applyTo === CONFIG.DH.GENERAL.healingTypes.hitPoints.id); if (!hitPointsPart) return '0'; return hitPointsPart.valueAlt.getFormula(); diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index 75fc3981..f6ffe75f 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -197,7 +197,7 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel async executeWorkflow(config) { for (const [key, part] of this.workflow) { if (Hooks.call(`${CONFIG.DH.id}.pre${key.capitalize()}Action`, this, config) === false) return; - if ((await part.execute(config)) === false) return false; + if ((await part.execute(config)) === false) return; if (Hooks.call(`${CONFIG.DH.id}.post${key.capitalize()}Action`, this, config) === false) return; } } @@ -224,9 +224,7 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel } // Execute the Action Worflow in order based of schema fields - const result = await this.executeWorkflow(config); - if (result === false) return; - + await this.executeWorkflow(config); await config.resourceUpdates.updateResources(); if (Hooks.call(`${CONFIG.DH.id}.postUseAction`, this, config) === false) return; @@ -354,11 +352,11 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel } get hasDamage() { - return !foundry.utils.isEmpty(this.damage?.parts) && this.type !== 'healing'; + return this.damage?.parts?.length && this.type !== 'healing'; } get hasHealing() { - return !foundry.utils.isEmpty(this.damage?.parts) && this.type === 'healing'; + return this.damage?.parts?.length && this.type === 'healing'; } get hasSave() { @@ -378,15 +376,6 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel 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 { diff --git a/module/data/action/transformAction.mjs b/module/data/action/transformAction.mjs deleted file mode 100644 index 7e552902..00000000 --- a/module/data/action/transformAction.mjs +++ /dev/null @@ -1,5 +0,0 @@ -import DHBaseAction from './baseAction.mjs'; - -export default class DHTransformAction extends DHBaseAction { - static extraSchemas = [...super.extraSchemas, 'transform']; -} diff --git a/module/data/actor/adversary.mjs b/module/data/actor/adversary.mjs index 73673896..0a446c15 100644 --- a/module/data/actor/adversary.mjs +++ b/module/data/actor/adversary.mjs @@ -2,7 +2,7 @@ import DHAdversarySettings from '../../applications/sheets-configs/adversary-set import { ActionField } from '../fields/actionField.mjs'; import { commonActorRules } from './base.mjs'; import DhCreature from './creature.mjs'; -import { bonusField } from '../fields/actorField.mjs'; +import { resourceField, bonusField } from '../fields/actorField.mjs'; import { calculateExpectedValue, parseTermsFromSimpleFormula } from '../../helpers/utils.mjs'; import { adversaryExpectedDamage, adversaryScalingData } from '../../config/actorConfig.mjs'; @@ -65,6 +65,10 @@ export default class DhpAdversary extends DhCreature { label: 'DAGGERHEART.GENERAL.DamageThresholds.severeThreshold' }) }), + resources: new fields.SchemaField({ + hitPoints: resourceField(0, 0, 'DAGGERHEART.GENERAL.HitPoints.plural', true), + stress: resourceField(0, 0, 'DAGGERHEART.GENERAL.stress', true) + }), rules: new fields.SchemaField({ ...commonActorRules() }), @@ -85,14 +89,14 @@ export default class DhpAdversary extends DhCreature { type: 'attack' }, damage: { - parts: { - hitPoints: { + parts: [ + { type: ['physical'], value: { multiplier: 'flat' } } - } + ] } } }), @@ -187,7 +191,6 @@ export default class DhpAdversary extends DhCreature { } prepareDerivedData() { - super.prepareDerivedData(); this.attack.roll.isStandardAttack = true; } @@ -265,12 +268,12 @@ export default class DhpAdversary extends DhCreature { } // 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)) { + if (!action.damage) continue; + + // Parse damage, and convert all formula matches in the descriptions to the new damage try { const result = this.#adjustActionDamage(action, { ...damageMeta, type: 'action' }); - if (!result) continue; - for (const { previousFormula, formula } of Object.values(result)) { const oldFormulaRegexp = new RegExp( previousFormula.replace(' ', '').replace('+', '(?:\\s)?\\+(?:\\s)?') @@ -372,14 +375,16 @@ export default class DhpAdversary extends DhCreature { /** * Updates damage to reflect a specific value. * @throws if damage structure is invalid for conversion - * @returns the converted formula and value as a simplified term, or null if it doesn't deal HP damage + * @returns the converted formula and value as a simplified term */ #adjustActionDamage(action, damageMeta) { - if (!action.damage?.parts.hitPoints) return null; + // The current algorithm only returns a value if there is a single damage part + const hpDamageParts = action.damage.parts.filter(d => d.applyTo === 'hitPoints'); + if (hpDamageParts.length !== 1) throw new Error('incorrect number of hp parts'); const result = {}; for (const property of ['value', 'valueAlt']) { - const data = action.damage.parts.hitPoints[property]; + const data = hpDamageParts[0][property]; const previousFormula = data.custom.enabled ? data.custom.formula : [data.flatMultiplier ? `${data.flatMultiplier}${data.dice}` : 0, data.bonus ?? 0] diff --git a/module/data/actor/base.mjs b/module/data/actor/base.mjs index 9f571edb..3b4de08d 100644 --- a/module/data/actor/base.mjs +++ b/module/data/actor/base.mjs @@ -211,7 +211,7 @@ export default class BaseDataActor extends foundry.abstract.TypeDataModel { const textData = Object.keys(changes.system.resources).reduce((acc, key) => { const resource = changes.system.resources[key]; if (resource.value !== undefined && resource.value !== this.resources[key].value) { - acc.push(getScrollTextData(this.parent, resource, key)); + acc.push(getScrollTextData(this.resources, resource, key)); } return acc; diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index 7af4da9c..10fba63c 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -3,7 +3,7 @@ import ForeignDocumentUUIDField from '../fields/foreignDocumentUUIDField.mjs'; import DhLevelData from '../levelData.mjs'; import { commonActorRules } from './base.mjs'; import DhCreature from './creature.mjs'; -import { attributeField, stressDamageReductionRule, bonusField } from '../fields/actorField.mjs'; +import { attributeField, resourceField, stressDamageReductionRule, bonusField } from '../fields/actorField.mjs'; import { ActionField } from '../fields/actionField.mjs'; import DHCharacterSettings from '../../applications/sheets-configs/character-settings.mjs'; @@ -27,6 +27,28 @@ export default class DhCharacter extends DhCreature { return { ...super.defineSchema(), + resources: new fields.SchemaField({ + hitPoints: resourceField( + 0, + 0, + 'DAGGERHEART.GENERAL.HitPoints.plural', + true, + 'DAGGERHEART.ACTORS.Character.maxHPBonus' + ), + stress: resourceField(6, 0, 'DAGGERHEART.GENERAL.stress', true), + hope: new fields.SchemaField( + { + value: new fields.NumberField({ + initial: 2, + min: 0, + integer: true, + label: 'DAGGERHEART.GENERAL.hope' + }), + isReversed: new fields.BooleanField({ initial: false }) + }, + { label: 'DAGGERHEART.GENERAL.hope' } + ) + }), traits: new fields.SchemaField({ agility: attributeField('DAGGERHEART.CONFIG.Traits.agility.name'), strength: attributeField('DAGGERHEART.CONFIG.Traits.strength.name'), @@ -96,8 +118,8 @@ export default class DhCharacter extends DhCreature { trait: 'strength' }, damage: { - parts: { - hitPoints: { + parts: [ + { type: ['physical'], value: { custom: { @@ -106,7 +128,7 @@ export default class DhCharacter extends DhCreature { } } } - } + ] } } }), @@ -587,7 +609,6 @@ export default class DhCharacter extends DhCreature { } prepareBaseData() { - super.prepareBaseData(); this.evasion += this.class.value?.system?.evasion ?? 0; const currentLevel = this.levelData.level.current; @@ -659,7 +680,6 @@ export default class DhCharacter extends DhCreature { } prepareDerivedData() { - super.prepareDerivedData(); let baseHope = this.resources.hope.value; if (this.companion) { for (let levelKey in this.companion.system.levelData.levelups) { @@ -679,13 +699,12 @@ export default class DhCharacter extends DhCreature { this.attack.roll.trait = this.rules.attack.roll.trait ?? this.attack.roll.trait; this.resources.armor = { - label: 'DAGGERHEART.GENERAL.armor', value: this.armor?.system?.marks?.value ?? 0, max: this.armorScore, isReversed: true }; - this.attack.damage.parts.hitPoints.value.custom.formula = `@prof${this.basicAttackDamageDice}${this.rules.attack.damage.bonus ? ` + ${this.rules.attack.damage.bonus}` : ''}`; + this.attack.damage.parts[0].value.custom.formula = `@prof${this.basicAttackDamageDice}${this.rules.attack.damage.bonus ? ` + ${this.rules.attack.damage.bonus}` : ''}`; } getRollData() { @@ -721,8 +740,7 @@ export default class DhCharacter extends DhCreature { const newHopeMax = this.system.resources.hope.max + diff; const newHopeValue = Math.min(newHopeMax, this.system.resources.hope.value); if (newHopeValue != this.system.resources.hope.value) { - if (!changes.system.resources.hope) changes.system.resources.hope = { value: 0 }; - + if (!changes.system.resources) changes.system.resources = { hope: { value: 0 } }; changes.system.resources.hope = { ...changes.system.resources.hope, value: changes.system.resources.hope.value + newHopeValue diff --git a/module/data/actor/companion.mjs b/module/data/actor/companion.mjs index 81d0aa8a..6f51b593 100644 --- a/module/data/actor/companion.mjs +++ b/module/data/actor/companion.mjs @@ -4,7 +4,7 @@ import ForeignDocumentUUIDField from '../fields/foreignDocumentUUIDField.mjs'; import { ActionField } from '../fields/actionField.mjs'; import { adjustDice, adjustRange } from '../../helpers/utils.mjs'; import DHCompanionSettings from '../../applications/sheets-configs/companion-settings.mjs'; -import { bonusField } from '../fields/actorField.mjs'; +import { resourceField, bonusField } from '../fields/actorField.mjs'; export default class DhCompanion extends DhCreature { static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Companion']; @@ -26,6 +26,10 @@ export default class DhCompanion extends DhCreature { return { ...super.defineSchema(), partner: new ForeignDocumentUUIDField({ type: 'Actor' }), + resources: new fields.SchemaField({ + stress: resourceField(3, 0, 'DAGGERHEART.GENERAL.stress', true), + hope: new fields.NumberField({ initial: 0, integer: true, label: 'DAGGERHEART.GENERAL.hope' }) + }), evasion: new fields.NumberField({ required: true, min: 1, @@ -81,15 +85,15 @@ export default class DhCompanion extends DhCreature { bonus: 0 }, damage: { - parts: { - hitPoints: { + parts: [ + { type: ['physical'], value: { dice: 'd6', multiplier: 'prof' } } - } + ] } } }), @@ -123,7 +127,6 @@ export default class DhCompanion extends DhCreature { } prepareBaseData() { - super.prepareBaseData(); this.attack.roll.bonus = this.partner?.system?.spellcastModifier ?? 0; for (let levelKey in this.levelData.levelups) { @@ -135,9 +138,7 @@ export default class DhCompanion extends DhCreature { break; case 'vicious': if (selection.data[0] === 'damage') { - this.attack.damage.parts.hitPoints.value.dice = adjustDice( - this.attack.damage.parts.hitPoints.value.dice - ); + this.attack.damage.parts[0].value.dice = adjustDice(this.attack.damage.parts[0].value.dice); } else { this.attack.range = adjustRange(this.attack.range).id; } @@ -160,7 +161,6 @@ export default class DhCompanion extends DhCreature { } prepareDerivedData() { - super.prepareDerivedData(); /* Partner Related Setup */ if (this.partner) { this.levelData.level.changed = this.partner.system.levelData.level.current; diff --git a/module/data/actor/creature.mjs b/module/data/actor/creature.mjs index 601068ad..c8bf8448 100644 --- a/module/data/actor/creature.mjs +++ b/module/data/actor/creature.mjs @@ -1,4 +1,3 @@ -import { ResourcesField } from '../fields/actorField.mjs'; import BaseDataActor from './base.mjs'; export default class DhCreature extends BaseDataActor { @@ -8,7 +7,6 @@ export default class DhCreature extends BaseDataActor { return { ...super.defineSchema(), - resources: new ResourcesField(this.metadata.type), advantageSources: new fields.ArrayField(new fields.StringField(), { label: 'DAGGERHEART.ACTORS.Character.advantageSources.label', hint: 'DAGGERHEART.ACTORS.Character.advantageSources.hint' diff --git a/module/data/actor/environment.mjs b/module/data/actor/environment.mjs index 0aaf8eb0..c4a3f747 100644 --- a/module/data/actor/environment.mjs +++ b/module/data/actor/environment.mjs @@ -37,7 +37,7 @@ export default class DhEnvironment extends BaseDataActor { potentialAdversaries: new fields.TypedObjectField( new fields.SchemaField({ label: new fields.StringField(), - adversaries: new ForeignDocumentUUIDArrayField({ type: 'Actor' }) + adversaries: new ForeignDocumentUUIDArrayField({ type: 'Actor' }, { required: false, initial: [] }) }) ), notes: new fields.HTMLField() diff --git a/module/data/fields/_module.mjs b/module/data/fields/_module.mjs index 930814e2..58423979 100644 --- a/module/data/fields/_module.mjs +++ b/module/data/fields/_module.mjs @@ -1,5 +1,4 @@ export { ActionCollection } from './actionField.mjs'; -export { default as IterableTypedObjectField } from './iterableTypedObjectField.mjs'; export { default as FormulaField } from './formulaField.mjs'; export { default as ForeignDocumentUUIDField } from './foreignDocumentUUIDField.mjs'; export { default as ForeignDocumentUUIDArrayField } from './foreignDocumentUUIDArrayField.mjs'; diff --git a/module/data/fields/action/_module.mjs b/module/data/fields/action/_module.mjs index fa3b1cd5..0bdffca2 100644 --- a/module/data/fields/action/_module.mjs +++ b/module/data/fields/action/_module.mjs @@ -10,4 +10,3 @@ export { default as DamageField } from './damageField.mjs'; export { default as RollField } from './rollField.mjs'; export { default as MacroField } from './macroField.mjs'; export { default as SummonField } from './summonField.mjs'; -export { default as TransformField } from './transformField.mjs'; diff --git a/module/data/fields/action/damageField.mjs b/module/data/fields/action/damageField.mjs index e79a91a2..6439344b 100644 --- a/module/data/fields/action/damageField.mjs +++ b/module/data/fields/action/damageField.mjs @@ -1,6 +1,5 @@ import FormulaField from '../formulaField.mjs'; import { setsEqual } from '../../../helpers/utils.mjs'; -import IterableTypedObjectField from '../iterableTypedObjectField.mjs'; const fields = foundry.data.fields; @@ -13,7 +12,7 @@ export default class DamageField extends fields.SchemaField { /** @inheritDoc */ constructor(options, context = {}) { const damageFields = { - parts: new IterableTypedObjectField(DHDamageData), + parts: new fields.ArrayField(new fields.EmbeddedDataField(DHDamageData)), includeBase: new fields.BooleanField({ initial: false, label: 'DAGGERHEART.ACTIONS.Settings.includeBase.label' diff --git a/module/data/fields/action/transformField.mjs b/module/data/fields/action/transformField.mjs deleted file mode 100644 index 07b32166..00000000 --- a/module/data/fields/action/transformField.mjs +++ /dev/null @@ -1,103 +0,0 @@ -const fields = foundry.data.fields; - -export default class DHSummonField extends fields.SchemaField { - /** - * Action Workflow order - */ - static order = 130; - - constructor(options = {}, context = {}) { - const transformFields = { - actorUUID: new fields.DocumentUUIDField({ - type: 'Actor', - required: true - }), - resourceRefresh: new fields.SchemaField({ - hitPoints: new fields.BooleanField({ initial: true }), - stress: new fields.BooleanField({ initial: true }) - }) - }; - super(transformFields, options, context); - } - - static async execute() { - if (!this.transform.actorUUID) { - ui.notifications.warn(game.i18n.localize('DAGGERHEART.ACTIONS.TYPES.transform.noTransformActor')); - return false; - } - - const baseActor = await foundry.utils.fromUuid(this.transform.actorUUID); - if (!baseActor) { - ui.notifications.warn(game.i18n.localize('DAGGERHEART.ACTIONS.TYPES.transform.transformActorMissing')); - return false; - } - - if (!canvas.scene) { - ui.notifications.warn(game.i18n.localize('DAGGERHEART.ACTIONS.TYPES.transform.canvasError')); - return false; - } - - if (this.actor.prototypeToken.actorLink) { - ui.notifications.warn(game.i18n.localize('DAGGERHEART.ACTIONS.TYPES.transform.actorLinkError')); - return false; - } - - if (!this.actor.token) { - ui.notifications.warn(game.i18n.localize('DAGGERHEART.ACTIONS.TYPES.transform.prototypeError')); - return false; - } - - const actor = await DHSummonField.getWorldActor(baseActor); - const tokenSizes = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).tokenSizes; - const tokenSize = actor?.system.metadata.usesSize ? tokenSizes[actor.system.size] : actor.prototypeToken.width; - - await this.actor.token.update( - { ...actor.prototypeToken.toJSON(), actorId: actor.id, width: tokenSize, height: tokenSize }, - { diff: false, recursive: false, noHook: true } - ); - - if (this.actor.token.combatant) { - this.actor.token.combatant.update({ actorId: actor.id, img: actor.prototypeToken.texture.src }); - } - - const marks = { hitPoints: 0, stress: 0 }; - if (!this.transform.resourceRefresh.hitPoints) { - marks.hitPoints = Math.min( - this.actor.system.resources.hitPoints.value, - this.actor.token.actor.system.resources.hitPoints.max - 1 - ); - } - if (!this.transform.resourceRefresh.stress) { - marks.stress = Math.min( - this.actor.system.resources.stress.value, - this.actor.token.actor.system.resources.stress.max - 1 - ); - } - if (marks.hitPoints || marks.stress) { - this.actor.token.actor.update({ - 'system.resources': { - hitPoints: { value: marks.hitPoints }, - stress: { value: marks.stress } - } - }); - } - - const prevPosition = { ...this.actor.sheet.position }; - this.actor.sheet.close(); - this.actor.token.actor.sheet.render({ force: true, position: prevPosition }); - } - - /* Check for any available instances of the actor present in the world, or create a world actor based on compendium */ - static async getWorldActor(baseActor) { - if (!baseActor.inCompendium) return baseActor; - - const dataType = game.system.api.data.actors[`Dh${baseActor.type.capitalize()}`]; - if (dataType && baseActor.img === dataType.DEFAULT_ICON) { - const worldActorCopy = game.actors.find(x => x.name === baseActor.name); - if (worldActorCopy) return worldActorCopy; - } - - const worldActor = await game.system.api.documents.DhpActor.create(baseActor.toObject()); - return worldActor; - } -} diff --git a/module/data/fields/actionField.mjs b/module/data/fields/actionField.mjs index 20e4d6f0..624985fc 100644 --- a/module/data/fields/actionField.mjs +++ b/module/data/fields/actionField.mjs @@ -87,10 +87,10 @@ export class ActionField extends foundry.data.fields.ObjectField { /* -------------------------------------------- */ /** @override */ - _cleanType(value, options, _state) { + _cleanType(value, options) { if (!(typeof value === 'object')) value = {}; const cls = this.getModel(value); - if (cls) return cls.cleanData(value, options, _state); + if (cls) return cls.cleanData(value, options); return value; } diff --git a/module/data/fields/actorField.mjs b/module/data/fields/actorField.mjs index 69ba6bf1..db1faad4 100644 --- a/module/data/fields/actorField.mjs +++ b/module/data/fields/actorField.mjs @@ -6,6 +6,22 @@ const attributeField = label => tierMarked: new fields.BooleanField({ initial: false }) }); +const resourceField = (max = 0, initial = 0, label, reverse = false, maxLabel) => + new fields.SchemaField( + { + value: new fields.NumberField({ initial: initial, min: 0, integer: true, label }), + max: new fields.NumberField({ + initial: max, + integer: true, + label: + maxLabel ?? + game.i18n.format('DAGGERHEART.GENERAL.maxWithThing', { thing: game.i18n.localize(label) }) + }), + isReversed: new fields.BooleanField({ initial: reverse }) + }, + { label } + ); + const stressDamageReductionRule = localizationPath => new fields.SchemaField({ cost: new fields.NumberField({ @@ -21,67 +37,4 @@ const bonusField = label => dice: new fields.ArrayField(new fields.StringField(), { label: `${game.i18n.localize(label)} Dice` }) }); -/** - * Field used for actor resources. It is a resource that validates dynamically based on the config. - * Because "max" may be defined during runtime, we don't attempt to clamp the maximum value. - */ -class ResourcesField extends fields.TypedObjectField { - constructor(actorType) { - super( - new fields.SchemaField({ - value: new fields.NumberField({ min: 0, initial: 0, integer: true }), - // Some resources allow changing max. A null max means its the default - max: new fields.NumberField({ initial: null, integer: true, nullable: true }) - }) - ); - this.actorType = actorType; - } - - getInitialValue() { - const resources = CONFIG.DH.RESOURCE[this.actorType].all; - return Object.values(resources).reduce((result, resource) => { - result[resource.id] = { - value: resource.initial, - max: null - }; - return result; - }, {}); - } - - _validateKey(key) { - return key in CONFIG.DH.RESOURCE[this.actorType].all; - } - - _cleanType(value, options, _state) { - value = super._cleanType(value, options, _state); - - // If not partial, ensure all data exists - if (!options.partial) { - value = foundry.utils.mergeObject(this.getInitialValue(), value); - } - - return value; - } - - /** Initializes the original source data, returning prepared data */ - initialize(...args) { - const data = super.initialize(...args); - const resources = CONFIG.DH.RESOURCE[this.actorType].all; - for (const [key, value] of Object.entries(data)) { - // TypedObjectField only calls _validateKey when persisting, so we also call it here - if (!this._validateKey(key)) { - delete value[key]; - continue; - } - - // Add basic prepared data. - const resource = resources[key]; - value.label = resource.label; - value.isReversed = resources[key].reverse; - value.max = typeof resource.max === 'number' ? (value.max ?? resource.max) : null; - } - return data; - } -} - -export { attributeField, ResourcesField, stressDamageReductionRule, bonusField }; +export { attributeField, resourceField, stressDamageReductionRule, bonusField }; diff --git a/module/data/fields/iterableTypedObjectField.mjs b/module/data/fields/iterableTypedObjectField.mjs deleted file mode 100644 index d50d7dbf..00000000 --- a/module/data/fields/iterableTypedObjectField.mjs +++ /dev/null @@ -1,32 +0,0 @@ -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); - } -}; \ No newline at end of file diff --git a/module/data/item/base.mjs b/module/data/item/base.mjs index 5a16927a..447da3bf 100644 --- a/module/data/item/base.mjs +++ b/module/data/item/base.mjs @@ -224,7 +224,7 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel { const armorChanged = changed.system?.marks?.value !== undefined && changed.system.marks.value !== this.marks.value; if (armorChanged && autoSettings.resourceScrollTexts && this.parent.parent?.type === 'character') { - const armorData = getScrollTextData(this.parent.parent, changed.system.marks, 'armor'); + const armorData = getScrollTextData(this.parent.parent.system.resources, changed.system.marks, 'armor'); options.scrollingTextData = [armorData]; } diff --git a/module/data/item/weapon.mjs b/module/data/item/weapon.mjs index 9335037c..bb2e10d5 100644 --- a/module/data/item/weapon.mjs +++ b/module/data/item/weapon.mjs @@ -63,15 +63,15 @@ export default class DHWeapon extends AttachableItem { type: 'attack' }, damage: { - parts: { - hitPoints: { + parts: [ + { type: ['physical'], value: { multiplier: 'prof', dice: 'd8' } } - } + ] } } }), @@ -112,14 +112,24 @@ export default class DHWeapon extends AttachableItem { async getDescriptionData() { const baseDescription = this.description; + const tier = game.i18n.localize(`DAGGERHEART.GENERAL.Tiers.${this.tier}`); + const trait = game.i18n.localize(CONFIG.DH.ACTOR.abilities[this.attack.roll.trait].label); + const range = game.i18n.localize(`DAGGERHEART.CONFIG.Range.${this.attack.range}.name`); + const damage = Roll.replaceFormulaData(this.attack.damageFormula, this.parent.parent ?? this.parent); + const burden = game.i18n.localize(CONFIG.DH.GENERAL.burden[this.burden].label); + const allFeatures = CONFIG.DH.ITEM.allWeaponFeatures(); const features = this.weaponFeatures.map(x => allFeatures[x.value]).filter(x => x); const prefix = await foundry.applications.handlebars.renderTemplate( 'systems/daggerheart/templates/sheets/items/weapon/description.hbs', { - item: this, - features + features, + tier, + trait, + range, + damage, + burden } ); diff --git a/module/data/settings/Appearance.mjs b/module/data/settings/Appearance.mjs index 9da3afac..cd98d6f9 100644 --- a/module/data/settings/Appearance.mjs +++ b/module/data/settings/Appearance.mjs @@ -1,16 +1,6 @@ export default class DhAppearance extends foundry.abstract.DataModel { static LOCALIZATION_PREFIXES = ['DAGGERHEART.SETTINGS.Appearance']; - static sfxSchema = () => - new foundry.data.fields.SchemaField({ - class: new foundry.data.fields.StringField({ - nullable: true, - initial: null, - blank: true, - choices: CONFIG.DH.GENERAL.diceSoNiceSFXClasses - }) - }); - static defineSchema() { const { StringField, ColorField, BooleanField, SchemaField } = foundry.data.fields; @@ -25,10 +15,7 @@ export default class DhAppearance extends foundry.abstract.DataModel { colorset: new StringField({ initial: 'inspired', required: true, blank: false }), material: new StringField({ initial: 'metal', required: true, blank: false }), system: new StringField({ initial: 'standard', required: true, blank: false }), - font: new StringField({ initial: 'auto', required: true, blank: false }), - sfx: new SchemaField({ - higher: DhAppearance.sfxSchema() - }) + font: new StringField({ initial: 'auto', required: true, blank: false }) }); return { @@ -43,10 +30,7 @@ export default class DhAppearance extends foundry.abstract.DataModel { hope: diceStyle({ fg: '#ffffff', bg: '#ffe760', outline: '#000000', edge: '#ffffff' }), fear: diceStyle({ fg: '#000000', bg: '#0032b1', outline: '#ffffff', edge: '#000000' }), advantage: diceStyle({ fg: '#ffffff', bg: '#008000', outline: '#000000', edge: '#ffffff' }), - disadvantage: diceStyle({ fg: '#000000', bg: '#b30000', outline: '#ffffff', edge: '#000000' }), - sfx: new SchemaField({ - critical: DhAppearance.sfxSchema() - }) + disadvantage: diceStyle({ fg: '#000000', bg: '#b30000', outline: '#ffffff', edge: '#000000' }) }), extendCharacterDescriptions: new BooleanField(), extendAdversaryDescriptions: new BooleanField(), @@ -81,48 +65,4 @@ export default class DhAppearance extends foundry.abstract.DataModel { showGenericStatusEffects: new BooleanField({ initial: true }) }; } - - get diceSoNiceData() { - const globalOverrides = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.GlobalOverrides); - const getSFX = (baseClientData, overrideKey) => { - if (!globalOverrides.diceSoNice.sfx.overrideEnabled) return baseClientData; - const overrideData = globalOverrides.diceSoNice.sfx[overrideKey]; - const clientData = foundry.utils.deepClone(baseClientData); - return Object.keys(clientData).reduce((acc, key) => { - const data = clientData[key]; - acc[key] = Object.keys(data).reduce((acc, dataKey) => { - const value = data[dataKey]; - acc[dataKey] = value ? value : overrideData[key][dataKey]; - return acc; - }, {}); - return acc; - }, {}); - }; - - return { - ...this.diceSoNice, - sfx: getSFX(this.diceSoNice.sfx, 'global'), - hope: { - ...this.diceSoNice.hope, - sfx: getSFX(this.diceSoNice.hope.sfx, 'hope') - }, - fear: { - ...this.diceSoNice.fear, - sfx: getSFX(this.diceSoNice.fear.sfx, 'fear') - } - }; - } - - /** Invoked by the setting when data changes */ - handleChange() { - if (this.displayFear) { - if (ui.resources) { - if (this.displayFear === 'hide') ui.resources.close({ allowed: true }); - else ui.resources.render({ force: true }); - } - } - - const globalOverrides = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.GlobalOverrides); - globalOverrides.diceSoNiceSFXUpdate(this); - } } diff --git a/module/data/settings/GlobalOverrides.mjs b/module/data/settings/GlobalOverrides.mjs deleted file mode 100644 index 746a6355..00000000 --- a/module/data/settings/GlobalOverrides.mjs +++ /dev/null @@ -1,55 +0,0 @@ -import DhAppearance from './Appearance.mjs'; - -/** - * A setting to handle cases where we want to allow the GM to set a global default for client settings. - */ -export default class DhGlobalOverrides extends foundry.abstract.DataModel { - static defineSchema() { - const fields = foundry.data.fields; - return { - diceSoNice: new fields.SchemaField({ - sfx: new fields.SchemaField({ - overrideEnabled: new fields.BooleanField(), - global: new fields.SchemaField({ - critical: DhAppearance.sfxSchema() - }), - hope: new fields.SchemaField({ - higher: DhAppearance.sfxSchema() - }), - fear: new fields.SchemaField({ - higher: DhAppearance.sfxSchema() - }) - }) - }) - }; - } - - async diceSoNiceSFXUpdate(appearanceSettings, enabled) { - if (!game.user.isGM) return; - - const newEnabled = enabled !== undefined ? enabled : this.diceSoNice.sfx.overrideEnabled; - if (newEnabled) { - const newOverrides = foundry.utils.mergeObject(this.toObject(), { - diceSoNice: { - sfx: { - overrideEnabled: true, - global: appearanceSettings.diceSoNice.sfx, - hope: appearanceSettings.diceSoNice.hope.sfx, - fear: appearanceSettings.diceSoNice.fear.sfx - } - } - }); - await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.GlobalOverrides, newOverrides); - } else { - const newOverrides = { - ...this.toObject(), - diceSoNice: { - sfx: { - overrideEnabled: false - } - } - }; - await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.GlobalOverrides, newOverrides); - } - } -} diff --git a/module/data/settings/Homebrew.mjs b/module/data/settings/Homebrew.mjs index 81d97eda..618413b0 100644 --- a/module/data/settings/Homebrew.mjs +++ b/module/data/settings/Homebrew.mjs @@ -145,16 +145,6 @@ export default class DhHomebrew extends foundry.abstract.DataModel { description: new fields.StringField() }) ), - resources: new fields.TypedObjectField( - new fields.SchemaField({ - resources: new fields.TypedObjectField(new fields.EmbeddedDataField(Resource)) - }), - { - initial: { - character: { resources: {} } - } - } - ), itemFeatures: new fields.SchemaField({ weaponFeatures: new fields.TypedObjectField( new fields.SchemaField({ @@ -213,117 +203,4 @@ export default class DhHomebrew extends foundry.abstract.DataModel { return source; } - - /** Invoked by the setting when data changes */ - handleChange() { - if (this.maxFear) { - if (ui.resources) ui.resources.render({ force: true }); - } - - this.refreshConfig(); - this.#resetActors(); - } - - /** Update config values based on homebrew data. Make sure the references don't change */ - refreshConfig() { - for (const [actorType, actorData] of Object.entries(this.resources)) { - const config = CONFIG.DH.RESOURCE[actorType]; - for (const key of Object.keys(config.all)) { - delete config.all[key]; - } - Object.assign(config.all, { - ...Object.entries(actorData.resources).reduce((result, [key, value]) => { - result[key] = value.toObject(); - result[key].id = key; - return result; - }, {}), - ...config.custom, - ...config.base - }); - } - } - - /** - * Triggers a reset and non-forced re-render on all given actors (if given) - * or all world actors and actors in all scenes to show immediate results for a changed setting. - */ - #resetActors() { - const actors = new Set( - [ - game.actors.contents, - game.scenes.contents.flatMap(s => s.tokens.contents).flatMap(t => t.actor ?? []) - ].flat() - ); - for (const actor of actors) { - for (const app of Object.values(actor.apps)) { - for (const element of app.element?.querySelectorAll('prose-mirror.active')) { - element.open = false; // This triggers a save - } - } - - actor.reset(); - actor.render(); - } - } } - -export class Resource extends foundry.abstract.DataModel { - static defineSchema() { - const fields = foundry.data.fields; - return { - initial: new fields.NumberField({ - required: true, - integer: true, - initial: 0, - min: 0, - label: 'DAGGERHEART.GENERAL.initial' - }), - max: new fields.NumberField({ - nullable: true, - initial: null, - min: 0, - label: 'DAGGERHEART.GENERAL.max' - }), - label: new fields.StringField({ label: 'DAGGERHEART.GENERAL.label' }), - images: new fields.SchemaField({ - full: imageIconField('fa solid fa-circle'), - empty: imageIconField('fa-regular fa-circle') - }) - }; - } - - static getDefaultResourceData = label => { - const images = Resource.schema.fields.images.getInitialValue(); - return { - initial: 0, - max: 0, - label: label ?? '', - images - }; - }; - - static getDefaultImageData = imageKey => { - return Resource.schema.fields.images.fields[imageKey].getInitialValue(); - }; -} - -const imageIconField = defaultValue => - new foundry.data.fields.SchemaField( - { - value: new foundry.data.fields.StringField({ - initial: defaultValue, - label: 'DAGGERHEART.SETTINGS.Homebrew.FIELDS.resources.resources.value.label' - }), - isIcon: new foundry.data.fields.BooleanField({ - required: true, - initial: true, - label: 'DAGGERHEART.SETTINGS.Homebrew.FIELDS.resources.resources.isIcon.label' - }), - noColorFilter: new foundry.data.fields.BooleanField({ - required: true, - initial: false, - label: 'DAGGERHEART.SETTINGS.Homebrew.FIELDS.resources.resources.noColorFilter.label' - }) - }, - { required: true } - ); diff --git a/module/data/settings/Metagaming.mjs b/module/data/settings/Metagaming.mjs deleted file mode 100644 index 2bb5afdf..00000000 --- a/module/data/settings/Metagaming.mjs +++ /dev/null @@ -1,12 +0,0 @@ -export default class DhMetagaming extends foundry.abstract.DataModel { - static defineSchema() { - const fields = foundry.data.fields; - return { - hideObserverPermissionInChat: new fields.BooleanField({ - initial: false, - label: 'DAGGERHEART.SETTINGS.Metagaming.FIELDS.hideObserverPermissionInChat.label', - hint: 'DAGGERHEART.SETTINGS.Metagaming.FIELDS.hideObserverPermissionInChat.hint' - }) - }; - } -} diff --git a/module/data/settings/_module.mjs b/module/data/settings/_module.mjs index 1343c0c4..db1fbfec 100644 --- a/module/data/settings/_module.mjs +++ b/module/data/settings/_module.mjs @@ -1,6 +1,4 @@ export { default as DhAppearance } from './Appearance.mjs'; export { default as DhAutomation } from './Automation.mjs'; export { default as DhHomebrew } from './Homebrew.mjs'; -export { default as DhMetagaming } from './Metagaming.mjs'; export { default as DhVariantRules } from './VariantRules.mjs'; -export { default as DhGlobalOverrides } from './GlobalOverrides.mjs'; diff --git a/module/dice/dhRoll.mjs b/module/dice/dhRoll.mjs index ec2ea0c7..9b9a8ea0 100644 --- a/module/dice/dhRoll.mjs +++ b/module/dice/dhRoll.mjs @@ -140,14 +140,8 @@ export default class DHRoll extends Roll { /** @inheritDoc */ async render({ flavor, template = this.constructor.CHAT_TEMPLATE, isPrivate = false, ...options } = {}) { if (!this._evaluated) return; - - const metagamingSettings = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Metagaming); const chatData = await this._prepareChatRenderContext({ flavor, isPrivate, ...options }); - return foundry.applications.handlebars.renderTemplate(template, { - ...chatData, - parent: chatData.parent, - metagamingSettings - }); + return foundry.applications.handlebars.renderTemplate(template, chatData); } /** @inheritDoc */ diff --git a/module/dice/dualityRoll.mjs b/module/dice/dualityRoll.mjs index eb15fa5e..01452512 100644 --- a/module/dice/dualityRoll.mjs +++ b/module/dice/dualityRoll.mjs @@ -378,8 +378,6 @@ export default class DualityRoll extends D20Roll { let parsedRoll = game.system.api.dice.DualityRoll.fromData({ ...rollString, evaluated: false }); const term = parsedRoll.terms[target.dataset.dieIndex]; await term.reroll(`/r1=${term.total}`); - const result = await parsedRoll.evaluate(); - if (game.modules.get('dice-so-nice')?.active) { const diceSoNiceRoll = { _evaluated: true, @@ -393,7 +391,7 @@ export default class DualityRoll extends D20Roll { options: { appearance: {} } }; - const diceSoNicePresets = await getDiceSoNicePresets(result, `d${term._faces}`, `d${term._faces}`); + const diceSoNicePresets = await getDiceSoNicePresets(`d${term._faces}`, `d${term._faces}`); const type = target.dataset.type; if (diceSoNicePresets[type]) { diceSoNiceRoll.dice[0].options = diceSoNicePresets[type]; @@ -402,6 +400,8 @@ export default class DualityRoll extends D20Roll { await game.dice3d.showForRoll(diceSoNiceRoll, game.user, true); } + await parsedRoll.evaluate(); + const newRoll = game.system.api.dice.DualityRoll.postEvaluate(parsedRoll, { targets: message.system.targets, roll: { diff --git a/module/documents/chatMessage.mjs b/module/documents/chatMessage.mjs index 53921329..668ad06b 100644 --- a/module/documents/chatMessage.mjs +++ b/module/documents/chatMessage.mjs @@ -68,11 +68,8 @@ export default class DhpChatMessage extends foundry.documents.ChatMessage { document = fromUuidSync(uuid); if (!document) return; + e.setAttribute('data-view-perm', document.testUserPermission(game.user, 'OBSERVER')); e.setAttribute('data-use-perm', document.testUserPermission(game.user, 'OWNER')); - - const settings = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Metagaming); - if (settings.hideObserverPermissionInChat) - e.setAttribute('data-view-perm', document.testUserPermission(game.user, 'OBSERVER')); }); if (this.isContentVisible) { diff --git a/module/documents/tooltipManager.mjs b/module/documents/tooltipManager.mjs index 4793f1f7..c4b52bb5 100644 --- a/module/documents/tooltipManager.mjs +++ b/module/documents/tooltipManager.mjs @@ -3,7 +3,6 @@ import { AdversaryBPPerEncounter, BaseBPPerEncounter } from '../config/encounter export default class DhTooltipManager extends foundry.helpers.interaction.TooltipManager { #wide = false; #bordered = false; - #active = false; async activate(element, options = {}) { const { TextEditor } = foundry.applications.ux; @@ -169,100 +168,7 @@ export default class DhTooltipManager extends foundry.helpers.interaction.Toolti } } - this.baseActivate(element, { ...options, html: html }); - } - - /* Need to pass more options to _setAnchor, so have to copy whole foundry method >_< */ - async baseActivate(element, options) { - let { text, direction, cssClass, locked = false, html, content } = options; - if (content && !html) { - foundry.utils.logCompatibilityWarning( - 'The content option has been deprecated in favor of the html option', - { since: 13, until: 15, once: true } - ); - html = content; - } - if (text && html) throw new Error('Cannot provide both text and html options to TooltipManager#activate.'); - // Deactivate currently active element - this.deactivate(); - // Check if the element still exists in the DOM. - if (!document.body.contains(element)) return; - // Mark the new element as active - this.#active = true; - this.element = element; - element.setAttribute('aria-describedby', 'tooltip'); - html ||= element.dataset.tooltipHtml; - if (html) { - if (typeof html === 'string') this.tooltip.innerHTML = foundry.utils.cleanHTML(html); - else { - this.tooltip.innerHTML = ''; // Clear existing HTML - this.tooltip.appendChild(html); - } - } else { - text ||= element.dataset.tooltipText; - if (text) this.tooltip.textContent = text; - else { - text = element.dataset.tooltip; - // Localized message should be safe - if (game.i18n.has(text)) this.tooltip.innerHTML = game.i18n.localize(text); - else this.tooltip.innerHTML = foundry.utils.cleanHTML(text); - } - } - - // Activate display of the tooltip - this.tooltip.removeAttribute('class'); - this.tooltip.classList.add('active', 'themed', 'theme-dark'); - this.tooltip.showPopover(); - cssClass ??= element.closest('[data-tooltip-class]')?.dataset.tooltipClass; - if (cssClass) this.tooltip.classList.add(...cssClass.split(' ')); - - // Set tooltip position - direction ??= element.closest('[data-tooltip-direction]')?.dataset.tooltipDirection; - if (!direction) direction = this._determineDirection(); - this._setAnchor(direction, options); - - if (locked || element.dataset.hasOwnProperty('locked')) this.lockTooltip(); - } - - _setAnchor(direction, options) { - const directions = this.constructor.TOOLTIP_DIRECTIONS; - const pad = this.constructor.TOOLTIP_MARGIN_PX; - const pos = this.element.getBoundingClientRect(); - - const { innerHeight, innerWidth } = this.tooltip.ownerDocument.defaultView; - const tooltipPadding = 16; - const horizontalOffset = options.noOffset ? tooltipPadding : this.tooltip.offsetWidth / 2 - pos.width / 2; - const verticalOffset = options.noOffset ? tooltipPadding : this.tooltip.offsetHeight / 2 - pos.height / 2; - - const style = {}; - switch (direction) { - case directions.DOWN: - style.textAlign = 'center'; - style.left = pos.left - horizontalOffset; - style.top = pos.bottom + pad; - break; - case directions.LEFT: - style.textAlign = 'left'; - style.right = innerWidth - pos.left + pad; - style.top = pos.top - verticalOffset; - break; - case directions.RIGHT: - style.textAlign = 'right'; - style.left = pos.right + pad; - style.top = pos.top - verticalOffset; - break; - case directions.UP: - style.textAlign = 'center'; - style.left = pos.left - horizontalOffset; - style.bottom = innerHeight - pos.top + pad; - break; - case directions.CENTER: - style.textAlign = 'center'; - style.left = pos.left - horizontalOffset; - style.top = pos.top - verticalOffset; - break; - } - return this._setStyle(style); + super.activate(element, { ...options, html: html }); } _determineItemTooltipDirection(element, prefered = this.constructor.TOOLTIP_DIRECTIONS.LEFT) { @@ -364,12 +270,6 @@ export default class DhTooltipManager extends foundry.helpers.interaction.Toolti return clone; } - /**@inheritdoc */ - dismissLockedTooltips() { - super.dismissLockedTooltips(); - Hooks.callAll(CONFIG.DH.HOOKS.hooksConfig.lockedTooltipDismissed); - } - /** Get HTML for Battlepoints tooltip */ async getBattlepointHTML(combatId) { const combat = game.combats.get(combatId); diff --git a/module/helpers/handlebarsHelper.mjs b/module/helpers/handlebarsHelper.mjs index 1c47f8dc..2faea830 100644 --- a/module/helpers/handlebarsHelper.mjs +++ b/module/helpers/handlebarsHelper.mjs @@ -49,7 +49,9 @@ export default class RegisterHandlebarsHelpers { } static damageSymbols(damageParts) { - const symbols = [...new Set(damageParts.map(x => x.type))].map(p => CONFIG.DH.GENERAL.damageTypes[p].icon); + const symbols = [...new Set(damageParts.reduce((a, c) => a.concat([...c.type]), []))].map( + p => CONFIG.DH.GENERAL.damageTypes[p].icon + ); return new Handlebars.SafeString(Array.from(symbols).map(symbol => ``)); } diff --git a/module/helpers/utils.mjs b/module/helpers/utils.mjs index 5a29de69..0043f183 100644 --- a/module/helpers/utils.mjs +++ b/module/helpers/utils.mjs @@ -60,13 +60,7 @@ export const getCommandTarget = (options = {}) => { export const setDiceSoNiceForDualityRoll = async (rollResult, advantageState, hopeFaces, fearFaces, advantageFaces) => { if (!game.modules.get('dice-so-nice')?.active) return; - const diceSoNicePresets = await getDiceSoNicePresets( - rollResult, - hopeFaces, - fearFaces, - advantageFaces, - advantageFaces - ); + const diceSoNicePresets = await getDiceSoNicePresets(hopeFaces, fearFaces, advantageFaces, advantageFaces); rollResult.dice[0].options = diceSoNicePresets.hope; rollResult.dice[1].options = diceSoNicePresets.fear; if (rollResult.dice[2] && advantageState) { @@ -384,18 +378,17 @@ export const arraysEqual = (a, b) => export const setsEqual = (a, b) => a.size === b.size && [...a].every(value => b.has(value)); -export function getScrollTextData(actor, resource, key) { +export function getScrollTextData(resources, resource, key) { + const { reversed, label } = CONFIG.DH.ACTOR.scrollingTextResource[key]; const { BOTTOM, TOP } = CONST.TEXT_ANCHOR_POINTS; - - const resources = actor.system.resources; const increased = resources[key].value < resource.value; const value = -1 * (resources[key].value - resource.value); - const { label, isReversed } = resources[key]; const text = `${game.i18n.localize(label)} ${value.signedString()}`; - const stroke = increased ? (isReversed ? 0xffffff : 0x000000) : isReversed ? 0x000000 : 0xffffff; - const fill = increased ? (isReversed ? 0x0032b1 : 0xffe760) : isReversed ? 0xffe760 : 0x0032b1; - const direction = increased ? (isReversed ? BOTTOM : TOP) : isReversed ? TOP : BOTTOM; + + const stroke = increased ? (reversed ? 0xffffff : 0x000000) : reversed ? 0x000000 : 0xffffff; + const fill = increased ? (reversed ? 0x0032b1 : 0xffe760) : reversed ? 0xffe760 : 0x0032b1; + const direction = increased ? (reversed ? BOTTOM : TOP) : reversed ? TOP : BOTTOM; return { text, stroke, fill, direction }; } @@ -751,16 +744,3 @@ export async function RefreshFeatures( 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; - }, []); -} diff --git a/module/systemRegistration/handlebars.mjs b/module/systemRegistration/handlebars.mjs index f51e1035..ad8c741a 100644 --- a/module/systemRegistration/handlebars.mjs +++ b/module/systemRegistration/handlebars.mjs @@ -17,10 +17,9 @@ export const preloadHandlebarsTemplates = async function () { 'systems/daggerheart/templates/sheets/global/partials/resource-section/dice-value.hbs', 'systems/daggerheart/templates/sheets/global/partials/resource-section/die.hbs', 'systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs', - 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs', - 'systems/daggerheart/templates/sheets/global/partials/item-tags.hbs', 'systems/daggerheart/templates/components/card-preview.hbs', 'systems/daggerheart/templates/levelup/parts/selectable-card-preview.hbs', + 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs', 'systems/daggerheart/templates/ui/combatTracker/combatTrackerSection.hbs', 'systems/daggerheart/templates/actionTypes/damage.hbs', 'systems/daggerheart/templates/actionTypes/resource.hbs', @@ -34,7 +33,6 @@ export const preloadHandlebarsTemplates = async function () { 'systems/daggerheart/templates/actionTypes/beastform.hbs', 'systems/daggerheart/templates/actionTypes/countdown.hbs', 'systems/daggerheart/templates/actionTypes/summon.hbs', - 'systems/daggerheart/templates/actionTypes/transform.hbs', 'systems/daggerheart/templates/settings/components/settings-item-line.hbs', 'systems/daggerheart/templates/ui/tooltip/parts/tooltipChips.hbs', 'systems/daggerheart/templates/ui/tooltip/parts/tooltipTags.hbs', @@ -46,7 +44,6 @@ export const preloadHandlebarsTemplates = async function () { 'systems/daggerheart/templates/ui/chat/parts/target-part.hbs', 'systems/daggerheart/templates/ui/chat/parts/button-part.hbs', 'systems/daggerheart/templates/ui/itemBrowser/itemContainer.hbs', - 'systems/daggerheart/templates/scene/dh-config.hbs', - 'systems/daggerheart/templates/settings/appearance-settings/diceSoNiceTab.hbs' + 'systems/daggerheart/templates/scene/dh-config.hbs' ]); }; diff --git a/module/systemRegistration/settings.mjs b/module/systemRegistration/settings.mjs index e7ec37f5..c4acf7ed 100644 --- a/module/systemRegistration/settings.mjs +++ b/module/systemRegistration/settings.mjs @@ -1,18 +1,10 @@ import { defaultLevelTiers, DhLevelTiers } from '../data/levelTier.mjs'; import DhCountdowns from '../data/countdowns.mjs'; -import { - DhAppearance, - DhAutomation, - DhGlobalOverrides, - DhHomebrew, - DhMetagaming, - DhVariantRules -} from '../data/settings/_module.mjs'; +import { DhAppearance, DhAutomation, DhHomebrew, DhVariantRules } from '../data/settings/_module.mjs'; import { DhAppearanceSettings, DhAutomationSettings, DhHomebrewSettings, - DhMetagamingSettings, DhVariantRuleSettings } from '../applications/settings/_module.mjs'; import { CompendiumBrowserSettings, DhTagTeamRoll } from '../data/_module.mjs'; @@ -46,25 +38,18 @@ const registerMenuSettings = () => { type: DhAutomation }); - game.settings.register(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Metagaming, { - scope: 'world', - config: false, - type: DhMetagaming - }); - game.settings.register(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew, { scope: 'world', config: false, type: DhHomebrew, onChange: value => { - value.handleChange(); - } - }); + if (value.maxFear) { + if (ui.resources) ui.resources.render({ force: true }); + } - game.settings.register(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.GlobalOverrides, { - scope: 'world', - config: false, - type: DhGlobalOverrides + // Some homebrew settings may change sheets in various ways, so trigger a re-render + resetActors(); + } }); game.settings.register(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance, { @@ -72,7 +57,12 @@ const registerMenuSettings = () => { config: false, type: DhAppearance, onChange: value => { - value.handleChange(); + if (value.displayFear) { + if (ui.resources) { + if (value.displayFear === 'hide') ui.resources.close({ allowed: true }); + else ui.resources.render({ force: true }); + } + } } }); }; @@ -86,16 +76,6 @@ const registerMenus = () => { type: DhAutomationSettings, restricted: true }); - - game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.menu.Metagaming.Name, { - name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.metagaming.name'), - label: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.metagaming.label'), - hint: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.metagaming.hint'), - icon: CONFIG.DH.SETTINGS.menu.Metagaming.Icon, - type: DhMetagamingSettings, - restricted: true - }); - game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.menu.Homebrew.Name, { name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.homebrew.name'), label: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.homebrew.label'), @@ -164,8 +144,30 @@ const registerNonConfigSettings = () => { }); game.settings.register(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.CompendiumBrowserSettings, { - scope: 'world', + scope: 'client', config: false, type: CompendiumBrowserSettings }); }; + +/** + * Triggers a reset and non-forced re-render on all given actors (if given) + * or all world actors and actors in all scenes to show immediate results for a changed setting. + */ +function resetActors(actors) { + actors ??= [ + game.actors.contents, + game.scenes.contents.flatMap(s => s.tokens.contents).flatMap(t => t.actor ?? []) + ].flat(); + actors = new Set(actors); + for (const actor of actors) { + for (const app of Object.values(actor.apps)) { + for (const element of app.element?.querySelectorAll('prose-mirror.active')) { + element.open = false; // This triggers a save + } + } + + actor.reset(); + actor.render(); + } +} diff --git a/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json b/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json index 0dd182fa..70d0072b 100644 --- a/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json +++ b/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json @@ -91,8 +91,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -118,7 +118,7 @@ }, "base": false } - }, + ], "includeBase": false }, "_id": "TCKVaVweyJzhEArX", @@ -343,7 +343,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -471,8 +471,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -499,7 +499,7 @@ } } }, - "armor": { + { "value": { "custom": { "enabled": true, @@ -524,7 +524,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -598,8 +598,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -626,7 +626,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -652,8 +652,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -680,7 +680,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json index c4b4eb2a..16fb61d8 100644 --- a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json +++ b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json @@ -75,8 +75,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -400,8 +400,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -427,7 +427,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, @@ -508,7 +508,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -581,8 +581,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -608,7 +608,7 @@ } } }, - "hope": { + { "value": { "custom": { "enabled": true, @@ -633,7 +633,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json b/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json index 4c63297d..23f1f339 100644 --- a/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json +++ b/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json @@ -72,8 +72,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -100,7 +100,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/daggers/dagger-bone-black.webp", "type": "attack", diff --git a/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json b/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json index dfae0598..3b1f3535 100644 --- a/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json +++ b/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json @@ -85,8 +85,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -112,7 +112,7 @@ }, "base": false } - } + ] }, "img": "icons/magic/unholy/beam-ringed-impact-purple.webp", "type": "attack", @@ -256,7 +256,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -336,8 +336,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -363,7 +363,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -414,8 +414,8 @@ "recovery": null }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -440,7 +440,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -619,7 +619,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -692,8 +692,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -719,7 +719,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json index 965c5168..5a13b3d9 100644 --- a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json +++ b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/bows/longbow-recurve-leather-brown.webp", "type": "attack", @@ -246,8 +246,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -273,7 +273,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json b/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json index 67e10c53..5b15bc09 100644 --- a/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json +++ b/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json @@ -68,8 +68,8 @@ "description": "

A group of trained archers bearing massive bows.

", "attack": { "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -95,7 +95,7 @@ "resultBased": false, "base": false } - } + ] }, "name": "Longbow", "img": "icons/weapons/bows/longbow-recurve-leather-brown.webp", @@ -270,8 +270,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -295,7 +295,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -368,8 +368,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -393,7 +393,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json index 4b3a872a..324fc25e 100644 --- a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json +++ b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json @@ -81,8 +81,8 @@ }, "range": "close", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false diff --git a/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json b/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json index 74ed8dfd..02553014 100644 --- a/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json +++ b/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "range": "melee", "type": "attack", @@ -309,7 +309,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -382,8 +382,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -409,7 +409,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -482,8 +482,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -509,7 +509,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -582,8 +582,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -609,7 +609,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -737,8 +737,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -763,7 +763,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -836,7 +836,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -964,8 +964,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -991,7 +991,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -1071,8 +1071,8 @@ "recovery": null }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -1097,7 +1097,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -1165,8 +1165,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -1192,7 +1192,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json b/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json index cfc71120..959ef9dd 100644 --- a/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json +++ b/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json @@ -84,8 +84,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -111,7 +111,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/claws/claw-straight-brown.webp", "type": "attack", @@ -284,8 +284,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -311,7 +311,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -441,8 +441,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -468,7 +468,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json b/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json index a315f91a..0a332575 100644 --- a/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json +++ b/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json @@ -80,8 +80,8 @@ "name": "Longsword", "img": "icons/weapons/swords/sword-guard.webp", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -246,7 +246,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -319,7 +319,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json b/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json index 8863641d..a169bf61 100644 --- a/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json +++ b/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json @@ -83,8 +83,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -110,7 +110,7 @@ }, "base": false } - } + ] }, "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp", "type": "attack", @@ -280,8 +280,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -307,7 +307,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, @@ -389,8 +389,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -415,7 +415,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json b/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json index cb081441..5b2d2e41 100644 --- a/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json +++ b/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json @@ -79,8 +79,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - }, + ], "direct": true }, "name": "Club", @@ -336,8 +336,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false, @@ -365,7 +365,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, @@ -412,8 +412,8 @@ "recovery": null }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -438,7 +438,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -507,8 +507,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -534,7 +534,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, diff --git a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json index a95db1b7..f548870a 100644 --- a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json +++ b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json @@ -74,8 +74,8 @@ }, "range": "close", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "img": "icons/magic/light/beam-rays-magenta.webp", "type": "attack", @@ -383,8 +383,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -410,7 +410,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -483,8 +483,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -508,7 +508,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json b/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json index 5cbc1f82..35c43a3b 100644 --- a/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json +++ b/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json @@ -67,8 +67,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -95,7 +95,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false diff --git a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json index 067248c9..310eefce 100644 --- a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json +++ b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json @@ -72,8 +72,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -99,7 +99,7 @@ }, "base": false } - } + ] }, "name": "Fist Slam", "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp", @@ -332,8 +332,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -359,7 +359,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -534,8 +534,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -561,7 +561,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json b/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json index aba9ea46..24572103 100644 --- a/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json +++ b/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json @@ -84,8 +84,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -111,7 +111,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/daggers/dagger-straight-cracked.webp", "type": "attack", @@ -256,8 +256,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -282,7 +282,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json b/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json index 8777ee06..1ffc7ece 100644 --- a/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json +++ b/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/daggers/dagger-twin-green.webp", "type": "attack", @@ -253,8 +253,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -279,7 +279,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json b/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json index cbb48681..e428d05d 100644 --- a/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json +++ b/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json @@ -84,8 +84,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -111,7 +111,7 @@ }, "base": false } - } + ] }, "range": "far", "img": "icons/weapons/staves/staff-ornate-purple.webp", @@ -256,8 +256,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -283,7 +283,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -308,7 +308,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -614,8 +614,8 @@ "recovery": "scene" }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -640,7 +640,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json b/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json index e65f3202..d3b341f0 100644 --- a/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json +++ b/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json @@ -74,8 +74,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "range": "melee", "type": "attack", @@ -300,8 +300,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -326,7 +326,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json b/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json index 4f04a85a..a0c0713d 100644 --- a/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json +++ b/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json @@ -66,8 +66,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -94,7 +94,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", diff --git a/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json b/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json index aed2e08a..f66ce7f0 100644 --- a/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json +++ b/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/magic/nature/root-vines-grow-brown.webp", "type": "attack", @@ -245,8 +245,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -271,7 +271,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -325,8 +325,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -350,7 +350,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json index 1a3538da..e4ba41fb 100644 --- a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json +++ b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", diff --git a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json index e2f58709..27c6bac2 100644 --- a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json +++ b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "far", @@ -435,8 +435,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -461,7 +461,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -515,8 +515,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -542,7 +542,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json b/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json index 9f954437..16bc1d1f 100644 --- a/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json +++ b/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json @@ -81,8 +81,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -251,8 +251,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -277,7 +277,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -329,8 +329,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -355,7 +355,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -414,8 +414,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -441,7 +441,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -550,8 +550,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -576,7 +576,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json b/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json index c083b183..31f9b942 100644 --- a/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json +++ b/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json @@ -80,8 +80,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - }, + ], "direct": true }, "img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp", @@ -352,7 +352,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json b/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json index 201b17fd..33ded6b9 100644 --- a/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json +++ b/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json @@ -81,8 +81,8 @@ }, "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - }, + ], "direct": true }, "type": "attack", @@ -398,8 +398,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -425,7 +425,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, diff --git a/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json b/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json index 2043d960..7482c734 100644 --- a/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json +++ b/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json @@ -74,8 +74,8 @@ "motivesAndTactics": "Cause fear, consume fl esh, please masters", "attack": { "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ "resultBased": false, "base": false } - } + ] }, "name": "Claws and Fangs", "img": "icons/creatures/abilities/mouth-teeth-rows-red.webp", @@ -269,8 +269,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -295,7 +295,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -349,8 +349,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -376,7 +376,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json b/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json index 23d5550e..16ec7643 100644 --- a/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json +++ b/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json @@ -78,8 +78,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -105,7 +105,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/claws/claw-hooked-curved.webp", "type": "attack", @@ -312,8 +312,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -337,7 +337,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -397,8 +397,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -424,7 +424,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json b/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json index 939a5307..69301cb2 100644 --- a/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json +++ b/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/claws/claw-straight-brown.webp", "type": "attack", @@ -247,8 +247,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -272,7 +272,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -352,8 +352,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -377,7 +377,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, diff --git a/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json b/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json index c69ee84e..ca9ce647 100644 --- a/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json +++ b/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json @@ -81,8 +81,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -251,7 +251,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -297,8 +297,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -324,7 +324,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -438,8 +438,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -464,7 +464,7 @@ }, "type": [] }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -489,7 +489,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json b/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json index 1909a74a..9386944f 100644 --- a/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json +++ b/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json @@ -68,8 +68,8 @@ "motivesAndTactics": "Avoid larger predators, shock prey, tear apart", "attack": { "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -95,7 +95,7 @@ "resultBased": false, "base": false } - } + ] }, "name": "Shocking Bite", "img": "icons/creatures/abilities/mouth-teeth-sharp.webp", @@ -270,8 +270,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -297,7 +297,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json b/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json index 2c2633ea..5c25f63e 100644 --- a/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json +++ b/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json @@ -67,8 +67,8 @@ }, "range": "close", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -95,7 +95,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false diff --git a/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json b/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json index df3e6d12..de5db0b2 100644 --- a/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json +++ b/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json @@ -98,8 +98,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -125,7 +125,7 @@ }, "base": false } - }, + ], "includeBase": false }, "target": { @@ -276,8 +276,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -303,7 +303,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json index 70e56980..408d5102 100644 --- a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json +++ b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/claws/claw-hooked-barbed.webp", "range": "melee", diff --git a/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json b/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json index 8c0d7b95..931e4c0a 100644 --- a/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json +++ b/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json @@ -67,8 +67,8 @@ "img": "icons/weapons/axes/axe-battle-skull-black.webp", "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -95,7 +95,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -256,8 +256,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -282,7 +282,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json b/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json index 06db1453..bfad5cf6 100644 --- a/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json +++ b/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json @@ -80,8 +80,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/staves/staff-animal-skull-bull.webp", "type": "attack", @@ -251,8 +251,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -278,7 +278,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -482,8 +482,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -508,7 +508,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Fallen_Warlord__Realm_Breaker_hxZ0sgoFJubh5aj6.json b/src/packs/adversaries/adversary_Fallen_Warlord__Realm_Breaker_hxZ0sgoFJubh5aj6.json index 9fa49107..b2cdc489 100644 --- a/src/packs/adversaries/adversary_Fallen_Warlord__Realm_Breaker_hxZ0sgoFJubh5aj6.json +++ b/src/packs/adversaries/adversary_Fallen_Warlord__Realm_Breaker_hxZ0sgoFJubh5aj6.json @@ -67,8 +67,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -94,7 +94,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", @@ -337,7 +337,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -416,8 +416,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -443,7 +443,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -516,8 +516,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -543,7 +543,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -653,8 +653,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -679,7 +679,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -717,35 +717,7 @@ "system": { "description": "

When the @Lookup[@name] marks their last HP, replace them with the @UUID[Compendium.daggerheart.adversaries.Actor.RXkZTwBRi4dJ3JE5]{Fallen Warlord: Undefeated Champion} and immediately spotlight them.

", "resource": null, - "actions": { - "gP426WmWbtrZEWCD": { - "type": "transform", - "_id": "gP426WmWbtrZEWCD", - "systemPath": "actions", - "baseAction": false, - "description": "", - "chatDisplay": true, - "originItem": { - "type": "itemCollection" - }, - "actionType": "action", - "triggers": [], - "cost": [], - "uses": { - "value": null, - "max": null, - "recovery": null, - "consumeOnSuccess": false - }, - "transform": { - "actorUUID": "Compendium.daggerheart.adversaries.Actor.RXkZTwBRi4dJ3JE5", - "resourceRefresh": { - "hitPoints": true, - "stress": true - } - } - } - }, + "actions": {}, "originItemType": null, "originId": null, "featureForm": "reaction" diff --git a/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json b/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json index 5ad77ab0..89d61c1c 100644 --- a/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json +++ b/src/packs/adversaries/adversary_Fallen_Warlord__Undefeated_Champion_RXkZTwBRi4dJ3JE5.json @@ -67,8 +67,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -94,7 +94,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", @@ -338,7 +338,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -410,8 +410,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -437,7 +437,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -697,8 +697,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -724,7 +724,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -792,8 +792,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -818,7 +818,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json b/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json index c6a482dd..e576e1e0 100644 --- a/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json +++ b/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json @@ -81,8 +81,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -269,8 +269,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -294,7 +294,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json b/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json index 8948c8b6..4f76b706 100644 --- a/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json +++ b/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json @@ -81,8 +81,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -251,8 +251,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -278,7 +278,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -351,8 +351,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -378,7 +378,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -452,8 +452,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -479,7 +479,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json index a8a33586..ea578762 100644 --- a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json +++ b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json @@ -98,8 +98,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -125,7 +125,7 @@ }, "base": false } - }, + ], "includeBase": false }, "target": { @@ -345,8 +345,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -372,7 +372,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -499,8 +499,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -526,7 +526,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -643,8 +643,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -670,7 +670,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json index a74cb88d..fbb30d40 100644 --- a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json +++ b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json @@ -74,8 +74,8 @@ "motivesAndTactics": "Fly away, harass, steal blood", "attack": { "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ "resultBased": false, "base": false } - } + ] }, "name": "Proboscis", "img": "icons/skills/wounds/blood-cells-vessel-red.webp", diff --git a/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json b/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json index 822ee035..d1df6b57 100644 --- a/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json +++ b/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json @@ -72,8 +72,8 @@ "name": "Claws", "img": "icons/creatures/claws/claw-straight-brown.webp", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -100,7 +100,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -272,7 +272,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json b/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json index 376ebace..adcdf015 100644 --- a/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json +++ b/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json @@ -62,8 +62,8 @@ "name": "Warhammer", "img": "icons/weapons/hammers/hammer-double-stone-worn.webp", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -90,7 +90,7 @@ }, "base": false } - } + ] }, "range": "veryClose", "roll": { diff --git a/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json b/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json index 03a0272d..fda3e656 100644 --- a/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json +++ b/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -253,8 +253,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -280,7 +280,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -354,8 +354,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -381,7 +381,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -508,8 +508,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -535,7 +535,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json b/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json index 5876f55c..f02a1c52 100644 --- a/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json +++ b/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json @@ -75,8 +75,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -240,8 +240,8 @@ "recovery": null }, "damage": { - "parts": { - "armor": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -266,7 +266,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -326,8 +326,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -351,7 +351,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -459,8 +459,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -486,7 +486,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -532,7 +532,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json b/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json index 1fcfcce4..2753d958 100644 --- a/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json +++ b/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json @@ -80,8 +80,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/bows/shortbow-recurve-yellow.webp", "type": "attack", @@ -409,8 +409,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -436,7 +436,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -461,7 +461,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -541,7 +541,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -652,8 +652,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -679,7 +679,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json index 077373b2..fe968ff3 100644 --- a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json +++ b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json @@ -75,8 +75,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -268,8 +268,8 @@ "recovery": null }, "damage": { - "parts": { - "armor": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -294,7 +294,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -422,8 +422,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -449,7 +449,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -578,8 +578,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -605,7 +605,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json index b44bb9cc..5d17f025 100644 --- a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json +++ b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json @@ -75,8 +75,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -245,8 +245,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -272,7 +272,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -401,7 +401,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json b/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json index a3a76d7a..5f3f52c2 100644 --- a/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json +++ b/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp", "type": "attack", @@ -277,8 +277,8 @@ "recovery": null }, "damage": { - "parts": { - "armor": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -303,7 +303,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -356,8 +356,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -383,7 +383,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -408,7 +408,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json index eb7eafc1..8cce1b94 100644 --- a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json +++ b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json @@ -75,8 +75,8 @@ "name": "Sanctified Longbow", "img": "icons/weapons/bows/shortbow-recurve-yellow.webp", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -314,8 +314,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -341,7 +341,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json b/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json index 6a131c86..95a2ecd0 100644 --- a/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json +++ b/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json @@ -65,8 +65,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -93,7 +93,7 @@ }, "base": false } - } + ] }, "img": "icons/skills/melee/sword-shield-stylized-white.webp", "type": "attack", diff --git a/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json b/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json index 84034a7e..89d82a0b 100644 --- a/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json +++ b/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/polearms/spear-hooked-rounded.webp", "type": "attack", @@ -278,8 +278,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -305,7 +305,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json b/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json index f0c050a9..75afed49 100644 --- a/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json +++ b/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json @@ -85,8 +85,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -112,7 +112,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -258,7 +258,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -398,8 +398,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -425,7 +425,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json b/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json index 322e4658..d5891359 100644 --- a/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json +++ b/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -244,8 +244,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -270,7 +270,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -322,7 +322,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -394,8 +394,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -420,7 +420,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -542,8 +542,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -568,7 +568,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json b/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json index 3dc96fd5..60fe1917 100644 --- a/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json +++ b/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json @@ -80,8 +80,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "img": "icons/skills/melee/strike-blade-hooked-orange-blue.webp", "type": "attack", @@ -466,8 +466,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -493,7 +493,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json b/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json index 1615dec8..db00c5e6 100644 --- a/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json +++ b/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -274,8 +274,8 @@ "recovery": null }, "damage": { - "parts": { - "armor": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -300,7 +300,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -352,8 +352,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -378,7 +378,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json b/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json index 7e71af98..a12aaad8 100644 --- a/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json +++ b/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json @@ -75,8 +75,8 @@ }, "range": "close", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -300,8 +300,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -326,7 +326,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -394,8 +394,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -420,7 +420,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Bandit_5Lh1T0zaT8Pkr2U2.json b/src/packs/adversaries/adversary_Jagged_Knife_Bandit_5Lh1T0zaT8Pkr2U2.json index bfbff494..ae359eaf 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Bandit_5Lh1T0zaT8Pkr2U2.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Bandit_5Lh1T0zaT8Pkr2U2.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/daggers/dagger-twin-green.webp", "type": "attack", @@ -272,8 +272,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -299,7 +299,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json b/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json index c6b2554e..e56f7af5 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json @@ -80,8 +80,8 @@ }, "img": "icons/weapons/staves/staff-blue-jewel.webp", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -347,8 +347,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -374,7 +374,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json b/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json index 3ce6a165..d8115fd9 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json @@ -85,8 +85,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -112,7 +112,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -277,7 +277,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json b/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json index cfcdea8b..a52ec1c9 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json @@ -64,8 +64,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -92,7 +92,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json b/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json index 8820f30c..c139d76f 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json @@ -80,8 +80,8 @@ }, "range": "close", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -364,8 +364,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -391,7 +391,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -416,7 +416,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -491,8 +491,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -518,7 +518,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json index 81b95d8b..bca035c1 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -246,8 +246,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -273,7 +273,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Sniper_1zuyof1XuIfi3aMG.json b/src/packs/adversaries/adversary_Jagged_Knife_Sniper_1zuyof1XuIfi3aMG.json index 62253d69..6fd02cb5 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Sniper_1zuyof1XuIfi3aMG.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Sniper_1zuyof1XuIfi3aMG.json @@ -81,8 +81,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -246,8 +246,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -273,7 +273,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json index 562b42b8..86d69c37 100644 --- a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json +++ b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json @@ -75,8 +75,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -296,7 +296,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -417,7 +417,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -490,8 +490,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -516,7 +516,7 @@ }, "type": [] }, - "hope": { + { "value": { "custom": { "enabled": true, @@ -541,7 +541,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json b/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json index 01435922..71cb7a8d 100644 --- a/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json +++ b/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json @@ -90,8 +90,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -117,7 +117,7 @@ }, "base": false } - } + ] }, "range": "melee", "type": "attack", @@ -392,8 +392,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -417,7 +417,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -442,7 +442,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json b/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json index 4494e0e8..6f6f6edc 100644 --- a/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json +++ b/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json @@ -80,8 +80,8 @@ }, "range": "close", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/tentacles/tentacles-octopus-black-pink.webp", "type": "attack", @@ -327,7 +327,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -456,8 +456,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -483,7 +483,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -557,8 +557,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -584,7 +584,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json b/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json index 25740e52..3143fbe3 100644 --- a/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json +++ b/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "range": "melee", "type": "attack", @@ -244,8 +244,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -269,7 +269,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -342,7 +342,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json b/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json index 2131023a..3cec6e0b 100644 --- a/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json +++ b/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json @@ -86,8 +86,8 @@ }, "range": "close", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -113,7 +113,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -254,8 +254,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false, @@ -283,7 +283,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, @@ -469,8 +469,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -496,7 +496,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Merchant_Al3w2CgjfdT3p9ma.json b/src/packs/adversaries/adversary_Merchant_Al3w2CgjfdT3p9ma.json index 482ba727..880b1a6e 100644 --- a/src/packs/adversaries/adversary_Merchant_Al3w2CgjfdT3p9ma.json +++ b/src/packs/adversaries/adversary_Merchant_Al3w2CgjfdT3p9ma.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/clubs/club-baton-blue.webp", "type": "attack", @@ -272,8 +272,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -298,7 +298,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json b/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json index 7ace67ac..15c0aeb9 100644 --- a/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json +++ b/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json @@ -85,8 +85,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -112,7 +112,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -249,8 +249,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -275,7 +275,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json index 21564421..57dc2980 100644 --- a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json +++ b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json @@ -74,8 +74,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "range": "close", "type": "attack", @@ -317,8 +317,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -343,7 +343,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -458,8 +458,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -485,7 +485,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -567,8 +567,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -594,7 +594,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json b/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json index 8f5f51f3..0fceeba1 100644 --- a/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json +++ b/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json @@ -74,8 +74,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -299,8 +299,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -325,7 +325,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -385,8 +385,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -412,7 +412,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -544,8 +544,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -571,7 +571,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json b/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json index 0cc9703c..2980a141 100644 --- a/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json +++ b/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json @@ -75,8 +75,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -297,8 +297,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -324,7 +324,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -405,8 +405,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -432,7 +432,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -511,8 +511,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -537,7 +537,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -578,8 +578,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -604,7 +604,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -674,8 +674,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -701,7 +701,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json b/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json index b2217e66..f05ba5fc 100644 --- a/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json +++ b/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json @@ -66,8 +66,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -94,7 +94,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", diff --git a/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json b/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json index b4734967..85981374 100644 --- a/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json +++ b/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json @@ -74,8 +74,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/axes/axe-double.webp", "type": "attack", @@ -300,8 +300,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -327,7 +327,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -373,8 +373,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -401,7 +401,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -454,8 +454,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -479,7 +479,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, diff --git a/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json b/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json index 8d5845a9..5320a0ed 100644 --- a/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json +++ b/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json @@ -85,8 +85,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -112,7 +112,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -381,8 +381,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": false, @@ -408,7 +408,7 @@ }, "type": [] } - }, + ], "includeBase": false, "direct": false }, diff --git a/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json b/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json index 2eaa9619..01218718 100644 --- a/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json +++ b/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json @@ -81,8 +81,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -244,8 +244,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -270,7 +270,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -361,8 +361,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false, @@ -390,7 +390,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, @@ -518,7 +518,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -591,8 +591,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -618,7 +618,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json b/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json index c5feed37..1a109aa4 100644 --- a/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json +++ b/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json @@ -73,8 +73,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "multiplier": "flat", "flatMultiplier": 3, @@ -100,7 +100,7 @@ }, "base": false } - } + ] }, "img": "icons/skills/melee/blood-slash-foam-red.webp", "type": "attack", @@ -273,8 +273,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false, @@ -302,7 +302,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json b/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json index 343cfdc1..66fa5ba1 100644 --- a/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json +++ b/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json @@ -80,8 +80,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp", "type": "attack", @@ -244,8 +244,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -270,7 +270,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -322,8 +322,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -348,7 +348,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -407,8 +407,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -434,7 +434,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -514,7 +514,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -620,8 +620,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -647,7 +647,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json index 0f73354e..83edda8a 100644 --- a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json +++ b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json @@ -74,8 +74,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/tentacles/tentacle-earth-green.webp", "type": "attack", @@ -263,7 +263,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -384,7 +384,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -509,7 +509,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json b/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json index 6c78dced..83fbf4fa 100644 --- a/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json +++ b/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json @@ -75,8 +75,8 @@ }, "img": "icons/creatures/tentacles/tentacles-thing-green.webp", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -238,8 +238,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -264,7 +264,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -316,8 +316,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -342,7 +342,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json b/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json index 5a7a605a..5347bf49 100644 --- a/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json +++ b/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json @@ -60,8 +60,8 @@ }, "attack": { "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -88,7 +88,7 @@ }, "base": false } - } + ] }, "name": "Claws and Teeth", "roll": { diff --git a/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json b/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json index 999f89b9..b63e8cb7 100644 --- a/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json +++ b/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json @@ -85,8 +85,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -112,7 +112,7 @@ }, "base": false } - } + ] }, "img": "icons/commodities/biological/hand-clawed-blue.webp", "type": "attack", @@ -252,8 +252,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -281,7 +281,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -360,8 +360,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -386,7 +386,7 @@ }, "type": [] }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -411,7 +411,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -487,8 +487,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -513,7 +513,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json b/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json index a6ce78d5..8174e9fd 100644 --- a/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json +++ b/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json @@ -75,8 +75,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -238,8 +238,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -264,7 +264,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -348,8 +348,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -375,7 +375,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json b/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json index bee77686..db284f40 100644 --- a/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json +++ b/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", diff --git a/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json b/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json index 428a9607..5b00ec60 100644 --- a/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json +++ b/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json @@ -85,8 +85,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -112,7 +112,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -251,8 +251,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -277,7 +277,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -401,8 +401,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -426,7 +426,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -501,8 +501,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -528,7 +528,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json b/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json index 94137c2f..41f79b49 100644 --- a/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json +++ b/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json @@ -74,8 +74,8 @@ "description": "

Seafaring scoundrels moving in a ravaging pack.

", "attack": { "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ "resultBased": false, "base": false } - } + ] }, "name": "Cutlass", "img": "icons/weapons/swords/scimitar-worn-blue.webp", @@ -272,8 +272,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -298,7 +298,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Pirate_Tough_mhcVkVFrzIJ18FDm.json b/src/packs/adversaries/adversary_Pirate_Tough_mhcVkVFrzIJ18FDm.json index 2817b191..69b59211 100644 --- a/src/packs/adversaries/adversary_Pirate_Tough_mhcVkVFrzIJ18FDm.json +++ b/src/packs/adversaries/adversary_Pirate_Tough_mhcVkVFrzIJ18FDm.json @@ -67,8 +67,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -94,7 +94,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", @@ -269,8 +269,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -295,7 +295,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -347,8 +347,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -374,7 +374,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json b/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json index f74da475..cd8a44b6 100644 --- a/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json +++ b/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp", "type": "attack", @@ -272,8 +272,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -299,7 +299,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -350,8 +350,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -377,7 +377,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json b/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json index 6755d27f..7672961c 100644 --- a/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json +++ b/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json @@ -57,8 +57,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -85,7 +85,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/abilities/mouth-teeth-sharp.webp", "type": "attack", diff --git a/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json b/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json index e215a444..8593ec01 100644 --- a/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json +++ b/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json @@ -86,8 +86,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -113,7 +113,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -249,8 +249,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -275,7 +275,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json b/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json index 93bfef2c..d17c3f86 100644 --- a/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json +++ b/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json @@ -85,8 +85,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -112,7 +112,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/staves/staff-ornate-purple.webp", "type": "attack", @@ -256,7 +256,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -336,8 +336,8 @@ "recovery": null }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -362,7 +362,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json b/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json index ed6d7775..514be8f5 100644 --- a/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json +++ b/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json @@ -61,8 +61,8 @@ "attack": { "name": "Longsword", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -89,7 +89,7 @@ }, "base": false } - } + ] }, "roll": { "bonus": 3, diff --git a/src/packs/adversaries/adversary_Shambling_Zombie_2nXz4ilAY4xuhKLm.json b/src/packs/adversaries/adversary_Shambling_Zombie_2nXz4ilAY4xuhKLm.json index 5161f8e2..7c3925ac 100644 --- a/src/packs/adversaries/adversary_Shambling_Zombie_2nXz4ilAY4xuhKLm.json +++ b/src/packs/adversaries/adversary_Shambling_Zombie_2nXz4ilAY4xuhKLm.json @@ -74,8 +74,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -266,8 +266,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -292,7 +292,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json b/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json index f9bad7ea..e385a6c5 100644 --- a/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json +++ b/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json @@ -75,8 +75,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -238,8 +238,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -264,7 +264,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -316,8 +316,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -343,7 +343,7 @@ } } }, - "armor": { + { "value": { "custom": { "enabled": true, @@ -368,7 +368,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json b/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json index 38f77982..05ca67a9 100644 --- a/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json +++ b/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/abilities/mouth-teeth-sharp.webp", "range": "melee", @@ -244,8 +244,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -271,7 +271,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -350,7 +350,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json index f0dde9f0..9d837ac0 100644 --- a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json +++ b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json @@ -74,8 +74,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/bows/shortbow-leather.webp", "type": "attack", @@ -310,8 +310,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -337,7 +337,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json b/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json index e4cbab5e..4013d7fe 100644 --- a/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json +++ b/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json @@ -58,8 +58,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -86,7 +86,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", diff --git a/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json b/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json index 8b2042f3..3c26dd28 100644 --- a/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json +++ b/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json @@ -74,8 +74,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -240,8 +240,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -266,7 +266,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -326,8 +326,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -353,7 +353,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -378,7 +378,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -452,8 +452,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -479,7 +479,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json index 726b06e1..28003d5c 100644 --- a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json +++ b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json @@ -73,8 +73,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -100,7 +100,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/swords/sword-guard-brass-worn.webp", "type": "attack", @@ -310,7 +310,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json index 5b9cbb65..e6cc30f7 100644 --- a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json +++ b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "range": "far", "type": "attack", @@ -343,8 +343,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -370,7 +370,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json index 0572e018..b70a5d53 100644 --- a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json +++ b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json @@ -76,8 +76,8 @@ "name": "Longbow", "img": "icons/weapons/bows/longbow-recurve-skull-brown.webp", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -103,7 +103,7 @@ }, "base": false } - } + ] }, "roll": { "bonus": 3, @@ -456,8 +456,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -483,7 +483,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json index 85893254..577a7d25 100644 --- a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json +++ b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json @@ -81,8 +81,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -350,8 +350,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -377,7 +377,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -402,7 +402,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json b/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json index 90c7d68f..13d6ed84 100644 --- a/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json +++ b/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -108,7 +108,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -280,8 +280,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -307,7 +307,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -439,8 +439,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -466,7 +466,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json b/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json index 0e160edb..5affdc44 100644 --- a/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json +++ b/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/weapons/daggers/dagger-curved-purple.webp", "range": "melee", @@ -329,8 +329,8 @@ "recovery": null }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -354,7 +354,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json b/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json index e7738a46..603182cc 100644 --- a/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json +++ b/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -244,8 +244,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -271,7 +271,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -330,7 +330,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -410,8 +410,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -435,7 +435,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json b/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json index c50c426d..d04f41fd 100644 --- a/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json +++ b/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "range": "melee", "type": "attack", @@ -276,8 +276,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -301,7 +301,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -435,8 +435,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -462,7 +462,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -573,8 +573,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -600,7 +600,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json b/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json index 28d5dabe..014b3dc6 100644 --- a/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json +++ b/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json @@ -68,8 +68,8 @@ "description": "

A skittering mass of ordinary rodents moving as one like a ravenous wave.

", "attack": { "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -95,7 +95,7 @@ "resultBased": false, "base": false } - } + ] }, "name": "Claws", "img": "icons/creatures/claws/claw-straight-brown.webp", diff --git a/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json b/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json index f3ce03c3..2ec5e924 100644 --- a/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json +++ b/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -246,8 +246,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -273,7 +273,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -353,8 +353,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -380,7 +380,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json b/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json index f8f93cf2..40297eb6 100644 --- a/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json +++ b/src/packs/adversaries/adversary_Tangle_Bramble_Swarm_PKSXFuaIHUCoH63A.json @@ -99,8 +99,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -126,7 +126,7 @@ "resultBased": false, "base": false } - }, + ], "includeBase": false }, "description": "", @@ -309,8 +309,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false, @@ -338,7 +338,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, diff --git a/src/packs/adversaries/adversary_Tangle_Bramble_XcAGOSmtCFLT1unN.json b/src/packs/adversaries/adversary_Tangle_Bramble_XcAGOSmtCFLT1unN.json index c36502de..33afaa3a 100644 --- a/src/packs/adversaries/adversary_Tangle_Bramble_XcAGOSmtCFLT1unN.json +++ b/src/packs/adversaries/adversary_Tangle_Bramble_XcAGOSmtCFLT1unN.json @@ -94,8 +94,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -122,7 +122,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/adversaries/adversary_Tiny_Green_Ooze_aLkLFuVoKz2NLoBK.json b/src/packs/adversaries/adversary_Tiny_Green_Ooze_aLkLFuVoKz2NLoBK.json index 9470502c..2b3867aa 100644 --- a/src/packs/adversaries/adversary_Tiny_Green_Ooze_aLkLFuVoKz2NLoBK.json +++ b/src/packs/adversaries/adversary_Tiny_Green_Ooze_aLkLFuVoKz2NLoBK.json @@ -57,8 +57,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -84,7 +84,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp", "type": "attack", @@ -234,8 +234,8 @@ "recovery": null }, "damage": { - "parts": { - "armor": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -260,7 +260,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json b/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json index 28d6490e..116fffba 100644 --- a/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json +++ b/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json @@ -58,8 +58,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -85,7 +85,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -236,8 +236,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -263,7 +263,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json b/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json index c6c11d36..ad9d8107 100644 --- a/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json +++ b/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json @@ -66,8 +66,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -94,7 +94,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", diff --git a/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json b/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json index 6ba4935a..4f51cd79 100644 --- a/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json +++ b/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -244,8 +244,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -269,7 +269,7 @@ } } }, - "hope": { + { "value": { "custom": { "enabled": true, @@ -294,7 +294,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -319,7 +319,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json b/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json index 97c493a8..24db9c55 100644 --- a/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json +++ b/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json @@ -75,8 +75,8 @@ }, "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -270,7 +270,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json index d4fa0340..e4098e93 100644 --- a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json +++ b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json @@ -75,8 +75,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -373,8 +373,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -400,7 +400,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -474,8 +474,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -501,7 +501,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json index d723df80..ab683607 100644 --- a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json +++ b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json @@ -74,8 +74,8 @@ }, "range": "far", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -101,7 +101,7 @@ }, "base": false } - } + ] }, "img": "icons/commodities/tech/metal-joint.webp", "type": "attack", @@ -429,8 +429,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -456,7 +456,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json b/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json index f6a8bc84..baf84c14 100644 --- a/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json +++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Ashen_Tyrant_pMuXGCSOQaxpi5tb.json @@ -67,8 +67,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -94,7 +94,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", @@ -451,8 +451,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -477,7 +477,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -529,8 +529,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -556,7 +556,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -581,7 +581,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -710,8 +710,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -737,7 +737,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json b/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json index 25c8b637..c73b0dda 100644 --- a/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json +++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Molten_Scourge_eArAPuB38CNR0ZIM.json @@ -67,8 +67,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -94,7 +94,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", @@ -359,8 +359,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -386,7 +386,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -459,8 +459,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -486,7 +486,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -566,7 +566,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -612,8 +612,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -639,7 +639,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": false @@ -663,7 +663,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -791,8 +791,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -818,7 +818,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, @@ -857,37 +857,7 @@ "system": { "description": "

When the @Lookup[@name] marks their last HP, replace them with the @UUID[Compendium.daggerheart.adversaries.Actor.pMuXGCSOQaxpi5tb]{Ashen Tyrant} and immediately spotlight them.

", "resource": null, - "actions": { - "cFqFjemAfAjB0OB0": { - "type": "transform", - "_id": "cFqFjemAfAjB0OB0", - "systemPath": "actions", - "baseAction": false, - "description": "", - "chatDisplay": true, - "originItem": { - "type": "itemCollection" - }, - "actionType": "action", - "triggers": [], - "cost": [], - "uses": { - "value": null, - "max": "", - "recovery": null, - "consumeOnSuccess": false - }, - "transform": { - "actorUUID": "Compendium.daggerheart.adversaries.Actor.pMuXGCSOQaxpi5tb", - "resourceRefresh": { - "hitPoints": true, - "stress": true - } - }, - "name": "Transform", - "range": "" - } - }, + "actions": {}, "originItemType": null, "originId": null, "featureForm": "reaction" diff --git a/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json b/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json index 227efccc..2e2adbdd 100644 --- a/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json +++ b/src/packs/adversaries/adversary_Volcanic_Dragon__Obsidian_Predator_ladm7wykhZczYzrQ.json @@ -67,8 +67,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -94,7 +94,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", @@ -465,8 +465,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -490,7 +490,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -607,8 +607,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -634,7 +634,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -659,7 +659,7 @@ }, "type": [] }, - "hope": { + { "value": { "custom": { "enabled": true, @@ -684,7 +684,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -742,37 +742,7 @@ "system": { "description": "

When the @Lookup[@name] marks their last HP, replace them with the @UUID[Compendium.daggerheart.adversaries.Actor.eArAPuB38CNR0ZIM]{Molten Scourge} and immediately spotlight them.

", "resource": null, - "actions": { - "OxGkCGgIl4vGFufD": { - "type": "transform", - "_id": "OxGkCGgIl4vGFufD", - "systemPath": "actions", - "baseAction": false, - "description": "", - "chatDisplay": true, - "originItem": { - "type": "itemCollection" - }, - "actionType": "action", - "triggers": [], - "cost": [], - "uses": { - "value": null, - "max": "", - "recovery": null, - "consumeOnSuccess": false - }, - "transform": { - "actorUUID": "Compendium.daggerheart.adversaries.Actor.eArAPuB38CNR0ZIM", - "resourceRefresh": { - "hitPoints": true, - "stress": true - } - }, - "name": "Transform", - "range": "" - } - }, + "actions": {}, "originItemType": null, "originId": null, "featureForm": "reaction" diff --git a/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json b/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json index 55be8e1a..f087c63d 100644 --- a/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json +++ b/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json @@ -86,8 +86,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -113,7 +113,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -367,8 +367,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -394,7 +394,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -474,8 +474,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -501,7 +501,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -574,8 +574,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -601,7 +601,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json b/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json index 8eaf56f9..55c7cb23 100644 --- a/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json +++ b/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json @@ -75,8 +75,8 @@ "img": "icons/weapons/swords/greatsword-guard-gold-worn.webp", "range": "veryClose", "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -102,7 +102,7 @@ }, "base": false } - } + ] }, "type": "attack", "chatDisplay": false @@ -240,8 +240,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -267,7 +267,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -416,8 +416,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -442,7 +442,7 @@ }, "type": [] }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -467,7 +467,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -537,8 +537,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -564,7 +564,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json b/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json index 9d7f66d0..d097f765 100644 --- a/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json +++ b/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json @@ -80,8 +80,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ }, "base": false } - } + ] }, "type": "attack", "range": "melee", @@ -253,7 +253,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -440,8 +440,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -467,7 +467,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json b/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json index 09e76fa8..751d73b4 100644 --- a/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json +++ b/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json @@ -79,8 +79,8 @@ "type": "attack" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -106,7 +106,7 @@ }, "base": false } - } + ] }, "img": "icons/creatures/claws/claw-scaled-red.webp", "type": "attack", @@ -302,8 +302,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -328,7 +328,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -412,8 +412,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -439,7 +439,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -563,7 +563,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -691,8 +691,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -717,7 +717,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -831,8 +831,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -858,7 +858,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json index 2c3495ff..91bdab81 100644 --- a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json +++ b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json @@ -68,8 +68,8 @@ "motivesAndTactics": "Consume brain, shred fl esh, surround", "attack": { "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -95,7 +95,7 @@ "resultBased": false, "base": false } - } + ] }, "name": "Undead Hands", "roll": { diff --git a/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json b/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json index f418758a..017537ad 100644 --- a/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json +++ b/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json @@ -68,8 +68,8 @@ "description": "

A group of shambling corpses instinctively moving together.

", "attack": { "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -95,7 +95,7 @@ "resultBased": false, "base": false } - } + ] }, "name": "Bite", "roll": { diff --git a/src/packs/ancestries/feature_Charge_AA2CZlJSWW8GPhrR.json b/src/packs/ancestries/feature_Charge_AA2CZlJSWW8GPhrR.json index 0af2610a..f1f7ae35 100644 --- a/src/packs/ancestries/feature_Charge_AA2CZlJSWW8GPhrR.json +++ b/src/packs/ancestries/feature_Charge_AA2CZlJSWW8GPhrR.json @@ -29,8 +29,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -56,7 +56,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/ancestries/feature_Elemental_Breath_sRaE3CgkgjBF1UpV.json b/src/packs/ancestries/feature_Elemental_Breath_sRaE3CgkgjBF1UpV.json index a660daf5..71ac4438 100644 --- a/src/packs/ancestries/feature_Elemental_Breath_sRaE3CgkgjBF1UpV.json +++ b/src/packs/ancestries/feature_Elemental_Breath_sRaE3CgkgjBF1UpV.json @@ -22,8 +22,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -47,7 +47,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/ancestries/feature_Fungril_Network_9tmeXm623hl4Qnws.json b/src/packs/ancestries/feature_Fungril_Network_9tmeXm623hl4Qnws.json index 87638f37..9d970a67 100644 --- a/src/packs/ancestries/feature_Fungril_Network_9tmeXm623hl4Qnws.json +++ b/src/packs/ancestries/feature_Fungril_Network_9tmeXm623hl4Qnws.json @@ -22,7 +22,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/ancestries/feature_Kick_gpW19TfJk0WWFh1S.json b/src/packs/ancestries/feature_Kick_gpW19TfJk0WWFh1S.json index b363b6c2..89546ded 100644 --- a/src/packs/ancestries/feature_Kick_gpW19TfJk0WWFh1S.json +++ b/src/packs/ancestries/feature_Kick_gpW19TfJk0WWFh1S.json @@ -31,8 +31,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false, @@ -58,7 +58,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/ancestries/feature_Long_Tongue_oWbdlh51ajn1Q5kL.json b/src/packs/ancestries/feature_Long_Tongue_oWbdlh51ajn1Q5kL.json index 1f1156d7..aee64a9a 100644 --- a/src/packs/ancestries/feature_Long_Tongue_oWbdlh51ajn1Q5kL.json +++ b/src/packs/ancestries/feature_Long_Tongue_oWbdlh51ajn1Q5kL.json @@ -29,8 +29,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -54,7 +54,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/ancestries/feature_Luckbringer_8O6SQQMxKWr430QA.json b/src/packs/ancestries/feature_Luckbringer_8O6SQQMxKWr430QA.json index 36fd73fb..3c31d62d 100644 --- a/src/packs/ancestries/feature_Luckbringer_8O6SQQMxKWr430QA.json +++ b/src/packs/ancestries/feature_Luckbringer_8O6SQQMxKWr430QA.json @@ -22,8 +22,8 @@ "recovery": "session" }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -48,7 +48,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/ancestries/feature_Retracting_Claws_Zj69cAeb3NjIa8Hn.json b/src/packs/ancestries/feature_Retracting_Claws_Zj69cAeb3NjIa8Hn.json index b9b000f4..6338548e 100644 --- a/src/packs/ancestries/feature_Retracting_Claws_Zj69cAeb3NjIa8Hn.json +++ b/src/packs/ancestries/feature_Retracting_Claws_Zj69cAeb3NjIa8Hn.json @@ -22,7 +22,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json b/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json index 6038f2c6..5bd72773 100644 --- a/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json +++ b/src/packs/ancestries/feature_Tusks_YhxD1ujZpftPu19w.json @@ -31,8 +31,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false, @@ -58,7 +58,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/ancestries/feature_Unshakeable_G5pE8FW94V1W9jJx.json b/src/packs/ancestries/feature_Unshakeable_G5pE8FW94V1W9jJx.json index bf0a241b..195b10e8 100644 --- a/src/packs/ancestries/feature_Unshakeable_G5pE8FW94V1W9jJx.json +++ b/src/packs/ancestries/feature_Unshakeable_G5pE8FW94V1W9jJx.json @@ -22,7 +22,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/beastforms/feature_Demolish_DfBXO8jTchwFG8dZ.json b/src/packs/beastforms/feature_Demolish_DfBXO8jTchwFG8dZ.json index 43ba16a8..acc7df36 100644 --- a/src/packs/beastforms/feature_Demolish_DfBXO8jTchwFG8dZ.json +++ b/src/packs/beastforms/feature_Demolish_DfBXO8jTchwFG8dZ.json @@ -27,8 +27,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -52,7 +52,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/beastforms/feature_Elusive_Prey_a7Qvmm14nx9BCysA.json b/src/packs/beastforms/feature_Elusive_Prey_a7Qvmm14nx9BCysA.json index a81eb8af..d99a6ab7 100644 --- a/src/packs/beastforms/feature_Elusive_Prey_a7Qvmm14nx9BCysA.json +++ b/src/packs/beastforms/feature_Elusive_Prey_a7Qvmm14nx9BCysA.json @@ -27,7 +27,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/beastforms/feature_Takedown_0ey4kM9ssj2otHvb.json b/src/packs/beastforms/feature_Takedown_0ey4kM9ssj2otHvb.json index 531b30ea..4dc2c0f7 100644 --- a/src/packs/beastforms/feature_Takedown_0ey4kM9ssj2otHvb.json +++ b/src/packs/beastforms/feature_Takedown_0ey4kM9ssj2otHvb.json @@ -27,8 +27,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -54,7 +54,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/beastforms/feature_Trample_A0lgd6eVEfX6oqSB.json b/src/packs/beastforms/feature_Trample_A0lgd6eVEfX6oqSB.json index 4f0ea6c3..230f6470 100644 --- a/src/packs/beastforms/feature_Trample_A0lgd6eVEfX6oqSB.json +++ b/src/packs/beastforms/feature_Trample_A0lgd6eVEfX6oqSB.json @@ -27,8 +27,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -52,7 +52,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/beastforms/feature_Unyielding_vEAQ4cfsoPmOv2Gg.json b/src/packs/beastforms/feature_Unyielding_vEAQ4cfsoPmOv2Gg.json index 429b5a1a..6bfafa79 100644 --- a/src/packs/beastforms/feature_Unyielding_vEAQ4cfsoPmOv2Gg.json +++ b/src/packs/beastforms/feature_Unyielding_vEAQ4cfsoPmOv2Gg.json @@ -20,7 +20,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/beastforms/feature_Venomous_Strike_uW3853pViM9VAfHb.json b/src/packs/beastforms/feature_Venomous_Strike_uW3853pViM9VAfHb.json index 923e43bd..3b39707d 100644 --- a/src/packs/beastforms/feature_Venomous_Strike_uW3853pViM9VAfHb.json +++ b/src/packs/beastforms/feature_Venomous_Strike_uW3853pViM9VAfHb.json @@ -20,7 +20,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/beastforms/feature_Vicious_Maul_jYUBi7yLHap5ljpa.json b/src/packs/beastforms/feature_Vicious_Maul_jYUBi7yLHap5ljpa.json index a3494ed0..28095ea9 100644 --- a/src/packs/beastforms/feature_Vicious_Maul_jYUBi7yLHap5ljpa.json +++ b/src/packs/beastforms/feature_Vicious_Maul_jYUBi7yLHap5ljpa.json @@ -27,8 +27,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -53,7 +53,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/beastforms/feature_Webslinger_D73fS1iM4SZPFimu.json b/src/packs/beastforms/feature_Webslinger_D73fS1iM4SZPFimu.json index 7cd48d25..9e3a3d93 100644 --- a/src/packs/beastforms/feature_Webslinger_D73fS1iM4SZPFimu.json +++ b/src/packs/beastforms/feature_Webslinger_D73fS1iM4SZPFimu.json @@ -20,7 +20,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/classes/feature_Frontline_Tank_YS1g7YdWwOaS629x.json b/src/packs/classes/feature_Frontline_Tank_YS1g7YdWwOaS629x.json index 81fd08cc..7b7be61a 100644 --- a/src/packs/classes/feature_Frontline_Tank_YS1g7YdWwOaS629x.json +++ b/src/packs/classes/feature_Frontline_Tank_YS1g7YdWwOaS629x.json @@ -29,8 +29,8 @@ "recovery": null }, "damage": { - "parts": { - "armor": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -55,7 +55,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/classes/feature_Life_Support_lSlvSUHbOoX36q2j.json b/src/packs/classes/feature_Life_Support_lSlvSUHbOoX36q2j.json index b788f1f4..9c4fc450 100644 --- a/src/packs/classes/feature_Life_Support_lSlvSUHbOoX36q2j.json +++ b/src/packs/classes/feature_Life_Support_lSlvSUHbOoX36q2j.json @@ -31,8 +31,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -57,7 +57,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/classes/feature_Minor_Illusion_cshTYdtz9yoXYYB3.json b/src/packs/classes/feature_Minor_Illusion_cshTYdtz9yoXYYB3.json index 5f4d5fe7..fe18f68b 100644 --- a/src/packs/classes/feature_Minor_Illusion_cshTYdtz9yoXYYB3.json +++ b/src/packs/classes/feature_Minor_Illusion_cshTYdtz9yoXYYB3.json @@ -23,7 +23,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/classes/feature_Strange_Patterns_6YsfFjmCGuFYVhT4.json b/src/packs/classes/feature_Strange_Patterns_6YsfFjmCGuFYVhT4.json index ce1f499f..953b3a2c 100644 --- a/src/packs/classes/feature_Strange_Patterns_6YsfFjmCGuFYVhT4.json +++ b/src/packs/classes/feature_Strange_Patterns_6YsfFjmCGuFYVhT4.json @@ -29,8 +29,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -55,7 +55,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_A_Soldier_s_Bond_Y08dLFuPXsgeRrHi.json b/src/packs/domains/domainCard_A_Soldier_s_Bond_Y08dLFuPXsgeRrHi.json index 09255a76..d3da85b6 100644 --- a/src/packs/domains/domainCard_A_Soldier_s_Bond_Y08dLFuPXsgeRrHi.json +++ b/src/packs/domains/domainCard_A_Soldier_s_Bond_Y08dLFuPXsgeRrHi.json @@ -25,8 +25,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -51,7 +51,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Arcane_Reflection_JzSvxy9Mu3RJp1jV.json b/src/packs/domains/domainCard_Arcane_Reflection_JzSvxy9Mu3RJp1jV.json index e557b8cd..e6d38e3f 100644 --- a/src/packs/domains/domainCard_Arcane_Reflection_JzSvxy9Mu3RJp1jV.json +++ b/src/packs/domains/domainCard_Arcane_Reflection_JzSvxy9Mu3RJp1jV.json @@ -33,7 +33,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Armorer_cy8GjBPGc9w9RaGO.json b/src/packs/domains/domainCard_Armorer_cy8GjBPGc9w9RaGO.json index 059fb24c..aa9910dc 100644 --- a/src/packs/domains/domainCard_Armorer_cy8GjBPGc9w9RaGO.json +++ b/src/packs/domains/domainCard_Armorer_cy8GjBPGc9w9RaGO.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "armor": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -50,7 +50,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Banish_AIbHfryMA2Rvs1ut.json b/src/packs/domains/domainCard_Banish_AIbHfryMA2Rvs1ut.json index e3c23dbf..b637a622 100644 --- a/src/packs/domains/domainCard_Banish_AIbHfryMA2Rvs1ut.json +++ b/src/packs/domains/domainCard_Banish_AIbHfryMA2Rvs1ut.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Battle_Cry_Ef1JsUG50LIoKx2F.json b/src/packs/domains/domainCard_Battle_Cry_Ef1JsUG50LIoKx2F.json index c9ae6071..432f9992 100644 --- a/src/packs/domains/domainCard_Battle_Cry_Ef1JsUG50LIoKx2F.json +++ b/src/packs/domains/domainCard_Battle_Cry_Ef1JsUG50LIoKx2F.json @@ -25,8 +25,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -51,7 +51,7 @@ }, "type": [] }, - "hope": { + { "value": { "custom": { "enabled": true, @@ -76,7 +76,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Battle_Hardened_NeEOghgfyDUBTwBG.json b/src/packs/domains/domainCard_Battle_Hardened_NeEOghgfyDUBTwBG.json index 852cd329..dfd0c68d 100644 --- a/src/packs/domains/domainCard_Battle_Hardened_NeEOghgfyDUBTwBG.json +++ b/src/packs/domains/domainCard_Battle_Hardened_NeEOghgfyDUBTwBG.json @@ -25,8 +25,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -51,7 +51,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Blink_Out_Qu0iA4s3Xov10Erd.json b/src/packs/domains/domainCard_Blink_Out_Qu0iA4s3Xov10Erd.json index 617bd27b..0b96d99c 100644 --- a/src/packs/domains/domainCard_Blink_Out_Qu0iA4s3Xov10Erd.json +++ b/src/packs/domains/domainCard_Blink_Out_Qu0iA4s3Xov10Erd.json @@ -33,7 +33,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Bolt_Beacon_BNevJyGk7hmN7XOY.json b/src/packs/domains/domainCard_Bolt_Beacon_BNevJyGk7hmN7XOY.json index df7d36a4..c1964896 100644 --- a/src/packs/domains/domainCard_Bolt_Beacon_BNevJyGk7hmN7XOY.json +++ b/src/packs/domains/domainCard_Bolt_Beacon_BNevJyGk7hmN7XOY.json @@ -33,8 +33,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -58,7 +58,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Ava_YtZzYBtR0yLPPA93.json b/src/packs/domains/domainCard_Book_of_Ava_YtZzYBtR0yLPPA93.json index 7977e56a..8c531bcd 100644 --- a/src/packs/domains/domainCard_Book_of_Ava_YtZzYBtR0yLPPA93.json +++ b/src/packs/domains/domainCard_Book_of_Ava_YtZzYBtR0yLPPA93.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -51,7 +51,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -131,7 +131,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -177,8 +177,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -204,7 +204,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Exota_oVs2MSC6Uf5GbgEG.json b/src/packs/domains/domainCard_Book_of_Exota_oVs2MSC6Uf5GbgEG.json index d228d04b..032a2de2 100644 --- a/src/packs/domains/domainCard_Book_of_Exota_oVs2MSC6Uf5GbgEG.json +++ b/src/packs/domains/domainCard_Book_of_Exota_oVs2MSC6Uf5GbgEG.json @@ -25,7 +25,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -100,8 +100,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -127,7 +127,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Grynn_R0LNheiZycZlZzV3.json b/src/packs/domains/domainCard_Book_of_Grynn_R0LNheiZycZlZzV3.json index d84a8e18..05276707 100644 --- a/src/packs/domains/domainCard_Book_of_Grynn_R0LNheiZycZlZzV3.json +++ b/src/packs/domains/domainCard_Book_of_Grynn_R0LNheiZycZlZzV3.json @@ -76,8 +76,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -103,7 +103,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Homet_gFMx08ogQ8hS2Obi.json b/src/packs/domains/domainCard_Book_of_Homet_gFMx08ogQ8hS2Obi.json index f6f048d1..a0102739 100644 --- a/src/packs/domains/domainCard_Book_of_Homet_gFMx08ogQ8hS2Obi.json +++ b/src/packs/domains/domainCard_Book_of_Homet_gFMx08ogQ8hS2Obi.json @@ -25,7 +25,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -72,7 +72,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Illiat_df4iRqQzRntrF6Qw.json b/src/packs/domains/domainCard_Book_of_Illiat_df4iRqQzRntrF6Qw.json index b34fa000..71ce49f6 100644 --- a/src/packs/domains/domainCard_Book_of_Illiat_df4iRqQzRntrF6Qw.json +++ b/src/packs/domains/domainCard_Book_of_Illiat_df4iRqQzRntrF6Qw.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -82,8 +82,8 @@ "recovery": "shortRest" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -107,7 +107,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Korvax_cWRFHJdxEZ0M1dAg.json b/src/packs/domains/domainCard_Book_of_Korvax_cWRFHJdxEZ0M1dAg.json index d97c514b..5bef4922 100644 --- a/src/packs/domains/domainCard_Book_of_Korvax_cWRFHJdxEZ0M1dAg.json +++ b/src/packs/domains/domainCard_Book_of_Korvax_cWRFHJdxEZ0M1dAg.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -77,7 +77,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -130,8 +130,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -157,7 +157,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Norai_WtwSWXTRZa7QVvmo.json b/src/packs/domains/domainCard_Book_of_Norai_WtwSWXTRZa7QVvmo.json index f32f380a..05d0a219 100644 --- a/src/packs/domains/domainCard_Book_of_Norai_WtwSWXTRZa7QVvmo.json +++ b/src/packs/domains/domainCard_Book_of_Norai_WtwSWXTRZa7QVvmo.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -50,7 +50,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -101,8 +101,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -128,7 +128,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Ronin_SZMNR3uGNinJcN4N.json b/src/packs/domains/domainCard_Book_of_Ronin_SZMNR3uGNinJcN4N.json index 88bb759d..c809a8e0 100644 --- a/src/packs/domains/domainCard_Book_of_Ronin_SZMNR3uGNinJcN4N.json +++ b/src/packs/domains/domainCard_Book_of_Ronin_SZMNR3uGNinJcN4N.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -75,7 +75,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Sitil_eq8VNqYMRHhF9xw9.json b/src/packs/domains/domainCard_Book_of_Sitil_eq8VNqYMRHhF9xw9.json index 16b7a63b..e88ccea9 100644 --- a/src/packs/domains/domainCard_Book_of_Sitil_eq8VNqYMRHhF9xw9.json +++ b/src/packs/domains/domainCard_Book_of_Sitil_eq8VNqYMRHhF9xw9.json @@ -85,7 +85,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Tyfar_1VXzwRbvbBj5bd5V.json b/src/packs/domains/domainCard_Book_of_Tyfar_1VXzwRbvbBj5bd5V.json index 37b71b9c..5e5cb054 100644 --- a/src/packs/domains/domainCard_Book_of_Tyfar_1VXzwRbvbBj5bd5V.json +++ b/src/packs/domains/domainCard_Book_of_Tyfar_1VXzwRbvbBj5bd5V.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -51,7 +51,7 @@ } } }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -76,7 +76,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -144,7 +144,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -153,9 +153,9 @@ }, "effects": [], "roll": { - "type": "spellcast", + "type": null, "trait": null, - "difficulty": 13, + "difficulty": null, "bonus": null, "advState": "neutral", "diceRolling": { diff --git a/src/packs/domains/domainCard_Book_of_Vagras_aknDDYtN7EObv94t.json b/src/packs/domains/domainCard_Book_of_Vagras_aknDDYtN7EObv94t.json index a5764f48..eadd1550 100644 --- a/src/packs/domains/domainCard_Book_of_Vagras_aknDDYtN7EObv94t.json +++ b/src/packs/domains/domainCard_Book_of_Vagras_aknDDYtN7EObv94t.json @@ -25,7 +25,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -79,7 +79,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -125,7 +125,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Vyola_VOIgm2j2Ijszwc5m.json b/src/packs/domains/domainCard_Book_of_Vyola_VOIgm2j2Ijszwc5m.json index 522a8f7c..b94cd702 100644 --- a/src/packs/domains/domainCard_Book_of_Vyola_VOIgm2j2Ijszwc5m.json +++ b/src/packs/domains/domainCard_Book_of_Vyola_VOIgm2j2Ijszwc5m.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Book_of_Yarrow_J1ovx2FpNDvPq1o6.json b/src/packs/domains/domainCard_Book_of_Yarrow_J1ovx2FpNDvPq1o6.json index 17eb4223..4e08fb0e 100644 --- a/src/packs/domains/domainCard_Book_of_Yarrow_J1ovx2FpNDvPq1o6.json +++ b/src/packs/domains/domainCard_Book_of_Yarrow_J1ovx2FpNDvPq1o6.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Chain_Lightning_0kAVO6rordCfZqYP.json b/src/packs/domains/domainCard_Chain_Lightning_0kAVO6rordCfZqYP.json index c2bf721f..682357cc 100644 --- a/src/packs/domains/domainCard_Chain_Lightning_0kAVO6rordCfZqYP.json +++ b/src/packs/domains/domainCard_Chain_Lightning_0kAVO6rordCfZqYP.json @@ -33,8 +33,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -60,7 +60,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -107,8 +107,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -134,7 +134,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Champion_s_Edge_rnejRbUQsNGX1GMC.json b/src/packs/domains/domainCard_Champion_s_Edge_rnejRbUQsNGX1GMC.json index 304541e4..be639515 100644 --- a/src/packs/domains/domainCard_Champion_s_Edge_rnejRbUQsNGX1GMC.json +++ b/src/packs/domains/domainCard_Champion_s_Edge_rnejRbUQsNGX1GMC.json @@ -33,8 +33,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -59,7 +59,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -109,8 +109,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "armor": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -135,7 +135,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -185,8 +185,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -213,7 +213,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Chokehold_R5GYUalYXLLFRlNl.json b/src/packs/domains/domainCard_Chokehold_R5GYUalYXLLFRlNl.json index 73424902..587e7855 100644 --- a/src/packs/domains/domainCard_Chokehold_R5GYUalYXLLFRlNl.json +++ b/src/packs/domains/domainCard_Chokehold_R5GYUalYXLLFRlNl.json @@ -65,7 +65,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Cinder_Grasp_5EP2Lgf7ojfrc0Is.json b/src/packs/domains/domainCard_Cinder_Grasp_5EP2Lgf7ojfrc0Is.json index e3df986e..5ffab1e2 100644 --- a/src/packs/domains/domainCard_Cinder_Grasp_5EP2Lgf7ojfrc0Is.json +++ b/src/packs/domains/domainCard_Cinder_Grasp_5EP2Lgf7ojfrc0Is.json @@ -25,8 +25,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -52,7 +52,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -104,8 +104,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -131,7 +131,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Confusing_Aura_R8NDiJXJWmC48WSr.json b/src/packs/domains/domainCard_Confusing_Aura_R8NDiJXJWmC48WSr.json index a261da89..859635f3 100644 --- a/src/packs/domains/domainCard_Confusing_Aura_R8NDiJXJWmC48WSr.json +++ b/src/packs/domains/domainCard_Confusing_Aura_R8NDiJXJWmC48WSr.json @@ -25,7 +25,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -80,7 +80,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json b/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json index d1d1789d..ededde93 100644 --- a/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json +++ b/src/packs/domains/domainCard_Conjure_Swarm_rZPH0BY8Sznc9sFG.json @@ -31,7 +31,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -119,8 +119,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -148,7 +148,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Corrosive_Projectile_qJaSNTuDfbPVr8Lb.json b/src/packs/domains/domainCard_Corrosive_Projectile_qJaSNTuDfbPVr8Lb.json index 01d88111..09dff08a 100644 --- a/src/packs/domains/domainCard_Corrosive_Projectile_qJaSNTuDfbPVr8Lb.json +++ b/src/packs/domains/domainCard_Corrosive_Projectile_qJaSNTuDfbPVr8Lb.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -49,7 +49,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Counterspell_6dhqo1kzGxejCjHa.json b/src/packs/domains/domainCard_Counterspell_6dhqo1kzGxejCjHa.json index a8d403d8..7d3a74c9 100644 --- a/src/packs/domains/domainCard_Counterspell_6dhqo1kzGxejCjHa.json +++ b/src/packs/domains/domainCard_Counterspell_6dhqo1kzGxejCjHa.json @@ -25,7 +25,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Critical_Inspiration_ABp9pUfBS69NomTD.json b/src/packs/domains/domainCard_Critical_Inspiration_ABp9pUfBS69NomTD.json index 252878ea..c8013a14 100644 --- a/src/packs/domains/domainCard_Critical_Inspiration_ABp9pUfBS69NomTD.json +++ b/src/packs/domains/domainCard_Critical_Inspiration_ABp9pUfBS69NomTD.json @@ -24,7 +24,7 @@ "recovery": "longRest" }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Dark_Whispers_yL2qrSWmTwXVOySH.json b/src/packs/domains/domainCard_Dark_Whispers_yL2qrSWmTwXVOySH.json index 7d8ecf40..390a2526 100644 --- a/src/packs/domains/domainCard_Dark_Whispers_yL2qrSWmTwXVOySH.json +++ b/src/packs/domains/domainCard_Dark_Whispers_yL2qrSWmTwXVOySH.json @@ -31,7 +31,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Death_Grip_x0FVGE1YbfXalJiw.json b/src/packs/domains/domainCard_Death_Grip_x0FVGE1YbfXalJiw.json index 214dae17..6e7c6b64 100644 --- a/src/packs/domains/domainCard_Death_Grip_x0FVGE1YbfXalJiw.json +++ b/src/packs/domains/domainCard_Death_Grip_x0FVGE1YbfXalJiw.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -75,8 +75,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -101,7 +101,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -152,8 +152,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -179,7 +179,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Disintegration_Wave_kja5qvh4rdeDBB96.json b/src/packs/domains/domainCard_Disintegration_Wave_kja5qvh4rdeDBB96.json index 7d7ed27d..4e3c3083 100644 --- a/src/packs/domains/domainCard_Disintegration_Wave_kja5qvh4rdeDBB96.json +++ b/src/packs/domains/domainCard_Disintegration_Wave_kja5qvh4rdeDBB96.json @@ -25,7 +25,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Earthquake_C0qLOwSSvZ6PG3Ws.json b/src/packs/domains/domainCard_Earthquake_C0qLOwSSvZ6PG3Ws.json index 0a35c95f..614f7e32 100644 --- a/src/packs/domains/domainCard_Earthquake_C0qLOwSSvZ6PG3Ws.json +++ b/src/packs/domains/domainCard_Earthquake_C0qLOwSSvZ6PG3Ws.json @@ -34,8 +34,8 @@ "consumeOnSuccess": true }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -61,7 +61,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Eclipse_62Sj67PdPFzwWVe3.json b/src/packs/domains/domainCard_Eclipse_62Sj67PdPFzwWVe3.json index c797a148..bd080f0d 100644 --- a/src/packs/domains/domainCard_Eclipse_62Sj67PdPFzwWVe3.json +++ b/src/packs/domains/domainCard_Eclipse_62Sj67PdPFzwWVe3.json @@ -25,7 +25,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -76,8 +76,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -102,7 +102,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Encore_klahWDFwihqqEhXP.json b/src/packs/domains/domainCard_Encore_klahWDFwihqqEhXP.json index fabc00e1..23358d47 100644 --- a/src/packs/domains/domainCard_Encore_klahWDFwihqqEhXP.json +++ b/src/packs/domains/domainCard_Encore_klahWDFwihqqEhXP.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Enrapture_a8lFiKX1o8T924ze.json b/src/packs/domains/domainCard_Enrapture_a8lFiKX1o8T924ze.json index 284682fa..dc574dec 100644 --- a/src/packs/domains/domainCard_Enrapture_a8lFiKX1o8T924ze.json +++ b/src/packs/domains/domainCard_Enrapture_a8lFiKX1o8T924ze.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -82,8 +82,8 @@ "recovery": "shortRest" }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -108,7 +108,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Falling_Sky_hZJp9mdkMnqKDROe.json b/src/packs/domains/domainCard_Falling_Sky_hZJp9mdkMnqKDROe.json index 05496132..ee36e25d 100644 --- a/src/packs/domains/domainCard_Falling_Sky_hZJp9mdkMnqKDROe.json +++ b/src/packs/domains/domainCard_Falling_Sky_hZJp9mdkMnqKDROe.json @@ -33,8 +33,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -59,7 +59,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Final_Words_Nbw6Jnh1vRZzwHQI.json b/src/packs/domains/domainCard_Final_Words_Nbw6Jnh1vRZzwHQI.json index 65d7dd83..757a705a 100644 --- a/src/packs/domains/domainCard_Final_Words_Nbw6Jnh1vRZzwHQI.json +++ b/src/packs/domains/domainCard_Final_Words_Nbw6Jnh1vRZzwHQI.json @@ -25,7 +25,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Flight_54GUjNuBEy7xdzMz.json b/src/packs/domains/domainCard_Flight_54GUjNuBEy7xdzMz.json index 4d1355ee..bd8744f7 100644 --- a/src/packs/domains/domainCard_Flight_54GUjNuBEy7xdzMz.json +++ b/src/packs/domains/domainCard_Flight_54GUjNuBEy7xdzMz.json @@ -25,7 +25,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json b/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json index e8919d6b..292961b8 100644 --- a/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json +++ b/src/packs/domains/domainCard_Forager_06UapZuaA5S6fAKl.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -50,7 +50,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -91,8 +91,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -117,7 +117,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -185,8 +185,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -211,7 +211,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json b/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json index 4fa469a6..feb095a2 100644 --- a/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json +++ b/src/packs/domains/domainCard_Forest_Sprites_JrkUMTzaFmQNBHVm.json @@ -32,7 +32,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Glancing_Blow_nCNCqSH7UgW4O3To.json b/src/packs/domains/domainCard_Glancing_Blow_nCNCqSH7UgW4O3To.json index a0766c1c..70338c03 100644 --- a/src/packs/domains/domainCard_Glancing_Blow_nCNCqSH7UgW4O3To.json +++ b/src/packs/domains/domainCard_Glancing_Blow_nCNCqSH7UgW4O3To.json @@ -33,7 +33,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Glyph_of_Nightfall_B5HXqYRJiL3xMNKT.json b/src/packs/domains/domainCard_Glyph_of_Nightfall_B5HXqYRJiL3xMNKT.json index 35100187..3c17d4ee 100644 --- a/src/packs/domains/domainCard_Glyph_of_Nightfall_B5HXqYRJiL3xMNKT.json +++ b/src/packs/domains/domainCard_Glyph_of_Nightfall_B5HXqYRJiL3xMNKT.json @@ -32,7 +32,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json b/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json index db28b8b5..190028ed 100644 --- a/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json +++ b/src/packs/domains/domainCard_Goad_Them_On_HufF5KzuNfEb9RTi.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -50,7 +50,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Gore_and_Glory_3zvjgZ5Od343wHzx.json b/src/packs/domains/domainCard_Gore_and_Glory_3zvjgZ5Od343wHzx.json index ff648409..8151beaa 100644 --- a/src/packs/domains/domainCard_Gore_and_Glory_3zvjgZ5Od343wHzx.json +++ b/src/packs/domains/domainCard_Gore_and_Glory_3zvjgZ5Od343wHzx.json @@ -25,8 +25,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -51,7 +51,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -93,8 +93,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -119,7 +119,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Grace_Touched_KAuNb51AwhD8KEXk.json b/src/packs/domains/domainCard_Grace_Touched_KAuNb51AwhD8KEXk.json index 2e48f07b..346a81f2 100644 --- a/src/packs/domains/domainCard_Grace_Touched_KAuNb51AwhD8KEXk.json +++ b/src/packs/domains/domainCard_Grace_Touched_KAuNb51AwhD8KEXk.json @@ -53,8 +53,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -79,7 +79,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Ground_Pound_WnGldYhJPDhx8v9X.json b/src/packs/domains/domainCard_Ground_Pound_WnGldYhJPDhx8v9X.json index 5663c6b3..56387c50 100644 --- a/src/packs/domains/domainCard_Ground_Pound_WnGldYhJPDhx8v9X.json +++ b/src/packs/domains/domainCard_Ground_Pound_WnGldYhJPDhx8v9X.json @@ -31,8 +31,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -58,7 +58,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Healing_Field_GlRm1Dxlc0Z1b04o.json b/src/packs/domains/domainCard_Healing_Field_GlRm1Dxlc0Z1b04o.json index d918d49f..0f60cc32 100644 --- a/src/packs/domains/domainCard_Healing_Field_GlRm1Dxlc0Z1b04o.json +++ b/src/packs/domains/domainCard_Healing_Field_GlRm1Dxlc0Z1b04o.json @@ -33,8 +33,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -59,7 +59,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -117,8 +117,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -143,7 +143,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Healing_Hands_WTlhnQMajc1r8i50.json b/src/packs/domains/domainCard_Healing_Hands_WTlhnQMajc1r8i50.json index c771562c..1245fc4b 100644 --- a/src/packs/domains/domainCard_Healing_Hands_WTlhnQMajc1r8i50.json +++ b/src/packs/domains/domainCard_Healing_Hands_WTlhnQMajc1r8i50.json @@ -25,7 +25,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -85,8 +85,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -111,7 +111,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -161,8 +161,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -187,7 +187,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -237,8 +237,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -263,7 +263,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -313,8 +313,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -339,7 +339,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Healing_Strike_XtSc0jIJLOoMTMYS.json b/src/packs/domains/domainCard_Healing_Strike_XtSc0jIJLOoMTMYS.json index 22f7f2c9..26fab1a9 100644 --- a/src/packs/domains/domainCard_Healing_Strike_XtSc0jIJLOoMTMYS.json +++ b/src/packs/domains/domainCard_Healing_Strike_XtSc0jIJLOoMTMYS.json @@ -33,8 +33,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -59,7 +59,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Hush_gwmYasmfgXZ7tFS6.json b/src/packs/domains/domainCard_Hush_gwmYasmfgXZ7tFS6.json index 28c41c7e..23b9588d 100644 --- a/src/packs/domains/domainCard_Hush_gwmYasmfgXZ7tFS6.json +++ b/src/packs/domains/domainCard_Hush_gwmYasmfgXZ7tFS6.json @@ -32,7 +32,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Hypnotic_Shimmer_2ZeuCGVatQdPOVC6.json b/src/packs/domains/domainCard_Hypnotic_Shimmer_2ZeuCGVatQdPOVC6.json index 15a59635..ffa0226d 100644 --- a/src/packs/domains/domainCard_Hypnotic_Shimmer_2ZeuCGVatQdPOVC6.json +++ b/src/packs/domains/domainCard_Hypnotic_Shimmer_2ZeuCGVatQdPOVC6.json @@ -25,8 +25,8 @@ "consumeOnSuccess": true }, "damage": { - "parts": { - "stress": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -51,7 +51,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_I_See_It_Coming_Kp6RejHGimnuoBom.json b/src/packs/domains/domainCard_I_See_It_Coming_Kp6RejHGimnuoBom.json index 5fa005b6..8d5f6536 100644 --- a/src/packs/domains/domainCard_I_See_It_Coming_Kp6RejHGimnuoBom.json +++ b/src/packs/domains/domainCard_I_See_It_Coming_Kp6RejHGimnuoBom.json @@ -33,7 +33,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Inspirational_Words_cWu1o82ZF7GvnbXc.json b/src/packs/domains/domainCard_Inspirational_Words_cWu1o82ZF7GvnbXc.json index b1f15298..0c28d499 100644 --- a/src/packs/domains/domainCard_Inspirational_Words_cWu1o82ZF7GvnbXc.json +++ b/src/packs/domains/domainCard_Inspirational_Words_cWu1o82ZF7GvnbXc.json @@ -41,8 +41,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -67,7 +67,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -117,8 +117,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -143,7 +143,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -193,8 +193,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -219,7 +219,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Invigoration_X8OfkEoI5gLTRf1B.json b/src/packs/domains/domainCard_Invigoration_X8OfkEoI5gLTRf1B.json index e3c5436c..658e12fd 100644 --- a/src/packs/domains/domainCard_Invigoration_X8OfkEoI5gLTRf1B.json +++ b/src/packs/domains/domainCard_Invigoration_X8OfkEoI5gLTRf1B.json @@ -33,7 +33,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Invisibility_KHkzA4Zrw8EWN1CH.json b/src/packs/domains/domainCard_Invisibility_KHkzA4Zrw8EWN1CH.json index 5f67ff74..be46b1c3 100644 --- a/src/packs/domains/domainCard_Invisibility_KHkzA4Zrw8EWN1CH.json +++ b/src/packs/domains/domainCard_Invisibility_KHkzA4Zrw8EWN1CH.json @@ -32,7 +32,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Know_Thy_Enemy_O38MQMhJWdZnXi6b.json b/src/packs/domains/domainCard_Know_Thy_Enemy_O38MQMhJWdZnXi6b.json index 44885c23..12308e6b 100644 --- a/src/packs/domains/domainCard_Know_Thy_Enemy_O38MQMhJWdZnXi6b.json +++ b/src/packs/domains/domainCard_Know_Thy_Enemy_O38MQMhJWdZnXi6b.json @@ -33,7 +33,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Lean_on_Me_BdePs1ZWpZTZvY1Z.json b/src/packs/domains/domainCard_Lean_on_Me_BdePs1ZWpZTZvY1Z.json index ae8c5b82..883e2522 100644 --- a/src/packs/domains/domainCard_Lean_on_Me_BdePs1ZWpZTZvY1Z.json +++ b/src/packs/domains/domainCard_Lean_on_Me_BdePs1ZWpZTZvY1Z.json @@ -24,8 +24,8 @@ "recovery": "longRest" }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -50,7 +50,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Manifest_Wall_TtGOtWkbr23VhHfH.json b/src/packs/domains/domainCard_Manifest_Wall_TtGOtWkbr23VhHfH.json index 02f20956..6e4b4654 100644 --- a/src/packs/domains/domainCard_Manifest_Wall_TtGOtWkbr23VhHfH.json +++ b/src/packs/domains/domainCard_Manifest_Wall_TtGOtWkbr23VhHfH.json @@ -33,7 +33,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Mass_Enrapture_ubpixIgZrJXKyM3b.json b/src/packs/domains/domainCard_Mass_Enrapture_ubpixIgZrJXKyM3b.json index 7e925700..d4df379e 100644 --- a/src/packs/domains/domainCard_Mass_Enrapture_ubpixIgZrJXKyM3b.json +++ b/src/packs/domains/domainCard_Mass_Enrapture_ubpixIgZrJXKyM3b.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -82,8 +82,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -108,7 +108,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Mending_Touch_TGjR4vJVNbQRV8zr.json b/src/packs/domains/domainCard_Mending_Touch_TGjR4vJVNbQRV8zr.json index 60367dcc..4cb8c2a2 100644 --- a/src/packs/domains/domainCard_Mending_Touch_TGjR4vJVNbQRV8zr.json +++ b/src/packs/domains/domainCard_Mending_Touch_TGjR4vJVNbQRV8zr.json @@ -33,8 +33,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -59,7 +59,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -109,8 +109,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -135,7 +135,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -194,8 +194,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -220,7 +220,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -279,8 +279,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -305,7 +305,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Midnight_Spirit_FXLsB3QbQvTtqX5B.json b/src/packs/domains/domainCard_Midnight_Spirit_FXLsB3QbQvTtqX5B.json index f951054e..f97fe53d 100644 --- a/src/packs/domains/domainCard_Midnight_Spirit_FXLsB3QbQvTtqX5B.json +++ b/src/packs/domains/domainCard_Midnight_Spirit_FXLsB3QbQvTtqX5B.json @@ -60,8 +60,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -87,7 +87,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Midnight_Touched_uSyGKVxOJcnp28po.json b/src/packs/domains/domainCard_Midnight_Touched_uSyGKVxOJcnp28po.json index b859aafb..10c42418 100644 --- a/src/packs/domains/domainCard_Midnight_Touched_uSyGKVxOJcnp28po.json +++ b/src/packs/domains/domainCard_Midnight_Touched_uSyGKVxOJcnp28po.json @@ -24,8 +24,8 @@ "recovery": "shortRest" }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -50,7 +50,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json b/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json index c14116d4..7aa85b0f 100644 --- a/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json +++ b/src/packs/domains/domainCard_Natural_Familiar_Tag303LoRNC5zGgl.json @@ -59,7 +59,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json b/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json index b6c9464a..c722954b 100644 --- a/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json +++ b/src/packs/domains/domainCard_Nature_s_Tongue_atWLorlCOxcrq8WB.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Night_Terror_zcldCuqOg3dphUVI.json b/src/packs/domains/domainCard_Night_Terror_zcldCuqOg3dphUVI.json index d40b1c43..59a0c924 100644 --- a/src/packs/domains/domainCard_Night_Terror_zcldCuqOg3dphUVI.json +++ b/src/packs/domains/domainCard_Night_Terror_zcldCuqOg3dphUVI.json @@ -24,7 +24,7 @@ "recovery": "longRest" }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -84,8 +84,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -109,7 +109,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Onslaught_I7pNsQ9Yx6mRJX4V.json b/src/packs/domains/domainCard_Onslaught_I7pNsQ9Yx6mRJX4V.json index 5122ec4b..d2d7361d 100644 --- a/src/packs/domains/domainCard_Onslaught_I7pNsQ9Yx6mRJX4V.json +++ b/src/packs/domains/domainCard_Onslaught_I7pNsQ9Yx6mRJX4V.json @@ -33,7 +33,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Overwhelming_Aura_iEBLySZD9z8CLdz7.json b/src/packs/domains/domainCard_Overwhelming_Aura_iEBLySZD9z8CLdz7.json index 9aa2f5b4..1b0173d7 100644 --- a/src/packs/domains/domainCard_Overwhelming_Aura_iEBLySZD9z8CLdz7.json +++ b/src/packs/domains/domainCard_Overwhelming_Aura_iEBLySZD9z8CLdz7.json @@ -33,7 +33,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Plant_Dominion_9a6xP5pxhVvdugk9.json b/src/packs/domains/domainCard_Plant_Dominion_9a6xP5pxhVvdugk9.json index 4b4767fa..64b1e1c2 100644 --- a/src/packs/domains/domainCard_Plant_Dominion_9a6xP5pxhVvdugk9.json +++ b/src/packs/domains/domainCard_Plant_Dominion_9a6xP5pxhVvdugk9.json @@ -25,7 +25,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Preservation_Blast_1p1cOmbnRd5CoKBp.json b/src/packs/domains/domainCard_Preservation_Blast_1p1cOmbnRd5CoKBp.json index 5470c340..46dc2bdb 100644 --- a/src/packs/domains/domainCard_Preservation_Blast_1p1cOmbnRd5CoKBp.json +++ b/src/packs/domains/domainCard_Preservation_Blast_1p1cOmbnRd5CoKBp.json @@ -25,8 +25,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -52,7 +52,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Rain_of_Blades_Ucenef6JpjQxwXni.json b/src/packs/domains/domainCard_Rain_of_Blades_Ucenef6JpjQxwXni.json index 080dd67f..839dc2c2 100644 --- a/src/packs/domains/domainCard_Rain_of_Blades_Ucenef6JpjQxwXni.json +++ b/src/packs/domains/domainCard_Rain_of_Blades_Ucenef6JpjQxwXni.json @@ -31,8 +31,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -56,7 +56,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -102,8 +102,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -127,7 +127,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Reaper_s_Strike_MCgNRlh0s5XUPCfl.json b/src/packs/domains/domainCard_Reaper_s_Strike_MCgNRlh0s5XUPCfl.json index 3bb8accd..f4feebbb 100644 --- a/src/packs/domains/domainCard_Reaper_s_Strike_MCgNRlh0s5XUPCfl.json +++ b/src/packs/domains/domainCard_Reaper_s_Strike_MCgNRlh0s5XUPCfl.json @@ -33,7 +33,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Rejuvenation_Barrier_HtWx5IIemCoorMj2.json b/src/packs/domains/domainCard_Rejuvenation_Barrier_HtWx5IIemCoorMj2.json index 11e15a0b..25c991c2 100644 --- a/src/packs/domains/domainCard_Rejuvenation_Barrier_HtWx5IIemCoorMj2.json +++ b/src/packs/domains/domainCard_Rejuvenation_Barrier_HtWx5IIemCoorMj2.json @@ -25,8 +25,8 @@ "consumeOnSuccess": true }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -50,7 +50,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Restoration_wUQFsRtww18naYaq.json b/src/packs/domains/domainCard_Restoration_wUQFsRtww18naYaq.json index a83044a0..8d4d7695 100644 --- a/src/packs/domains/domainCard_Restoration_wUQFsRtww18naYaq.json +++ b/src/packs/domains/domainCard_Restoration_wUQFsRtww18naYaq.json @@ -42,8 +42,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -68,7 +68,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -119,8 +119,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -145,7 +145,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Resurrection_z30ciOwQI7g3tHla.json b/src/packs/domains/domainCard_Resurrection_z30ciOwQI7g3tHla.json index b7faa7ae..82b1b4fa 100644 --- a/src/packs/domains/domainCard_Resurrection_z30ciOwQI7g3tHla.json +++ b/src/packs/domains/domainCard_Resurrection_z30ciOwQI7g3tHla.json @@ -25,7 +25,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -72,7 +72,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Rift_Walker_vd5STqX29RpYbGxa.json b/src/packs/domains/domainCard_Rift_Walker_vd5STqX29RpYbGxa.json index 163cd293..c112e373 100644 --- a/src/packs/domains/domainCard_Rift_Walker_vd5STqX29RpYbGxa.json +++ b/src/packs/domains/domainCard_Rift_Walker_vd5STqX29RpYbGxa.json @@ -25,7 +25,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json b/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json index 5d46562d..38c900b2 100644 --- a/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json +++ b/src/packs/domains/domainCard_Rise_Up_oDIZoC4l19Nli0Fj.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -50,7 +50,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Rune_Ward_GEhBUmv9Bj7oJfHk.json b/src/packs/domains/domainCard_Rune_Ward_GEhBUmv9Bj7oJfHk.json index 01515230..54b0edbb 100644 --- a/src/packs/domains/domainCard_Rune_Ward_GEhBUmv9Bj7oJfHk.json +++ b/src/packs/domains/domainCard_Rune_Ward_GEhBUmv9Bj7oJfHk.json @@ -31,7 +31,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Salvation_Beam_4uAFGp3LxiC07woC.json b/src/packs/domains/domainCard_Salvation_Beam_4uAFGp3LxiC07woC.json index 3f81c8ac..c7aeb02f 100644 --- a/src/packs/domains/domainCard_Salvation_Beam_4uAFGp3LxiC07woC.json +++ b/src/packs/domains/domainCard_Salvation_Beam_4uAFGp3LxiC07woC.json @@ -33,8 +33,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -59,7 +59,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Second_Wind_ffPbSEvLuFrFsMxl.json b/src/packs/domains/domainCard_Second_Wind_ffPbSEvLuFrFsMxl.json index 764a3c87..8dc535cc 100644 --- a/src/packs/domains/domainCard_Second_Wind_ffPbSEvLuFrFsMxl.json +++ b/src/packs/domains/domainCard_Second_Wind_ffPbSEvLuFrFsMxl.json @@ -34,8 +34,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -60,7 +60,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -111,8 +111,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -137,7 +137,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Sensory_Projection_gZOMzskSOfeiXn54.json b/src/packs/domains/domainCard_Sensory_Projection_gZOMzskSOfeiXn54.json index c0aea3df..2701b0ce 100644 --- a/src/packs/domains/domainCard_Sensory_Projection_gZOMzskSOfeiXn54.json +++ b/src/packs/domains/domainCard_Sensory_Projection_gZOMzskSOfeiXn54.json @@ -25,7 +25,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Shadowbind_kguhWlidhxe2GbT0.json b/src/packs/domains/domainCard_Shadowbind_kguhWlidhxe2GbT0.json index 0fc6ce4b..39139dfa 100644 --- a/src/packs/domains/domainCard_Shadowbind_kguhWlidhxe2GbT0.json +++ b/src/packs/domains/domainCard_Shadowbind_kguhWlidhxe2GbT0.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json b/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json index 3e757308..7cabf19d 100644 --- a/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json +++ b/src/packs/domains/domainCard_Shrug_It_Off_JwfhtgmmuRxg4zhI.json @@ -32,7 +32,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Soothing_Speech_QED2PDYePOSTbLtC.json b/src/packs/domains/domainCard_Soothing_Speech_QED2PDYePOSTbLtC.json index b7ef626d..daecba3b 100644 --- a/src/packs/domains/domainCard_Soothing_Speech_QED2PDYePOSTbLtC.json +++ b/src/packs/domains/domainCard_Soothing_Speech_QED2PDYePOSTbLtC.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -50,7 +50,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -91,8 +91,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -117,7 +117,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Splintering_Strike_TYKfM3H9vBXyWiH4.json b/src/packs/domains/domainCard_Splintering_Strike_TYKfM3H9vBXyWiH4.json index a63fd477..e36c744c 100644 --- a/src/packs/domains/domainCard_Splintering_Strike_TYKfM3H9vBXyWiH4.json +++ b/src/packs/domains/domainCard_Splintering_Strike_TYKfM3H9vBXyWiH4.json @@ -33,7 +33,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Stunning_Sunlight_lRHo6ZkK1zybeEoG.json b/src/packs/domains/domainCard_Stunning_Sunlight_lRHo6ZkK1zybeEoG.json index 2f66c1f0..f9b86bd0 100644 --- a/src/packs/domains/domainCard_Stunning_Sunlight_lRHo6ZkK1zybeEoG.json +++ b/src/packs/domains/domainCard_Stunning_Sunlight_lRHo6ZkK1zybeEoG.json @@ -33,8 +33,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -60,7 +60,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -112,8 +112,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -139,7 +139,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Swift_Step_H6TqCJBaa1eWEQ1z.json b/src/packs/domains/domainCard_Swift_Step_H6TqCJBaa1eWEQ1z.json index 76e9e6e9..bd153045 100644 --- a/src/packs/domains/domainCard_Swift_Step_H6TqCJBaa1eWEQ1z.json +++ b/src/packs/domains/domainCard_Swift_Step_H6TqCJBaa1eWEQ1z.json @@ -25,8 +25,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -51,7 +51,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -93,8 +93,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -119,7 +119,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Telekinesis_FgzBppvLjXr0UbUI.json b/src/packs/domains/domainCard_Telekinesis_FgzBppvLjXr0UbUI.json index 0436b1aa..f80954e7 100644 --- a/src/packs/domains/domainCard_Telekinesis_FgzBppvLjXr0UbUI.json +++ b/src/packs/domains/domainCard_Telekinesis_FgzBppvLjXr0UbUI.json @@ -25,7 +25,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -72,8 +72,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -99,7 +99,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Teleport_HnPwVrWblYa9hwSt.json b/src/packs/domains/domainCard_Teleport_HnPwVrWblYa9hwSt.json index ff262d6f..b4563eac 100644 --- a/src/packs/domains/domainCard_Teleport_HnPwVrWblYa9hwSt.json +++ b/src/packs/domains/domainCard_Teleport_HnPwVrWblYa9hwSt.json @@ -24,7 +24,7 @@ "recovery": "longRest" }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Tell_No_Lies_HTv9QEPS466WsstP.json b/src/packs/domains/domainCard_Tell_No_Lies_HTv9QEPS466WsstP.json index 1efb1374..f1056dfc 100644 --- a/src/packs/domains/domainCard_Tell_No_Lies_HTv9QEPS466WsstP.json +++ b/src/packs/domains/domainCard_Tell_No_Lies_HTv9QEPS466WsstP.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -50,7 +50,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Tempest_X7YaZgFieBlqaPdZ.json b/src/packs/domains/domainCard_Tempest_X7YaZgFieBlqaPdZ.json index 3599017c..7d587b02 100644 --- a/src/packs/domains/domainCard_Tempest_X7YaZgFieBlqaPdZ.json +++ b/src/packs/domains/domainCard_Tempest_X7YaZgFieBlqaPdZ.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -51,7 +51,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -102,8 +102,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -129,7 +129,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -180,8 +180,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -207,7 +207,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Thought_Delver_B4choj481tqajWb9.json b/src/packs/domains/domainCard_Thought_Delver_B4choj481tqajWb9.json index 7c8d6235..0dbc078d 100644 --- a/src/packs/domains/domainCard_Thought_Delver_B4choj481tqajWb9.json +++ b/src/packs/domains/domainCard_Thought_Delver_B4choj481tqajWb9.json @@ -58,7 +58,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Towering_Stalk_n0P3VS1WfxvmXbB6.json b/src/packs/domains/domainCard_Towering_Stalk_n0P3VS1WfxvmXbB6.json index 4696c144..d7d984d1 100644 --- a/src/packs/domains/domainCard_Towering_Stalk_n0P3VS1WfxvmXbB6.json +++ b/src/packs/domains/domainCard_Towering_Stalk_n0P3VS1WfxvmXbB6.json @@ -41,8 +41,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -68,7 +68,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Troublemaker_JrdZedm1BFKeV7Yb.json b/src/packs/domains/domainCard_Troublemaker_JrdZedm1BFKeV7Yb.json index 161c499f..9d740283 100644 --- a/src/packs/domains/domainCard_Troublemaker_JrdZedm1BFKeV7Yb.json +++ b/src/packs/domains/domainCard_Troublemaker_JrdZedm1BFKeV7Yb.json @@ -25,8 +25,8 @@ "consumeOnSuccess": true }, "damage": { - "parts": { - "stress": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -51,7 +51,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Twilight_Toll_SDjjV61TC1NceV1m.json b/src/packs/domains/domainCard_Twilight_Toll_SDjjV61TC1NceV1m.json index cc7f45c7..a6a987dd 100644 --- a/src/packs/domains/domainCard_Twilight_Toll_SDjjV61TC1NceV1m.json +++ b/src/packs/domains/domainCard_Twilight_Toll_SDjjV61TC1NceV1m.json @@ -40,8 +40,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -65,7 +65,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Unbreakable_CUIQmrPjf9VCHmwJ.json b/src/packs/domains/domainCard_Unbreakable_CUIQmrPjf9VCHmwJ.json index b822b632..e4847ee4 100644 --- a/src/packs/domains/domainCard_Unbreakable_CUIQmrPjf9VCHmwJ.json +++ b/src/packs/domains/domainCard_Unbreakable_CUIQmrPjf9VCHmwJ.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json b/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json index 62953005..46d9c472 100644 --- a/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json +++ b/src/packs/domains/domainCard_Uncanny_Disguise_TV56wSysbU5xAlOa.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Unleash_Chaos_o62i0QdbUDIiAhSq.json b/src/packs/domains/domainCard_Unleash_Chaos_o62i0QdbUDIiAhSq.json index 69049d01..62bd00a0 100644 --- a/src/packs/domains/domainCard_Unleash_Chaos_o62i0QdbUDIiAhSq.json +++ b/src/packs/domains/domainCard_Unleash_Chaos_o62i0QdbUDIiAhSq.json @@ -42,8 +42,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -69,7 +69,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Valor_Touched_k1AtYd3lSchIymBr.json b/src/packs/domains/domainCard_Valor_Touched_k1AtYd3lSchIymBr.json index 84ef1025..20fe18ea 100644 --- a/src/packs/domains/domainCard_Valor_Touched_k1AtYd3lSchIymBr.json +++ b/src/packs/domains/domainCard_Valor_Touched_k1AtYd3lSchIymBr.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "armor": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -50,7 +50,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Veil_of_Night_gV4L5ZZmfPrEbIDh.json b/src/packs/domains/domainCard_Veil_of_Night_gV4L5ZZmfPrEbIDh.json index abac35be..a6263afe 100644 --- a/src/packs/domains/domainCard_Veil_of_Night_gV4L5ZZmfPrEbIDh.json +++ b/src/packs/domains/domainCard_Veil_of_Night_gV4L5ZZmfPrEbIDh.json @@ -24,7 +24,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Vicious_Entangle_qvpvTnkAoRn9vYO4.json b/src/packs/domains/domainCard_Vicious_Entangle_qvpvTnkAoRn9vYO4.json index 3b7358bc..85935876 100644 --- a/src/packs/domains/domainCard_Vicious_Entangle_qvpvTnkAoRn9vYO4.json +++ b/src/packs/domains/domainCard_Vicious_Entangle_qvpvTnkAoRn9vYO4.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -51,7 +51,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Wild_Fortress_9dFvcM1i3bxG3BSA.json b/src/packs/domains/domainCard_Wild_Fortress_9dFvcM1i3bxG3BSA.json index d61f914b..655f0c2b 100644 --- a/src/packs/domains/domainCard_Wild_Fortress_9dFvcM1i3bxG3BSA.json +++ b/src/packs/domains/domainCard_Wild_Fortress_9dFvcM1i3bxG3BSA.json @@ -32,7 +32,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Words_of_Discord_ZjAdi1FSNCDDHI3X.json b/src/packs/domains/domainCard_Words_of_Discord_ZjAdi1FSNCDDHI3X.json index d743f5e1..fb3c6611 100644 --- a/src/packs/domains/domainCard_Words_of_Discord_ZjAdi1FSNCDDHI3X.json +++ b/src/packs/domains/domainCard_Words_of_Discord_ZjAdi1FSNCDDHI3X.json @@ -24,8 +24,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -50,7 +50,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Wrangle_9DwSxHoUwl8Kxj3n.json b/src/packs/domains/domainCard_Wrangle_9DwSxHoUwl8Kxj3n.json index 22042f7d..16753e1e 100644 --- a/src/packs/domains/domainCard_Wrangle_9DwSxHoUwl8Kxj3n.json +++ b/src/packs/domains/domainCard_Wrangle_9DwSxHoUwl8Kxj3n.json @@ -25,7 +25,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/domains/domainCard_Zone_of_Protection_lOZaRb4fCVgQsWB5.json b/src/packs/domains/domainCard_Zone_of_Protection_lOZaRb4fCVgQsWB5.json index 19bff136..5669173d 100644 --- a/src/packs/domains/domainCard_Zone_of_Protection_lOZaRb4fCVgQsWB5.json +++ b/src/packs/domains/domainCard_Zone_of_Protection_lOZaRb4fCVgQsWB5.json @@ -25,7 +25,7 @@ "consumeOnSuccess": true }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json b/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json index 75fc932f..0fa0a09e 100644 --- a/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json +++ b/src/packs/environments/environment_Abandoned_Grove_pGEdzdLkqYtBhxnG.json @@ -183,8 +183,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -210,7 +210,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Ambushed_uGEdNYERCTJBEjc5.json b/src/packs/environments/environment_Ambushed_uGEdNYERCTJBEjc5.json index ea1a158c..b0ccd435 100644 --- a/src/packs/environments/environment_Ambushed_uGEdNYERCTJBEjc5.json +++ b/src/packs/environments/environment_Ambushed_uGEdNYERCTJBEjc5.json @@ -166,8 +166,8 @@ "recovery": null }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -192,7 +192,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Burning_Heart_of_the_Woods_oY69NN4rYxoRE4hl.json b/src/packs/environments/environment_Burning_Heart_of_the_Woods_oY69NN4rYxoRE4hl.json index c380a4e2..a48d9b83 100644 --- a/src/packs/environments/environment_Burning_Heart_of_the_Woods_oY69NN4rYxoRE4hl.json +++ b/src/packs/environments/environment_Burning_Heart_of_the_Woods_oY69NN4rYxoRE4hl.json @@ -213,7 +213,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -342,8 +342,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -369,7 +369,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -442,8 +442,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -469,7 +469,7 @@ } } } - }, + ], "includeBase": false, "direct": true }, diff --git a/src/packs/environments/environment_Bustling_Marketplace_HZKA7hkej7JJY503.json b/src/packs/environments/environment_Bustling_Marketplace_HZKA7hkej7JJY503.json index e10fad1a..af0b3a70 100644 --- a/src/packs/environments/environment_Bustling_Marketplace_HZKA7hkej7JJY503.json +++ b/src/packs/environments/environment_Bustling_Marketplace_HZKA7hkej7JJY503.json @@ -205,7 +205,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json b/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json index fdfc9a5d..411a10c7 100644 --- a/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json +++ b/src/packs/environments/environment_Castle_Siege_1eZ32Esq7rfZOjlu.json @@ -185,8 +185,8 @@ "recovery": null }, "damage": { - "parts": { - "fear": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -211,7 +211,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -342,8 +342,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -369,7 +369,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Chaos_Realm_2Z1mKc65LxNk2PqR.json b/src/packs/environments/environment_Chaos_Realm_2Z1mKc65LxNk2PqR.json index e7c2c4e0..361b15bc 100644 --- a/src/packs/environments/environment_Chaos_Realm_2Z1mKc65LxNk2PqR.json +++ b/src/packs/environments/environment_Chaos_Realm_2Z1mKc65LxNk2PqR.json @@ -150,8 +150,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -176,7 +176,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -265,7 +265,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -381,8 +381,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -408,7 +408,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -552,8 +552,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -578,7 +578,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json b/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json index ef367d67..548cf7c4 100644 --- a/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json +++ b/src/packs/environments/environment_Cliffside_Ascent_LPpfdlNKqiZIl04w.json @@ -214,8 +214,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -240,7 +240,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -292,8 +292,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -317,7 +317,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -343,8 +343,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -368,7 +368,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -394,8 +394,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -419,7 +419,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json b/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json index 637cdd41..d8e9cded 100644 --- a/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json +++ b/src/packs/environments/environment_Divine_Usurpation_4DLYez7VbMCFDAuZ.json @@ -323,8 +323,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -349,7 +349,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -600,8 +600,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -625,7 +625,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json b/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json index c510a87f..f005fa59 100644 --- a/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json +++ b/src/packs/environments/environment_Hallowed_Temple_dsA6j69AnaJhUyqH.json @@ -150,8 +150,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -176,7 +176,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -268,8 +268,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -294,7 +294,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Imperial_Court_jr1xAoXzVwVblzxI.json b/src/packs/environments/environment_Imperial_Court_jr1xAoXzVwVblzxI.json index 5807d43c..4b49c341 100644 --- a/src/packs/environments/environment_Imperial_Court_jr1xAoXzVwVblzxI.json +++ b/src/packs/environments/environment_Imperial_Court_jr1xAoXzVwVblzxI.json @@ -209,8 +209,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -234,7 +234,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -307,7 +307,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { @@ -387,7 +387,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Local_Tavern_cM4X81DOyvxNIi52.json b/src/packs/environments/environment_Local_Tavern_cM4X81DOyvxNIi52.json index da2d2830..105f230f 100644 --- a/src/packs/environments/environment_Local_Tavern_cM4X81DOyvxNIi52.json +++ b/src/packs/environments/environment_Local_Tavern_cM4X81DOyvxNIi52.json @@ -266,8 +266,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -291,7 +291,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Mountain_Pass_acMu9wJrMZZzLSTJ.json b/src/packs/environments/environment_Mountain_Pass_acMu9wJrMZZzLSTJ.json index eaad99f7..9ba6a918 100644 --- a/src/packs/environments/environment_Mountain_Pass_acMu9wJrMZZzLSTJ.json +++ b/src/packs/environments/environment_Mountain_Pass_acMu9wJrMZZzLSTJ.json @@ -183,8 +183,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -208,7 +208,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -315,8 +315,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -341,7 +341,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Necromancer_s_Ossuary_h3KyRL7AshhLAmcH.json b/src/packs/environments/environment_Necromancer_s_Ossuary_h3KyRL7AshhLAmcH.json index 949e3dc1..e96b9177 100644 --- a/src/packs/environments/environment_Necromancer_s_Ossuary_h3KyRL7AshhLAmcH.json +++ b/src/packs/environments/environment_Necromancer_s_Ossuary_h3KyRL7AshhLAmcH.json @@ -149,8 +149,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -175,7 +175,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -252,8 +252,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -277,7 +277,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -350,7 +350,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Pitched_Battle_EWD3ZsLoK6VMVOf7.json b/src/packs/environments/environment_Pitched_Battle_EWD3ZsLoK6VMVOf7.json index 14c724e3..7be27924 100644 --- a/src/packs/environments/environment_Pitched_Battle_EWD3ZsLoK6VMVOf7.json +++ b/src/packs/environments/environment_Pitched_Battle_EWD3ZsLoK6VMVOf7.json @@ -218,8 +218,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -245,7 +245,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/environments/environment_Raging_River_t4cdqTfzcqP3H1vJ.json b/src/packs/environments/environment_Raging_River_t4cdqTfzcqP3H1vJ.json index 6c87c446..03dd72e3 100644 --- a/src/packs/environments/environment_Raging_River_t4cdqTfzcqP3H1vJ.json +++ b/src/packs/environments/environment_Raging_River_t4cdqTfzcqP3H1vJ.json @@ -230,8 +230,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -257,7 +257,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/armors/armor_Dunamis_Silkchain_hAY6UgdGT7dj22Pr.json b/src/packs/items/armors/armor_Dunamis_Silkchain_hAY6UgdGT7dj22Pr.json index 588d9cf9..df692143 100644 --- a/src/packs/items/armors/armor_Dunamis_Silkchain_hAY6UgdGT7dj22Pr.json +++ b/src/packs/items/armors/armor_Dunamis_Silkchain_hAY6UgdGT7dj22Pr.json @@ -48,7 +48,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/items/armors/armor_Emberwoven_Armor_bcQUh4QG3qFX0Vx6.json b/src/packs/items/armors/armor_Emberwoven_Armor_bcQUh4QG3qFX0Vx6.json index 15b07474..8ccc27e3 100644 --- a/src/packs/items/armors/armor_Emberwoven_Armor_bcQUh4QG3qFX0Vx6.json +++ b/src/packs/items/armors/armor_Emberwoven_Armor_bcQUh4QG3qFX0Vx6.json @@ -20,8 +20,8 @@ "amount": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "applyTo": "stress", "value": { "custom": { @@ -46,7 +46,7 @@ "base": false, "type": [] } - }, + ], "includeBase": false }, "_id": "L8mHf4A8SylyxsMH", diff --git a/src/packs/items/armors/armor_Harrowbone_Armor_dvyQeUVRLc9y6rnt.json b/src/packs/items/armors/armor_Harrowbone_Armor_dvyQeUVRLc9y6rnt.json index 82b4f791..61d1fed7 100644 --- a/src/packs/items/armors/armor_Harrowbone_Armor_dvyQeUVRLc9y6rnt.json +++ b/src/packs/items/armors/armor_Harrowbone_Armor_dvyQeUVRLc9y6rnt.json @@ -39,7 +39,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Dragonbloom_Tea_wM18PWWW2Ami4fBG.json b/src/packs/items/consumables/consumable_Dragonbloom_Tea_wM18PWWW2Ami4fBG.json index 2a4c6ac9..f484f3c9 100644 --- a/src/packs/items/consumables/consumable_Dragonbloom_Tea_wM18PWWW2Ami4fBG.json +++ b/src/packs/items/consumables/consumable_Dragonbloom_Tea_wM18PWWW2Ami4fBG.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -55,7 +55,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Dripfang_Poison_eU8VpbWB2NHIL47n.json b/src/packs/items/consumables/consumable_Dripfang_Poison_eU8VpbWB2NHIL47n.json index c37b8bb4..70070ab2 100644 --- a/src/packs/items/consumables/consumable_Dripfang_Poison_eU8VpbWB2NHIL47n.json +++ b/src/packs/items/consumables/consumable_Dripfang_Poison_eU8VpbWB2NHIL47n.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -57,7 +57,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Feast_of_Xuria_aX6NyxkNzu0LcJpt.json b/src/packs/items/consumables/consumable_Feast_of_Xuria_aX6NyxkNzu0LcJpt.json index b23f091b..f98d86f1 100644 --- a/src/packs/items/consumables/consumable_Feast_of_Xuria_aX6NyxkNzu0LcJpt.json +++ b/src/packs/items/consumables/consumable_Feast_of_Xuria_aX6NyxkNzu0LcJpt.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -56,7 +56,7 @@ }, "type": [] }, - "stress": { + { "value": { "custom": { "enabled": true, @@ -81,7 +81,7 @@ }, "type": [] }, - "hope": { + { "value": { "custom": { "enabled": false @@ -105,7 +105,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Health_Potion_Aruc2NLutWuVIjP1.json b/src/packs/items/consumables/consumable_Health_Potion_Aruc2NLutWuVIjP1.json index bc82daa2..8c620942 100644 --- a/src/packs/items/consumables/consumable_Health_Potion_Aruc2NLutWuVIjP1.json +++ b/src/packs/items/consumables/consumable_Health_Potion_Aruc2NLutWuVIjP1.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -55,7 +55,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Improved_Arcane_Shard_nQTo6mNoPTEVBtkm.json b/src/packs/items/consumables/consumable_Improved_Arcane_Shard_nQTo6mNoPTEVBtkm.json index b39db9b5..2081f33b 100644 --- a/src/packs/items/consumables/consumable_Improved_Arcane_Shard_nQTo6mNoPTEVBtkm.json +++ b/src/packs/items/consumables/consumable_Improved_Arcane_Shard_nQTo6mNoPTEVBtkm.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -57,7 +57,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Jar_of_Lost_Voices_yUol6M5b8jsbk9za.json b/src/packs/items/consumables/consumable_Jar_of_Lost_Voices_yUol6M5b8jsbk9za.json index 3e716230..c655f7ca 100644 --- a/src/packs/items/consumables/consumable_Jar_of_Lost_Voices_yUol6M5b8jsbk9za.json +++ b/src/packs/items/consumables/consumable_Jar_of_Lost_Voices_yUol6M5b8jsbk9za.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -57,7 +57,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Major_Arcane_Shard_AA7bmiwv00lshPrC.json b/src/packs/items/consumables/consumable_Major_Arcane_Shard_AA7bmiwv00lshPrC.json index 25cb8fb3..b9293362 100644 --- a/src/packs/items/consumables/consumable_Major_Arcane_Shard_AA7bmiwv00lshPrC.json +++ b/src/packs/items/consumables/consumable_Major_Arcane_Shard_AA7bmiwv00lshPrC.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -55,7 +55,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Major_Health_Potion_cM7pHe8bBAxSZ2xR.json b/src/packs/items/consumables/consumable_Major_Health_Potion_cM7pHe8bBAxSZ2xR.json index 843249de..201233ce 100644 --- a/src/packs/items/consumables/consumable_Major_Health_Potion_cM7pHe8bBAxSZ2xR.json +++ b/src/packs/items/consumables/consumable_Major_Health_Potion_cM7pHe8bBAxSZ2xR.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -55,7 +55,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Major_Stamina_Potion_I4cQ03xbxnc81EGa.json b/src/packs/items/consumables/consumable_Major_Stamina_Potion_I4cQ03xbxnc81EGa.json index ebe07a1f..3f7d2a00 100644 --- a/src/packs/items/consumables/consumable_Major_Stamina_Potion_I4cQ03xbxnc81EGa.json +++ b/src/packs/items/consumables/consumable_Major_Stamina_Potion_I4cQ03xbxnc81EGa.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -55,7 +55,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Minor_Health_Potion_tPfKtKRRjv8qdSqy.json b/src/packs/items/consumables/consumable_Minor_Health_Potion_tPfKtKRRjv8qdSqy.json index bac0f425..1e1e31f1 100644 --- a/src/packs/items/consumables/consumable_Minor_Health_Potion_tPfKtKRRjv8qdSqy.json +++ b/src/packs/items/consumables/consumable_Minor_Health_Potion_tPfKtKRRjv8qdSqy.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -55,7 +55,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Minor_Stamina_Potion_b6vGSPFWOlzZZDLO.json b/src/packs/items/consumables/consumable_Minor_Stamina_Potion_b6vGSPFWOlzZZDLO.json index 79a29e8b..9895b3ef 100644 --- a/src/packs/items/consumables/consumable_Minor_Stamina_Potion_b6vGSPFWOlzZZDLO.json +++ b/src/packs/items/consumables/consumable_Minor_Stamina_Potion_b6vGSPFWOlzZZDLO.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -55,7 +55,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Sleeping_Sap_XZavUVlHEvE2srEt.json b/src/packs/items/consumables/consumable_Sleeping_Sap_XZavUVlHEvE2srEt.json index 942f449e..74fbf749 100644 --- a/src/packs/items/consumables/consumable_Sleeping_Sap_XZavUVlHEvE2srEt.json +++ b/src/packs/items/consumables/consumable_Sleeping_Sap_XZavUVlHEvE2srEt.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -56,7 +56,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Snap_Powder_cg6VtQ0eVZjDdcK0.json b/src/packs/items/consumables/consumable_Snap_Powder_cg6VtQ0eVZjDdcK0.json index 1ae34797..adcf8a31 100644 --- a/src/packs/items/consumables/consumable_Snap_Powder_cg6VtQ0eVZjDdcK0.json +++ b/src/packs/items/consumables/consumable_Snap_Powder_cg6VtQ0eVZjDdcK0.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -56,7 +56,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Stamina_Potion_hf3k1POoVSooJyN2.json b/src/packs/items/consumables/consumable_Stamina_Potion_hf3k1POoVSooJyN2.json index 3affdb8e..9cb4716e 100644 --- a/src/packs/items/consumables/consumable_Stamina_Potion_hf3k1POoVSooJyN2.json +++ b/src/packs/items/consumables/consumable_Stamina_Potion_hf3k1POoVSooJyN2.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -55,7 +55,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Stardrop_y4c1jrlHrf0wBWOq.json b/src/packs/items/consumables/consumable_Stardrop_y4c1jrlHrf0wBWOq.json index be977305..1a8800cd 100644 --- a/src/packs/items/consumables/consumable_Stardrop_y4c1jrlHrf0wBWOq.json +++ b/src/packs/items/consumables/consumable_Stardrop_y4c1jrlHrf0wBWOq.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -57,7 +57,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Sun_Tree_Sap_kwexUzdM9wm1Qums.json b/src/packs/items/consumables/consumable_Sun_Tree_Sap_kwexUzdM9wm1Qums.json index 2669a49b..48a61a28 100644 --- a/src/packs/items/consumables/consumable_Sun_Tree_Sap_kwexUzdM9wm1Qums.json +++ b/src/packs/items/consumables/consumable_Sun_Tree_Sap_kwexUzdM9wm1Qums.json @@ -30,7 +30,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Sweet_Moss_GrDrRqWgv7gvl9vn.json b/src/packs/items/consumables/consumable_Sweet_Moss_GrDrRqWgv7gvl9vn.json index c17d6514..f8b6fbb7 100644 --- a/src/packs/items/consumables/consumable_Sweet_Moss_GrDrRqWgv7gvl9vn.json +++ b/src/packs/items/consumables/consumable_Sweet_Moss_GrDrRqWgv7gvl9vn.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -55,7 +55,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -105,8 +105,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -130,7 +130,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Unstable_Arcane_Shard_mUepnLbkvFk0ha4Z.json b/src/packs/items/consumables/consumable_Unstable_Arcane_Shard_mUepnLbkvFk0ha4Z.json index a5890ab0..96b83780 100644 --- a/src/packs/items/consumables/consumable_Unstable_Arcane_Shard_mUepnLbkvFk0ha4Z.json +++ b/src/packs/items/consumables/consumable_Unstable_Arcane_Shard_mUepnLbkvFk0ha4Z.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -57,7 +57,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/consumables/consumable_Varik_Leaves_hvy5BkG3F6iOIXTx.json b/src/packs/items/consumables/consumable_Varik_Leaves_hvy5BkG3F6iOIXTx.json index 27e83aa4..79f4d11e 100644 --- a/src/packs/items/consumables/consumable_Varik_Leaves_hvy5BkG3F6iOIXTx.json +++ b/src/packs/items/consumables/consumable_Varik_Leaves_hvy5BkG3F6iOIXTx.json @@ -30,8 +30,8 @@ "recovery": null }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -56,7 +56,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/items/loot/loot_Bag_of_Ficklesand_v758j4FwNVAurhYK.json b/src/packs/items/loot/loot_Bag_of_Ficklesand_v758j4FwNVAurhYK.json index 2cb80d86..c083e7ca 100644 --- a/src/packs/items/loot/loot_Bag_of_Ficklesand_v758j4FwNVAurhYK.json +++ b/src/packs/items/loot/loot_Bag_of_Ficklesand_v758j4FwNVAurhYK.json @@ -21,7 +21,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/items/loot/loot_Box_of_Many_Goods_bZyT7Qw7iafswlTY.json b/src/packs/items/loot/loot_Box_of_Many_Goods_bZyT7Qw7iafswlTY.json index cb603dc7..1090323f 100644 --- a/src/packs/items/loot/loot_Box_of_Many_Goods_bZyT7Qw7iafswlTY.json +++ b/src/packs/items/loot/loot_Box_of_Many_Goods_bZyT7Qw7iafswlTY.json @@ -21,7 +21,7 @@ "recovery": "longRest" }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/items/loot/loot_Calming_Pendant_tgFFMxpuRSiRrrEB.json b/src/packs/items/loot/loot_Calming_Pendant_tgFFMxpuRSiRrrEB.json index ea5b50eb..3d5b9651 100644 --- a/src/packs/items/loot/loot_Calming_Pendant_tgFFMxpuRSiRrrEB.json +++ b/src/packs/items/loot/loot_Calming_Pendant_tgFFMxpuRSiRrrEB.json @@ -21,7 +21,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/items/loot/loot_Skeleton_Key_edkNgwy4xghZreBa.json b/src/packs/items/loot/loot_Skeleton_Key_edkNgwy4xghZreBa.json index b5769661..72a8d3e0 100644 --- a/src/packs/items/loot/loot_Skeleton_Key_edkNgwy4xghZreBa.json +++ b/src/packs/items/loot/loot_Skeleton_Key_edkNgwy4xghZreBa.json @@ -21,7 +21,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/items/loot/loot_Woven_Net_ARuv48PWUGJGBC4n.json b/src/packs/items/loot/loot_Woven_Net_ARuv48PWUGJGBC4n.json index 2732b61f..99d52ea9 100644 --- a/src/packs/items/loot/loot_Woven_Net_ARuv48PWUGJGBC4n.json +++ b/src/packs/items/loot/loot_Woven_Net_ARuv48PWUGJGBC4n.json @@ -21,7 +21,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json b/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json index 7b51d436..93e6404c 100644 --- a/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json +++ b/src/packs/items/weapons/weapon_Aantari_Bow_ijodu5yNBoMxpkHV.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 11, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json b/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json index a727bcd5..36f1be3a 100644 --- a/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json +++ b/src/packs/items/weapons/weapon_Advanced_Arcane_Frame_Wheelchair_la3sAWgnvadc4NvP.json @@ -48,8 +48,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -75,7 +75,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Arcane_Gauntlets_hXR56fTKwZ6s1obs.json b/src/packs/items/weapons/weapon_Advanced_Arcane_Gauntlets_hXR56fTKwZ6s1obs.json index 67400768..183ac117 100644 --- a/src/packs/items/weapons/weapon_Advanced_Arcane_Gauntlets_hXR56fTKwZ6s1obs.json +++ b/src/packs/items/weapons/weapon_Advanced_Arcane_Gauntlets_hXR56fTKwZ6s1obs.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 9, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Battleaxe_FcbvY1ydbNVMjKvk.json b/src/packs/items/weapons/weapon_Advanced_Battleaxe_FcbvY1ydbNVMjKvk.json index e780eeed..6d2879d7 100644 --- a/src/packs/items/weapons/weapon_Advanced_Battleaxe_FcbvY1ydbNVMjKvk.json +++ b/src/packs/items/weapons/weapon_Advanced_Battleaxe_FcbvY1ydbNVMjKvk.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 9, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json b/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json index 4581c52f..9e4a67b0 100644 --- a/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json +++ b/src/packs/items/weapons/weapon_Advanced_Broadsword_WtQAGz0TUgz8Xg70.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Crossbow_3HGs0AgVrdIBTaKG.json b/src/packs/items/weapons/weapon_Advanced_Crossbow_3HGs0AgVrdIBTaKG.json index 437423f5..44e47499 100644 --- a/src/packs/items/weapons/weapon_Advanced_Crossbow_3HGs0AgVrdIBTaKG.json +++ b/src/packs/items/weapons/weapon_Advanced_Crossbow_3HGs0AgVrdIBTaKG.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 7, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Cutlass_bw9WO9lxkM9bWZxQ.json b/src/packs/items/weapons/weapon_Advanced_Cutlass_bw9WO9lxkM9bWZxQ.json index 45d9a597..a20acb5b 100644 --- a/src/packs/items/weapons/weapon_Advanced_Cutlass_bw9WO9lxkM9bWZxQ.json +++ b/src/packs/items/weapons/weapon_Advanced_Cutlass_bw9WO9lxkM9bWZxQ.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 7, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Dagger_mrioysDjNQEIE8hN.json b/src/packs/items/weapons/weapon_Advanced_Dagger_mrioysDjNQEIE8hN.json index 03f27c99..a7004807 100644 --- a/src/packs/items/weapons/weapon_Advanced_Dagger_mrioysDjNQEIE8hN.json +++ b/src/packs/items/weapons/weapon_Advanced_Dagger_mrioysDjNQEIE8hN.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 7, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Dualstaff_X5x3sC7v2f3L9sjL.json b/src/packs/items/weapons/weapon_Advanced_Dualstaff_X5x3sC7v2f3L9sjL.json index 033b873c..3baed3d4 100644 --- a/src/packs/items/weapons/weapon_Advanced_Dualstaff_X5x3sC7v2f3L9sjL.json +++ b/src/packs/items/weapons/weapon_Advanced_Dualstaff_X5x3sC7v2f3L9sjL.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 9, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Glowing_Rings_InQoh8mZPnwarQkX.json b/src/packs/items/weapons/weapon_Advanced_Glowing_Rings_InQoh8mZPnwarQkX.json index 2ea7b20d..2bdfed49 100644 --- a/src/packs/items/weapons/weapon_Advanced_Glowing_Rings_InQoh8mZPnwarQkX.json +++ b/src/packs/items/weapons/weapon_Advanced_Glowing_Rings_InQoh8mZPnwarQkX.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 8, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Grappler_7vvhVl4TDJHtjpFK.json b/src/packs/items/weapons/weapon_Advanced_Grappler_7vvhVl4TDJHtjpFK.json index 390a0b9a..01bef9b2 100644 --- a/src/packs/items/weapons/weapon_Advanced_Grappler_7vvhVl4TDJHtjpFK.json +++ b/src/packs/items/weapons/weapon_Advanced_Grappler_7vvhVl4TDJHtjpFK.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Greatstaff_4UzxqfkwF8gDSdu7.json b/src/packs/items/weapons/weapon_Advanced_Greatstaff_4UzxqfkwF8gDSdu7.json index 3cc7b986..c66354c2 100644 --- a/src/packs/items/weapons/weapon_Advanced_Greatstaff_4UzxqfkwF8gDSdu7.json +++ b/src/packs/items/weapons/weapon_Advanced_Greatstaff_4UzxqfkwF8gDSdu7.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Greatsword_MAC6YWTo4lzSotQc.json b/src/packs/items/weapons/weapon_Advanced_Greatsword_MAC6YWTo4lzSotQc.json index 9e04bf7a..71226630 100644 --- a/src/packs/items/weapons/weapon_Advanced_Greatsword_MAC6YWTo4lzSotQc.json +++ b/src/packs/items/weapons/weapon_Advanced_Greatsword_MAC6YWTo4lzSotQc.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 9, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Halberd_C8gQn7onAc9wsrCs.json b/src/packs/items/weapons/weapon_Advanced_Halberd_C8gQn7onAc9wsrCs.json index 6c11724c..59d7437d 100644 --- a/src/packs/items/weapons/weapon_Advanced_Halberd_C8gQn7onAc9wsrCs.json +++ b/src/packs/items/weapons/weapon_Advanced_Halberd_C8gQn7onAc9wsrCs.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 8, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Hallowed_Axe_BiyXKX2Mo1TQbKgk.json b/src/packs/items/weapons/weapon_Advanced_Hallowed_Axe_BiyXKX2Mo1TQbKgk.json index ce89ccc2..e6403810 100644 --- a/src/packs/items/weapons/weapon_Advanced_Hallowed_Axe_BiyXKX2Mo1TQbKgk.json +++ b/src/packs/items/weapons/weapon_Advanced_Hallowed_Axe_BiyXKX2Mo1TQbKgk.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 7, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Hand_Crossbow_Lsvocst8aGqkBj7g.json b/src/packs/items/weapons/weapon_Advanced_Hand_Crossbow_Lsvocst8aGqkBj7g.json index 88ba7077..521ee38d 100644 --- a/src/packs/items/weapons/weapon_Advanced_Hand_Crossbow_Lsvocst8aGqkBj7g.json +++ b/src/packs/items/weapons/weapon_Advanced_Hand_Crossbow_Lsvocst8aGqkBj7g.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 5, @@ -70,7 +70,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Hand_Runes_PQACczSghZIVTdgZ.json b/src/packs/items/weapons/weapon_Advanced_Hand_Runes_PQACczSghZIVTdgZ.json index 60ffb789..23f33ba1 100644 --- a/src/packs/items/weapons/weapon_Advanced_Hand_Runes_PQACczSghZIVTdgZ.json +++ b/src/packs/items/weapons/weapon_Advanced_Hand_Runes_PQACczSghZIVTdgZ.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 6, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Heavy_Frame_Wheelchair_eT2Qwb0RdrLX2hH1.json b/src/packs/items/weapons/weapon_Advanced_Heavy_Frame_Wheelchair_eT2Qwb0RdrLX2hH1.json index 7f5bb9c7..39afe3e6 100644 --- a/src/packs/items/weapons/weapon_Advanced_Heavy_Frame_Wheelchair_eT2Qwb0RdrLX2hH1.json +++ b/src/packs/items/weapons/weapon_Advanced_Heavy_Frame_Wheelchair_eT2Qwb0RdrLX2hH1.json @@ -48,8 +48,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 9, @@ -75,7 +75,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Light_Frame_Wheelchair_BuMfupnCzHbziQ8o.json b/src/packs/items/weapons/weapon_Advanced_Light_Frame_Wheelchair_BuMfupnCzHbziQ8o.json index fca77911..4600088d 100644 --- a/src/packs/items/weapons/weapon_Advanced_Light_Frame_Wheelchair_BuMfupnCzHbziQ8o.json +++ b/src/packs/items/weapons/weapon_Advanced_Light_Frame_Wheelchair_BuMfupnCzHbziQ8o.json @@ -77,8 +77,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -104,7 +104,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Longbow_M5CywMAyPKGgebsJ.json b/src/packs/items/weapons/weapon_Advanced_Longbow_M5CywMAyPKGgebsJ.json index 14327a8c..ad8a5bc9 100644 --- a/src/packs/items/weapons/weapon_Advanced_Longbow_M5CywMAyPKGgebsJ.json +++ b/src/packs/items/weapons/weapon_Advanced_Longbow_M5CywMAyPKGgebsJ.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 9, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Longsword_9xkB3MWXahrsVP4N.json b/src/packs/items/weapons/weapon_Advanced_Longsword_9xkB3MWXahrsVP4N.json index 0b51f2ae..2cf2c43c 100644 --- a/src/packs/items/weapons/weapon_Advanced_Longsword_9xkB3MWXahrsVP4N.json +++ b/src/packs/items/weapons/weapon_Advanced_Longsword_9xkB3MWXahrsVP4N.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 9, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Mace_WreMYiH5uhVDaoVw.json b/src/packs/items/weapons/weapon_Advanced_Mace_WreMYiH5uhVDaoVw.json index e255da65..db8cde18 100644 --- a/src/packs/items/weapons/weapon_Advanced_Mace_WreMYiH5uhVDaoVw.json +++ b/src/packs/items/weapons/weapon_Advanced_Mace_WreMYiH5uhVDaoVw.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 7, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Quarterstaff_zJtm2f9ZFKZRtCRg.json b/src/packs/items/weapons/weapon_Advanced_Quarterstaff_zJtm2f9ZFKZRtCRg.json index 00f0b694..d6beafb2 100644 --- a/src/packs/items/weapons/weapon_Advanced_Quarterstaff_zJtm2f9ZFKZRtCRg.json +++ b/src/packs/items/weapons/weapon_Advanced_Quarterstaff_zJtm2f9ZFKZRtCRg.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 9, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Rapier_KxFne76d7cak15dO.json b/src/packs/items/weapons/weapon_Advanced_Rapier_KxFne76d7cak15dO.json index 28c508b8..315d8401 100644 --- a/src/packs/items/weapons/weapon_Advanced_Rapier_KxFne76d7cak15dO.json +++ b/src/packs/items/weapons/weapon_Advanced_Rapier_KxFne76d7cak15dO.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Returning_Blade_sIGXA4KMeYBUjcEO.json b/src/packs/items/weapons/weapon_Advanced_Returning_Blade_sIGXA4KMeYBUjcEO.json index 0694a020..bbdce2d4 100644 --- a/src/packs/items/weapons/weapon_Advanced_Returning_Blade_sIGXA4KMeYBUjcEO.json +++ b/src/packs/items/weapons/weapon_Advanced_Returning_Blade_sIGXA4KMeYBUjcEO.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Round_Shield_hiEOGF2reabGLUoi.json b/src/packs/items/weapons/weapon_Advanced_Round_Shield_hiEOGF2reabGLUoi.json index da5d5bf8..c1c4fba5 100644 --- a/src/packs/items/weapons/weapon_Advanced_Round_Shield_hiEOGF2reabGLUoi.json +++ b/src/packs/items/weapons/weapon_Advanced_Round_Shield_hiEOGF2reabGLUoi.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d4", "bonus": 4, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Scepter_2Khzuj768yoWN9QK.json b/src/packs/items/weapons/weapon_Advanced_Scepter_2Khzuj768yoWN9QK.json index 6dff775a..cf619a89 100644 --- a/src/packs/items/weapons/weapon_Advanced_Scepter_2Khzuj768yoWN9QK.json +++ b/src/packs/items/weapons/weapon_Advanced_Scepter_2Khzuj768yoWN9QK.json @@ -11,8 +11,8 @@ "type": "attack", "damage": { "includeBase": false, - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -38,7 +38,7 @@ } } } - } + ] }, "range": "melee", "roll": { @@ -115,8 +115,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -142,7 +142,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Shortbow_JpSlJvDR0X8VFDns.json b/src/packs/items/weapons/weapon_Advanced_Shortbow_JpSlJvDR0X8VFDns.json index f5efc9a9..5693e814 100644 --- a/src/packs/items/weapons/weapon_Advanced_Shortbow_JpSlJvDR0X8VFDns.json +++ b/src/packs/items/weapons/weapon_Advanced_Shortbow_JpSlJvDR0X8VFDns.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 9, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Shortstaff_T5exRCqOXhrjSYnI.json b/src/packs/items/weapons/weapon_Advanced_Shortstaff_T5exRCqOXhrjSYnI.json index 0e3b3161..71d66d82 100644 --- a/src/packs/items/weapons/weapon_Advanced_Shortstaff_T5exRCqOXhrjSYnI.json +++ b/src/packs/items/weapons/weapon_Advanced_Shortstaff_T5exRCqOXhrjSYnI.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 7, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json b/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json index dd48db21..397fa061 100644 --- a/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json +++ b/src/packs/items/weapons/weapon_Advanced_Shortsword_p3nz5CaGUoyuGVg0.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 4, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json b/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json index a63789f3..7af59440 100644 --- a/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json +++ b/src/packs/items/weapons/weapon_Advanced_Small_Dagger_0thN0BpN05KT8Avx.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 4, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Spear_pK6dsNABKKp1CIGN.json b/src/packs/items/weapons/weapon_Advanced_Spear_pK6dsNABKKp1CIGN.json index 099761b4..e5f3f8ec 100644 --- a/src/packs/items/weapons/weapon_Advanced_Spear_pK6dsNABKKp1CIGN.json +++ b/src/packs/items/weapons/weapon_Advanced_Spear_pK6dsNABKKp1CIGN.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 9, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Tower_Shield_OfOzQbs4hg6QbfTG.json b/src/packs/items/weapons/weapon_Advanced_Tower_Shield_OfOzQbs4hg6QbfTG.json index 9fe47fc0..b2fb16d8 100644 --- a/src/packs/items/weapons/weapon_Advanced_Tower_Shield_OfOzQbs4hg6QbfTG.json +++ b/src/packs/items/weapons/weapon_Advanced_Tower_Shield_OfOzQbs4hg6QbfTG.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Wand_jU9jWIardjtdAQcs.json b/src/packs/items/weapons/weapon_Advanced_Wand_jU9jWIardjtdAQcs.json index 8043e360..4cb4e2b2 100644 --- a/src/packs/items/weapons/weapon_Advanced_Wand_jU9jWIardjtdAQcs.json +++ b/src/packs/items/weapons/weapon_Advanced_Wand_jU9jWIardjtdAQcs.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 7, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Warhammer_8Lipw3RRKDgBVP0p.json b/src/packs/items/weapons/weapon_Advanced_Warhammer_8Lipw3RRKDgBVP0p.json index bb142281..72983f6b 100644 --- a/src/packs/items/weapons/weapon_Advanced_Warhammer_8Lipw3RRKDgBVP0p.json +++ b/src/packs/items/weapons/weapon_Advanced_Warhammer_8Lipw3RRKDgBVP0p.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 9, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Advanced_Whip_01izMUSJcAUo79IX.json b/src/packs/items/weapons/weapon_Advanced_Whip_01izMUSJcAUo79IX.json index 142eb542..6e1753c8 100644 --- a/src/packs/items/weapons/weapon_Advanced_Whip_01izMUSJcAUo79IX.json +++ b/src/packs/items/weapons/weapon_Advanced_Whip_01izMUSJcAUo79IX.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json b/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json index 6959fb30..58ef5f4b 100644 --- a/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json +++ b/src/packs/items/weapons/weapon_Arcane_Frame_Wheelchair_XRChepscgr75Uug7.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": null, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Arcane_Gauntlets_PC5EyEIq7NWBV0n5.json b/src/packs/items/weapons/weapon_Arcane_Gauntlets_PC5EyEIq7NWBV0n5.json index 29afcc13..8d9e3c31 100644 --- a/src/packs/items/weapons/weapon_Arcane_Gauntlets_PC5EyEIq7NWBV0n5.json +++ b/src/packs/items/weapons/weapon_Arcane_Gauntlets_PC5EyEIq7NWBV0n5.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 3, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Axe_of_Fortunis_YcS1rHgfnSlla8Xf.json b/src/packs/items/weapons/weapon_Axe_of_Fortunis_YcS1rHgfnSlla8Xf.json index 8e4b00c5..6ce0ce68 100644 --- a/src/packs/items/weapons/weapon_Axe_of_Fortunis_YcS1rHgfnSlla8Xf.json +++ b/src/packs/items/weapons/weapon_Axe_of_Fortunis_YcS1rHgfnSlla8Xf.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 8, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Battleaxe_fbDYUja3ll9vCtrB.json b/src/packs/items/weapons/weapon_Battleaxe_fbDYUja3ll9vCtrB.json index 9ab3321e..9b43f8dc 100644 --- a/src/packs/items/weapons/weapon_Battleaxe_fbDYUja3ll9vCtrB.json +++ b/src/packs/items/weapons/weapon_Battleaxe_fbDYUja3ll9vCtrB.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 3, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Black_Powder_Revolver_AokqTusPzn0hghkE.json b/src/packs/items/weapons/weapon_Black_Powder_Revolver_AokqTusPzn0hghkE.json index 34371c2b..845fee44 100644 --- a/src/packs/items/weapons/weapon_Black_Powder_Revolver_AokqTusPzn0hghkE.json +++ b/src/packs/items/weapons/weapon_Black_Powder_Revolver_AokqTusPzn0hghkE.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 8, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Bladed_Whip_5faflfNz20cFW1EM.json b/src/packs/items/weapons/weapon_Bladed_Whip_5faflfNz20cFW1EM.json index 2b2a5b9c..5238578f 100644 --- a/src/packs/items/weapons/weapon_Bladed_Whip_5faflfNz20cFW1EM.json +++ b/src/packs/items/weapons/weapon_Bladed_Whip_5faflfNz20cFW1EM.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 3, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Blessed_Anlace_n1oPTk5czTIGTkVj.json b/src/packs/items/weapons/weapon_Blessed_Anlace_n1oPTk5czTIGTkVj.json index 14448edc..82140411 100644 --- a/src/packs/items/weapons/weapon_Blessed_Anlace_n1oPTk5czTIGTkVj.json +++ b/src/packs/items/weapons/weapon_Blessed_Anlace_n1oPTk5czTIGTkVj.json @@ -19,8 +19,8 @@ "amount": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "applyTo": "hitPoints", "value": { "custom": { @@ -45,7 +45,7 @@ "base": false, "type": [] } - }, + ], "includeBase": false }, "_id": "o18UvqLPWLe1A8XJ", @@ -117,8 +117,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 6, @@ -144,7 +144,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Bloodstaff_IoMVDz92WVvfGGdc.json b/src/packs/items/weapons/weapon_Bloodstaff_IoMVDz92WVvfGGdc.json index ab6bb15d..2450d69c 100644 --- a/src/packs/items/weapons/weapon_Bloodstaff_IoMVDz92WVvfGGdc.json +++ b/src/packs/items/weapons/weapon_Bloodstaff_IoMVDz92WVvfGGdc.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d20", "bonus": 7, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Blunderbuss_SLFrK0WmldPo0shz.json b/src/packs/items/weapons/weapon_Blunderbuss_SLFrK0WmldPo0shz.json index 9b2f455a..1fba6130 100644 --- a/src/packs/items/weapons/weapon_Blunderbuss_SLFrK0WmldPo0shz.json +++ b/src/packs/items/weapons/weapon_Blunderbuss_SLFrK0WmldPo0shz.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Braveshield_QEvgVoz9xKBSKsGi.json b/src/packs/items/weapons/weapon_Braveshield_QEvgVoz9xKBSKsGi.json index 2f5ec85d..aef812a6 100644 --- a/src/packs/items/weapons/weapon_Braveshield_QEvgVoz9xKBSKsGi.json +++ b/src/packs/items/weapons/weapon_Braveshield_QEvgVoz9xKBSKsGi.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d4", "bonus": 6, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Bravesword_QZrWAkprA2tL2MOI.json b/src/packs/items/weapons/weapon_Bravesword_QZrWAkprA2tL2MOI.json index 412a7083..7c3e65f5 100644 --- a/src/packs/items/weapons/weapon_Bravesword_QZrWAkprA2tL2MOI.json +++ b/src/packs/items/weapons/weapon_Bravesword_QZrWAkprA2tL2MOI.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 7, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json b/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json index 87c6f7e8..0e9a557e 100644 --- a/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json +++ b/src/packs/items/weapons/weapon_Broadsword_1cwWNt4sqlgA8gCT.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "type": [ "physical" ], @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Buckler_EmFTp9wzT6MHSaNz.json b/src/packs/items/weapons/weapon_Buckler_EmFTp9wzT6MHSaNz.json index be147888..4d815a6c 100644 --- a/src/packs/items/weapons/weapon_Buckler_EmFTp9wzT6MHSaNz.json +++ b/src/packs/items/weapons/weapon_Buckler_EmFTp9wzT6MHSaNz.json @@ -87,8 +87,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d4", "bonus": 4, @@ -114,7 +114,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Casting_Sword_2Fbf2cxLfbdGkU4I.json b/src/packs/items/weapons/weapon_Casting_Sword_2Fbf2cxLfbdGkU4I.json index c861e735..9af34d45 100644 --- a/src/packs/items/weapons/weapon_Casting_Sword_2Fbf2cxLfbdGkU4I.json +++ b/src/packs/items/weapons/weapon_Casting_Sword_2Fbf2cxLfbdGkU4I.json @@ -11,8 +11,8 @@ "type": "attack", "damage": { "includeBase": false, - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -36,7 +36,7 @@ } } } - } + ] }, "range": "far", "roll": { @@ -113,8 +113,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 4, @@ -140,7 +140,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Crossbow_cw7HG1Z7hp7OOLD0.json b/src/packs/items/weapons/weapon_Crossbow_cw7HG1Z7hp7OOLD0.json index 62ad7f3d..749ef4aa 100644 --- a/src/packs/items/weapons/weapon_Crossbow_cw7HG1Z7hp7OOLD0.json +++ b/src/packs/items/weapons/weapon_Crossbow_cw7HG1Z7hp7OOLD0.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 1, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Curved_Dagger_Fk69R40svV0kanZD.json b/src/packs/items/weapons/weapon_Curved_Dagger_Fk69R40svV0kanZD.json index 1af2c372..a98a56b1 100644 --- a/src/packs/items/weapons/weapon_Curved_Dagger_Fk69R40svV0kanZD.json +++ b/src/packs/items/weapons/weapon_Curved_Dagger_Fk69R40svV0kanZD.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 9, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Cutlass_CWrbnethuILXrEpA.json b/src/packs/items/weapons/weapon_Cutlass_CWrbnethuILXrEpA.json index 4750891f..7343b92c 100644 --- a/src/packs/items/weapons/weapon_Cutlass_CWrbnethuILXrEpA.json +++ b/src/packs/items/weapons/weapon_Cutlass_CWrbnethuILXrEpA.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 1, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Dagger_iStO0BbeMTTR0rQi.json b/src/packs/items/weapons/weapon_Dagger_iStO0BbeMTTR0rQi.json index 4818c79f..5ef12e05 100644 --- a/src/packs/items/weapons/weapon_Dagger_iStO0BbeMTTR0rQi.json +++ b/src/packs/items/weapons/weapon_Dagger_iStO0BbeMTTR0rQi.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 1, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Devouring_Dagger_C5wSGglR8e0euQnY.json b/src/packs/items/weapons/weapon_Devouring_Dagger_C5wSGglR8e0euQnY.json index 7775501d..e00d665c 100644 --- a/src/packs/items/weapons/weapon_Devouring_Dagger_C5wSGglR8e0euQnY.json +++ b/src/packs/items/weapons/weapon_Devouring_Dagger_C5wSGglR8e0euQnY.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 4, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Double_Flail_xm1yU7k58fMgXxRR.json b/src/packs/items/weapons/weapon_Double_Flail_xm1yU7k58fMgXxRR.json index e5b603c6..a118b399 100644 --- a/src/packs/items/weapons/weapon_Double_Flail_xm1yU7k58fMgXxRR.json +++ b/src/packs/items/weapons/weapon_Double_Flail_xm1yU7k58fMgXxRR.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 8, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Dual_Ended_Sword_nXjuBa215H1sTUK3.json b/src/packs/items/weapons/weapon_Dual_Ended_Sword_nXjuBa215H1sTUK3.json index df1c3e54..da15604c 100644 --- a/src/packs/items/weapons/weapon_Dual_Ended_Sword_nXjuBa215H1sTUK3.json +++ b/src/packs/items/weapons/weapon_Dual_Ended_Sword_nXjuBa215H1sTUK3.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 9, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Dualstaff_j8cdNeIUYxxzFVji.json b/src/packs/items/weapons/weapon_Dualstaff_j8cdNeIUYxxzFVji.json index a3b44d76..e7c458c3 100644 --- a/src/packs/items/weapons/weapon_Dualstaff_j8cdNeIUYxxzFVji.json +++ b/src/packs/items/weapons/weapon_Dualstaff_j8cdNeIUYxxzFVji.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 3, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Ego_Blade_G7rH31KQ5eEZXcv0.json b/src/packs/items/weapons/weapon_Ego_Blade_G7rH31KQ5eEZXcv0.json index 17e24aea..36d3b0ba 100644 --- a/src/packs/items/weapons/weapon_Ego_Blade_G7rH31KQ5eEZXcv0.json +++ b/src/packs/items/weapons/weapon_Ego_Blade_G7rH31KQ5eEZXcv0.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 4, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Elder_Bow_JdWcn9W1edhAEInL.json b/src/packs/items/weapons/weapon_Elder_Bow_JdWcn9W1edhAEInL.json index 73bb5a46..35659402 100644 --- a/src/packs/items/weapons/weapon_Elder_Bow_JdWcn9W1edhAEInL.json +++ b/src/packs/items/weapons/weapon_Elder_Bow_JdWcn9W1edhAEInL.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Extended_Polearm_fJHKMxZokVP34MCi.json b/src/packs/items/weapons/weapon_Extended_Polearm_fJHKMxZokVP34MCi.json index 35829bd5..62bcb3e0 100644 --- a/src/packs/items/weapons/weapon_Extended_Polearm_fJHKMxZokVP34MCi.json +++ b/src/packs/items/weapons/weapon_Extended_Polearm_fJHKMxZokVP34MCi.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 10, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Finehair_Bow_ykF3jouxHZ6YR8Bg.json b/src/packs/items/weapons/weapon_Finehair_Bow_ykF3jouxHZ6YR8Bg.json index d1bd58b5..6dc27659 100644 --- a/src/packs/items/weapons/weapon_Finehair_Bow_ykF3jouxHZ6YR8Bg.json +++ b/src/packs/items/weapons/weapon_Finehair_Bow_ykF3jouxHZ6YR8Bg.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 5, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Firestaff_BtCm2RhWEfs00g38.json b/src/packs/items/weapons/weapon_Firestaff_BtCm2RhWEfs00g38.json index ba7350f4..983f98d1 100644 --- a/src/packs/items/weapons/weapon_Firestaff_BtCm2RhWEfs00g38.json +++ b/src/packs/items/weapons/weapon_Firestaff_BtCm2RhWEfs00g38.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 7, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Flickerfly_Blade_xLJ5RRpUoTRmAC3G.json b/src/packs/items/weapons/weapon_Flickerfly_Blade_xLJ5RRpUoTRmAC3G.json index acf0cfd6..5dd5f04e 100644 --- a/src/packs/items/weapons/weapon_Flickerfly_Blade_xLJ5RRpUoTRmAC3G.json +++ b/src/packs/items/weapons/weapon_Flickerfly_Blade_xLJ5RRpUoTRmAC3G.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 5, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Floating_Bladeshards_3vti3xfo0wJND7ew.json b/src/packs/items/weapons/weapon_Floating_Bladeshards_3vti3xfo0wJND7ew.json index 0460e12d..232f26e9 100644 --- a/src/packs/items/weapons/weapon_Floating_Bladeshards_3vti3xfo0wJND7ew.json +++ b/src/packs/items/weapons/weapon_Floating_Bladeshards_3vti3xfo0wJND7ew.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 9, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Fusion_Gloves_uK1RhtYAsDeoPNGx.json b/src/packs/items/weapons/weapon_Fusion_Gloves_uK1RhtYAsDeoPNGx.json index 034ad5cf..747bc046 100644 --- a/src/packs/items/weapons/weapon_Fusion_Gloves_uK1RhtYAsDeoPNGx.json +++ b/src/packs/items/weapons/weapon_Fusion_Gloves_uK1RhtYAsDeoPNGx.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 9, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Ghostblade_6gFvOFTE97QZ74Zr.json b/src/packs/items/weapons/weapon_Ghostblade_6gFvOFTE97QZ74Zr.json index 0e17e0c2..7784b43d 100644 --- a/src/packs/items/weapons/weapon_Ghostblade_6gFvOFTE97QZ74Zr.json +++ b/src/packs/items/weapons/weapon_Ghostblade_6gFvOFTE97QZ74Zr.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 7, @@ -69,7 +69,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Gilded_Bow_ctTgFfMbM3YtmsYU.json b/src/packs/items/weapons/weapon_Gilded_Bow_ctTgFfMbM3YtmsYU.json index 0147cfdb..88f5a163 100644 --- a/src/packs/items/weapons/weapon_Gilded_Bow_ctTgFfMbM3YtmsYU.json +++ b/src/packs/items/weapons/weapon_Gilded_Bow_ctTgFfMbM3YtmsYU.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 7, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Gilded_Falchion_VwcOgqnzjf9LBj2S.json b/src/packs/items/weapons/weapon_Gilded_Falchion_VwcOgqnzjf9LBj2S.json index fdf5835e..ee8afebc 100644 --- a/src/packs/items/weapons/weapon_Gilded_Falchion_VwcOgqnzjf9LBj2S.json +++ b/src/packs/items/weapons/weapon_Gilded_Falchion_VwcOgqnzjf9LBj2S.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 4, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Glowing_Rings_wG9f5NpCwSbaLy8t.json b/src/packs/items/weapons/weapon_Glowing_Rings_wG9f5NpCwSbaLy8t.json index 8996dbc8..214d08a9 100644 --- a/src/packs/items/weapons/weapon_Glowing_Rings_wG9f5NpCwSbaLy8t.json +++ b/src/packs/items/weapons/weapon_Glowing_Rings_wG9f5NpCwSbaLy8t.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 1, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Grappler_iEzPscUc18GuFoB6.json b/src/packs/items/weapons/weapon_Grappler_iEzPscUc18GuFoB6.json index 9a9158c7..7f42998b 100644 --- a/src/packs/items/weapons/weapon_Grappler_iEzPscUc18GuFoB6.json +++ b/src/packs/items/weapons/weapon_Grappler_iEzPscUc18GuFoB6.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": null, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Greatbow_MXBpbqQsZFln4rZk.json b/src/packs/items/weapons/weapon_Greatbow_MXBpbqQsZFln4rZk.json index 87118bb8..f56e77c7 100644 --- a/src/packs/items/weapons/weapon_Greatbow_MXBpbqQsZFln4rZk.json +++ b/src/packs/items/weapons/weapon_Greatbow_MXBpbqQsZFln4rZk.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Greatstaff_Yk8pTEmyLLi4095S.json b/src/packs/items/weapons/weapon_Greatstaff_Yk8pTEmyLLi4095S.json index 798541d1..66c12e5e 100644 --- a/src/packs/items/weapons/weapon_Greatstaff_Yk8pTEmyLLi4095S.json +++ b/src/packs/items/weapons/weapon_Greatstaff_Yk8pTEmyLLi4095S.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": null, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Greatsword_70ysaFJDREwTgvZa.json b/src/packs/items/weapons/weapon_Greatsword_70ysaFJDREwTgvZa.json index f0e450a4..f60e438d 100644 --- a/src/packs/items/weapons/weapon_Greatsword_70ysaFJDREwTgvZa.json +++ b/src/packs/items/weapons/weapon_Greatsword_70ysaFJDREwTgvZa.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 3, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Halberd_qT7FfmauAumOjJoq.json b/src/packs/items/weapons/weapon_Halberd_qT7FfmauAumOjJoq.json index 5a990da3..6259e63e 100644 --- a/src/packs/items/weapons/weapon_Halberd_qT7FfmauAumOjJoq.json +++ b/src/packs/items/weapons/weapon_Halberd_qT7FfmauAumOjJoq.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 2, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Hallowed_Axe_Vayg7CnRTFBrunjM.json b/src/packs/items/weapons/weapon_Hallowed_Axe_Vayg7CnRTFBrunjM.json index 1fe37eba..9d8885b9 100644 --- a/src/packs/items/weapons/weapon_Hallowed_Axe_Vayg7CnRTFBrunjM.json +++ b/src/packs/items/weapons/weapon_Hallowed_Axe_Vayg7CnRTFBrunjM.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 1, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Hammer_of_Exota_0lAkBEUvbM9Osmqb.json b/src/packs/items/weapons/weapon_Hammer_of_Exota_0lAkBEUvbM9Osmqb.json index 15e00303..ba955850 100644 --- a/src/packs/items/weapons/weapon_Hammer_of_Exota_0lAkBEUvbM9Osmqb.json +++ b/src/packs/items/weapons/weapon_Hammer_of_Exota_0lAkBEUvbM9Osmqb.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Hammer_of_Wrath_1R4uzOpWD8bkYRUm.json b/src/packs/items/weapons/weapon_Hammer_of_Wrath_1R4uzOpWD8bkYRUm.json index fdab6f80..122c0769 100644 --- a/src/packs/items/weapons/weapon_Hammer_of_Wrath_1R4uzOpWD8bkYRUm.json +++ b/src/packs/items/weapons/weapon_Hammer_of_Wrath_1R4uzOpWD8bkYRUm.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 7, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Hand_Cannon_MyGz8nd5sieRQ7zl.json b/src/packs/items/weapons/weapon_Hand_Cannon_MyGz8nd5sieRQ7zl.json index 4967c6e4..1396fb1d 100644 --- a/src/packs/items/weapons/weapon_Hand_Cannon_MyGz8nd5sieRQ7zl.json +++ b/src/packs/items/weapons/weapon_Hand_Cannon_MyGz8nd5sieRQ7zl.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 12, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Hand_Crossbow_zxKt6qXe7uZB6ljm.json b/src/packs/items/weapons/weapon_Hand_Crossbow_zxKt6qXe7uZB6ljm.json index 6501f5d4..9f69ffc9 100644 --- a/src/packs/items/weapons/weapon_Hand_Crossbow_zxKt6qXe7uZB6ljm.json +++ b/src/packs/items/weapons/weapon_Hand_Crossbow_zxKt6qXe7uZB6ljm.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 1, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Hand_Runes_3whiedn0jBMNRdIb.json b/src/packs/items/weapons/weapon_Hand_Runes_3whiedn0jBMNRdIb.json index 00cb6e9b..32761768 100644 --- a/src/packs/items/weapons/weapon_Hand_Runes_3whiedn0jBMNRdIb.json +++ b/src/packs/items/weapons/weapon_Hand_Runes_3whiedn0jBMNRdIb.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": null, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Hand_Sling_RAIaoMi6iO1PKIlK.json b/src/packs/items/weapons/weapon_Hand_Sling_RAIaoMi6iO1PKIlK.json index 5c110b70..82641ca1 100644 --- a/src/packs/items/weapons/weapon_Hand_Sling_RAIaoMi6iO1PKIlK.json +++ b/src/packs/items/weapons/weapon_Hand_Sling_RAIaoMi6iO1PKIlK.json @@ -11,8 +11,8 @@ "type": "attack", "damage": { "includeBase": false, - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -36,7 +36,7 @@ } } } - } + ] }, "range": "close", "roll": { @@ -113,8 +113,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -140,7 +140,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Heavy_Frame_Wheelchair_XjPQjhRCH08VUIbr.json b/src/packs/items/weapons/weapon_Heavy_Frame_Wheelchair_XjPQjhRCH08VUIbr.json index e74ff4aa..db20063d 100644 --- a/src/packs/items/weapons/weapon_Heavy_Frame_Wheelchair_XjPQjhRCH08VUIbr.json +++ b/src/packs/items/weapons/weapon_Heavy_Frame_Wheelchair_XjPQjhRCH08VUIbr.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 3, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Ilmari_s_Rifle_TMrUzVC3KvcHmdt8.json b/src/packs/items/weapons/weapon_Ilmari_s_Rifle_TMrUzVC3KvcHmdt8.json index cddd762a..8234ab3a 100644 --- a/src/packs/items/weapons/weapon_Ilmari_s_Rifle_TMrUzVC3KvcHmdt8.json +++ b/src/packs/items/weapons/weapon_Ilmari_s_Rifle_TMrUzVC3KvcHmdt8.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Impact_Gauntlet_Zg6IutksQVOqAg8K.json b/src/packs/items/weapons/weapon_Impact_Gauntlet_Zg6IutksQVOqAg8K.json index 5e9891f9..8c8cc81d 100644 --- a/src/packs/items/weapons/weapon_Impact_Gauntlet_Zg6IutksQVOqAg8K.json +++ b/src/packs/items/weapons/weapon_Impact_Gauntlet_Zg6IutksQVOqAg8K.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 11, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json b/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json index 33f96030..fad45a2b 100644 --- a/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json +++ b/src/packs/items/weapons/weapon_Improved_Arcane_Frame_Wheelchair_N9P695V5KKlJbAY5.json @@ -48,8 +48,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 3, @@ -75,7 +75,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Arcane_Gauntlets_kENTDpa1hr5LDhIT.json b/src/packs/items/weapons/weapon_Improved_Arcane_Gauntlets_kENTDpa1hr5LDhIT.json index 1880d45b..40b85dde 100644 --- a/src/packs/items/weapons/weapon_Improved_Arcane_Gauntlets_kENTDpa1hr5LDhIT.json +++ b/src/packs/items/weapons/weapon_Improved_Arcane_Gauntlets_kENTDpa1hr5LDhIT.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 6, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Battleaxe_nxGUpuHLmuKdKsDC.json b/src/packs/items/weapons/weapon_Improved_Battleaxe_nxGUpuHLmuKdKsDC.json index 4652d62d..23068751 100644 --- a/src/packs/items/weapons/weapon_Improved_Battleaxe_nxGUpuHLmuKdKsDC.json +++ b/src/packs/items/weapons/weapon_Improved_Battleaxe_nxGUpuHLmuKdKsDC.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 6, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json b/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json index 6d6f1921..a17caadf 100644 --- a/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json +++ b/src/packs/items/weapons/weapon_Improved_Broadsword_OcKeLJxvmdT81VBc.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 3, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Crossbow_55NwHIIZHUeKSE3M.json b/src/packs/items/weapons/weapon_Improved_Crossbow_55NwHIIZHUeKSE3M.json index 5bc082ef..185f8f11 100644 --- a/src/packs/items/weapons/weapon_Improved_Crossbow_55NwHIIZHUeKSE3M.json +++ b/src/packs/items/weapons/weapon_Improved_Crossbow_55NwHIIZHUeKSE3M.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Cutlass_ddRjXnp2vbohu7rJ.json b/src/packs/items/weapons/weapon_Improved_Cutlass_ddRjXnp2vbohu7rJ.json index 87dfbfae..520e5679 100644 --- a/src/packs/items/weapons/weapon_Improved_Cutlass_ddRjXnp2vbohu7rJ.json +++ b/src/packs/items/weapons/weapon_Improved_Cutlass_ddRjXnp2vbohu7rJ.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 4, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Dagger_ScjTkb9qrndhlk9S.json b/src/packs/items/weapons/weapon_Improved_Dagger_ScjTkb9qrndhlk9S.json index 194ec879..1db4504e 100644 --- a/src/packs/items/weapons/weapon_Improved_Dagger_ScjTkb9qrndhlk9S.json +++ b/src/packs/items/weapons/weapon_Improved_Dagger_ScjTkb9qrndhlk9S.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 4, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Dualstaff_f7hhHlZ5nL3AhYEM.json b/src/packs/items/weapons/weapon_Improved_Dualstaff_f7hhHlZ5nL3AhYEM.json index d614130e..84cc75ba 100644 --- a/src/packs/items/weapons/weapon_Improved_Dualstaff_f7hhHlZ5nL3AhYEM.json +++ b/src/packs/items/weapons/weapon_Improved_Dualstaff_f7hhHlZ5nL3AhYEM.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Glowing_Rings_N5amhkxR1xn3B7r2.json b/src/packs/items/weapons/weapon_Improved_Glowing_Rings_N5amhkxR1xn3B7r2.json index f8b29720..01439f5b 100644 --- a/src/packs/items/weapons/weapon_Improved_Glowing_Rings_N5amhkxR1xn3B7r2.json +++ b/src/packs/items/weapons/weapon_Improved_Glowing_Rings_N5amhkxR1xn3B7r2.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 5, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Grappler_3T3o9zfe61t22L1H.json b/src/packs/items/weapons/weapon_Improved_Grappler_3T3o9zfe61t22L1H.json index 31dfff22..74ee510a 100644 --- a/src/packs/items/weapons/weapon_Improved_Grappler_3T3o9zfe61t22L1H.json +++ b/src/packs/items/weapons/weapon_Improved_Grappler_3T3o9zfe61t22L1H.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 2, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Greatstaff_LCuTrYXi4lhg6LqW.json b/src/packs/items/weapons/weapon_Improved_Greatstaff_LCuTrYXi4lhg6LqW.json index 25be3393..cf1bdf63 100644 --- a/src/packs/items/weapons/weapon_Improved_Greatstaff_LCuTrYXi4lhg6LqW.json +++ b/src/packs/items/weapons/weapon_Improved_Greatstaff_LCuTrYXi4lhg6LqW.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 3, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Greatsword_FPX4ouDrxXiQ5MDf.json b/src/packs/items/weapons/weapon_Improved_Greatsword_FPX4ouDrxXiQ5MDf.json index 60e5dd53..f71e5ea6 100644 --- a/src/packs/items/weapons/weapon_Improved_Greatsword_FPX4ouDrxXiQ5MDf.json +++ b/src/packs/items/weapons/weapon_Improved_Greatsword_FPX4ouDrxXiQ5MDf.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Halberd_F9PETfCQGwczBPif.json b/src/packs/items/weapons/weapon_Improved_Halberd_F9PETfCQGwczBPif.json index fb5a1dcc..168d8953 100644 --- a/src/packs/items/weapons/weapon_Improved_Halberd_F9PETfCQGwczBPif.json +++ b/src/packs/items/weapons/weapon_Improved_Halberd_F9PETfCQGwczBPif.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 5, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Hallowed_Axe_wFOXMN2uiX4j6Gd9.json b/src/packs/items/weapons/weapon_Improved_Hallowed_Axe_wFOXMN2uiX4j6Gd9.json index 71b28bea..a79ad56d 100644 --- a/src/packs/items/weapons/weapon_Improved_Hallowed_Axe_wFOXMN2uiX4j6Gd9.json +++ b/src/packs/items/weapons/weapon_Improved_Hallowed_Axe_wFOXMN2uiX4j6Gd9.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 4, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Hand_Crossbow_XEDRkuw3BhMoVBn9.json b/src/packs/items/weapons/weapon_Improved_Hand_Crossbow_XEDRkuw3BhMoVBn9.json index 91641856..74e74f2c 100644 --- a/src/packs/items/weapons/weapon_Improved_Hand_Crossbow_XEDRkuw3BhMoVBn9.json +++ b/src/packs/items/weapons/weapon_Improved_Hand_Crossbow_XEDRkuw3BhMoVBn9.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 3, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Hand_Runes_jMEukC3VpNDz5AOD.json b/src/packs/items/weapons/weapon_Improved_Hand_Runes_jMEukC3VpNDz5AOD.json index dc7f2005..546e9762 100644 --- a/src/packs/items/weapons/weapon_Improved_Hand_Runes_jMEukC3VpNDz5AOD.json +++ b/src/packs/items/weapons/weapon_Improved_Hand_Runes_jMEukC3VpNDz5AOD.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 3, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Heavy_Frame_Wheelchair_L5KeCtrs768PmYWW.json b/src/packs/items/weapons/weapon_Improved_Heavy_Frame_Wheelchair_L5KeCtrs768PmYWW.json index e65cc221..3a386fa8 100644 --- a/src/packs/items/weapons/weapon_Improved_Heavy_Frame_Wheelchair_L5KeCtrs768PmYWW.json +++ b/src/packs/items/weapons/weapon_Improved_Heavy_Frame_Wheelchair_L5KeCtrs768PmYWW.json @@ -48,8 +48,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 6, @@ -75,7 +75,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Light_Frame_Wheelchair_ZJsetdHKV77ygtCE.json b/src/packs/items/weapons/weapon_Improved_Light_Frame_Wheelchair_ZJsetdHKV77ygtCE.json index 315ceaf3..6fbe3c9d 100644 --- a/src/packs/items/weapons/weapon_Improved_Light_Frame_Wheelchair_ZJsetdHKV77ygtCE.json +++ b/src/packs/items/weapons/weapon_Improved_Light_Frame_Wheelchair_ZJsetdHKV77ygtCE.json @@ -77,8 +77,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 3, @@ -104,7 +104,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Longbow_NacNonjbzyoVMNhI.json b/src/packs/items/weapons/weapon_Improved_Longbow_NacNonjbzyoVMNhI.json index c197f726..787d5a28 100644 --- a/src/packs/items/weapons/weapon_Improved_Longbow_NacNonjbzyoVMNhI.json +++ b/src/packs/items/weapons/weapon_Improved_Longbow_NacNonjbzyoVMNhI.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Longsword_QyBZ5NxM8F9nCL9s.json b/src/packs/items/weapons/weapon_Improved_Longsword_QyBZ5NxM8F9nCL9s.json index aaa38270..982ca3ac 100644 --- a/src/packs/items/weapons/weapon_Improved_Longsword_QyBZ5NxM8F9nCL9s.json +++ b/src/packs/items/weapons/weapon_Improved_Longsword_QyBZ5NxM8F9nCL9s.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 6, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Mace_zSLx52U4Yltqx8F1.json b/src/packs/items/weapons/weapon_Improved_Mace_zSLx52U4Yltqx8F1.json index 1ce84304..c1b626d5 100644 --- a/src/packs/items/weapons/weapon_Improved_Mace_zSLx52U4Yltqx8F1.json +++ b/src/packs/items/weapons/weapon_Improved_Mace_zSLx52U4Yltqx8F1.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 4, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Quarterstaff_BEmAR60PM3ZaiNXa.json b/src/packs/items/weapons/weapon_Improved_Quarterstaff_BEmAR60PM3ZaiNXa.json index 9dc81b98..888022ed 100644 --- a/src/packs/items/weapons/weapon_Improved_Quarterstaff_BEmAR60PM3ZaiNXa.json +++ b/src/packs/items/weapons/weapon_Improved_Quarterstaff_BEmAR60PM3ZaiNXa.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 6, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Rapier_LFPH8nD2f4Blv3AM.json b/src/packs/items/weapons/weapon_Improved_Rapier_LFPH8nD2f4Blv3AM.json index e9db95d1..cc6099da 100644 --- a/src/packs/items/weapons/weapon_Improved_Rapier_LFPH8nD2f4Blv3AM.json +++ b/src/packs/items/weapons/weapon_Improved_Rapier_LFPH8nD2f4Blv3AM.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 3, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Returning_Blade_SKNwkW23eVQjN4Zy.json b/src/packs/items/weapons/weapon_Improved_Returning_Blade_SKNwkW23eVQjN4Zy.json index 1dff30a1..31688a23 100644 --- a/src/packs/items/weapons/weapon_Improved_Returning_Blade_SKNwkW23eVQjN4Zy.json +++ b/src/packs/items/weapons/weapon_Improved_Returning_Blade_SKNwkW23eVQjN4Zy.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 3, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Round_Shield_DlinEBGZfIlvreO3.json b/src/packs/items/weapons/weapon_Improved_Round_Shield_DlinEBGZfIlvreO3.json index 091355c2..53a8e9b6 100644 --- a/src/packs/items/weapons/weapon_Improved_Round_Shield_DlinEBGZfIlvreO3.json +++ b/src/packs/items/weapons/weapon_Improved_Round_Shield_DlinEBGZfIlvreO3.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d4", "bonus": 2, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Scepter_tj26lbNkwy8bORF4.json b/src/packs/items/weapons/weapon_Improved_Scepter_tj26lbNkwy8bORF4.json index ac226b84..dc41692f 100644 --- a/src/packs/items/weapons/weapon_Improved_Scepter_tj26lbNkwy8bORF4.json +++ b/src/packs/items/weapons/weapon_Improved_Scepter_tj26lbNkwy8bORF4.json @@ -11,8 +11,8 @@ "type": "attack", "damage": { "includeBase": false, - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -38,7 +38,7 @@ } } } - } + ] }, "range": "melee", "roll": { @@ -115,8 +115,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 3, @@ -142,7 +142,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Shortbow_6ZWl6ARfvYBaAMwY.json b/src/packs/items/weapons/weapon_Improved_Shortbow_6ZWl6ARfvYBaAMwY.json index b0e101fb..421b8f8e 100644 --- a/src/packs/items/weapons/weapon_Improved_Shortbow_6ZWl6ARfvYBaAMwY.json +++ b/src/packs/items/weapons/weapon_Improved_Shortbow_6ZWl6ARfvYBaAMwY.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Shortstaff_Mn8ja5Oi1sXvvPSk.json b/src/packs/items/weapons/weapon_Improved_Shortstaff_Mn8ja5Oi1sXvvPSk.json index 7d90cf94..08bf9251 100644 --- a/src/packs/items/weapons/weapon_Improved_Shortstaff_Mn8ja5Oi1sXvvPSk.json +++ b/src/packs/items/weapons/weapon_Improved_Shortstaff_Mn8ja5Oi1sXvvPSk.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 4, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json b/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json index 96ecd37f..df2f324c 100644 --- a/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json +++ b/src/packs/items/weapons/weapon_Improved_Shortsword_rSyBNRwemBVuTo3H.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 2, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json b/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json index 1553d75d..b69332a5 100644 --- a/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json +++ b/src/packs/items/weapons/weapon_Improved_Small_Dagger_nMuF8ZDZ2aXZVTg6.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 2, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Spear_j5Pt1thLfcvopBij.json b/src/packs/items/weapons/weapon_Improved_Spear_j5Pt1thLfcvopBij.json index 790f9e51..ae6b0987 100644 --- a/src/packs/items/weapons/weapon_Improved_Spear_j5Pt1thLfcvopBij.json +++ b/src/packs/items/weapons/weapon_Improved_Spear_j5Pt1thLfcvopBij.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Tower_Shield_bxt3NsbMqTSdI5ab.json b/src/packs/items/weapons/weapon_Improved_Tower_Shield_bxt3NsbMqTSdI5ab.json index 6f55fe3d..839d4352 100644 --- a/src/packs/items/weapons/weapon_Improved_Tower_Shield_bxt3NsbMqTSdI5ab.json +++ b/src/packs/items/weapons/weapon_Improved_Tower_Shield_bxt3NsbMqTSdI5ab.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 2, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Wand_6d9B2b5X2d2U56jt.json b/src/packs/items/weapons/weapon_Improved_Wand_6d9B2b5X2d2U56jt.json index 53ee6746..cecb818d 100644 --- a/src/packs/items/weapons/weapon_Improved_Wand_6d9B2b5X2d2U56jt.json +++ b/src/packs/items/weapons/weapon_Improved_Wand_6d9B2b5X2d2U56jt.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Warhammer_pxaN4ZK4eqKrjtWj.json b/src/packs/items/weapons/weapon_Improved_Warhammer_pxaN4ZK4eqKrjtWj.json index aa24c4ad..40a5faba 100644 --- a/src/packs/items/weapons/weapon_Improved_Warhammer_pxaN4ZK4eqKrjtWj.json +++ b/src/packs/items/weapons/weapon_Improved_Warhammer_pxaN4ZK4eqKrjtWj.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Improved_Whip_ftTp8VlsBQ1r4LFD.json b/src/packs/items/weapons/weapon_Improved_Whip_ftTp8VlsBQ1r4LFD.json index 4dd1dcb1..dff7fb25 100644 --- a/src/packs/items/weapons/weapon_Improved_Whip_ftTp8VlsBQ1r4LFD.json +++ b/src/packs/items/weapons/weapon_Improved_Whip_ftTp8VlsBQ1r4LFD.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 2, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json b/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json index 21fe863b..27b8044b 100644 --- a/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json +++ b/src/packs/items/weapons/weapon_Keeper_s_Staff_q382JqMkqLaaFLIr.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Knuckle_Blades_U8gfyvxoHm024inM.json b/src/packs/items/weapons/weapon_Knuckle_Blades_U8gfyvxoHm024inM.json index 56ff6d62..6bc27412 100644 --- a/src/packs/items/weapons/weapon_Knuckle_Blades_U8gfyvxoHm024inM.json +++ b/src/packs/items/weapons/weapon_Knuckle_Blades_U8gfyvxoHm024inM.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 6, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Knuckle_Claws_SFqganS8Du4aEKjQ.json b/src/packs/items/weapons/weapon_Knuckle_Claws_SFqganS8Du4aEKjQ.json index a7629e7d..df995a3f 100644 --- a/src/packs/items/weapons/weapon_Knuckle_Claws_SFqganS8Du4aEKjQ.json +++ b/src/packs/items/weapons/weapon_Knuckle_Claws_SFqganS8Du4aEKjQ.json @@ -72,8 +72,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 8, @@ -99,7 +99,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Labrys_Axe_ijWppQzSOqVCb3rE.json b/src/packs/items/weapons/weapon_Labrys_Axe_ijWppQzSOqVCb3rE.json index 0dd7d23a..4958bbe5 100644 --- a/src/packs/items/weapons/weapon_Labrys_Axe_ijWppQzSOqVCb3rE.json +++ b/src/packs/items/weapons/weapon_Labrys_Axe_ijWppQzSOqVCb3rE.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 7, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json b/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json index f947acac..d8068f41 100644 --- a/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json +++ b/src/packs/items/weapons/weapon_Legendary_Arcane_Frame_Wheelchair_gA2tiET9VHGhwMoO.json @@ -48,8 +48,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 9, @@ -75,7 +75,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Arcane_Gauntlets_umADDPYCaykXDc1v.json b/src/packs/items/weapons/weapon_Legendary_Arcane_Gauntlets_umADDPYCaykXDc1v.json index c7adc0f2..94da915c 100644 --- a/src/packs/items/weapons/weapon_Legendary_Arcane_Gauntlets_umADDPYCaykXDc1v.json +++ b/src/packs/items/weapons/weapon_Legendary_Arcane_Gauntlets_umADDPYCaykXDc1v.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 12, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Battleaxe_1nztpLzoHGfbKf5x.json b/src/packs/items/weapons/weapon_Legendary_Battleaxe_1nztpLzoHGfbKf5x.json index 3c22e3f2..06a8a85f 100644 --- a/src/packs/items/weapons/weapon_Legendary_Battleaxe_1nztpLzoHGfbKf5x.json +++ b/src/packs/items/weapons/weapon_Legendary_Battleaxe_1nztpLzoHGfbKf5x.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 12, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json b/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json index 361d0353..786ba8b6 100644 --- a/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json +++ b/src/packs/items/weapons/weapon_Legendary_Broadsword_y3hfTPfZhMognyaJ.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 9, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Crossbow_1G6xX2QL9O0Rsgz7.json b/src/packs/items/weapons/weapon_Legendary_Crossbow_1G6xX2QL9O0Rsgz7.json index 358cdd56..e263bcbe 100644 --- a/src/packs/items/weapons/weapon_Legendary_Crossbow_1G6xX2QL9O0Rsgz7.json +++ b/src/packs/items/weapons/weapon_Legendary_Crossbow_1G6xX2QL9O0Rsgz7.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 10, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Cutlass_Rpyz0jbFJ1SwqfyD.json b/src/packs/items/weapons/weapon_Legendary_Cutlass_Rpyz0jbFJ1SwqfyD.json index 9ce1b48a..2c284332 100644 --- a/src/packs/items/weapons/weapon_Legendary_Cutlass_Rpyz0jbFJ1SwqfyD.json +++ b/src/packs/items/weapons/weapon_Legendary_Cutlass_Rpyz0jbFJ1SwqfyD.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 10, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Dagger_GmTg3Fdne1UPNs8t.json b/src/packs/items/weapons/weapon_Legendary_Dagger_GmTg3Fdne1UPNs8t.json index a7bb2fc9..0e9e988d 100644 --- a/src/packs/items/weapons/weapon_Legendary_Dagger_GmTg3Fdne1UPNs8t.json +++ b/src/packs/items/weapons/weapon_Legendary_Dagger_GmTg3Fdne1UPNs8t.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 10, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Dualstaff_o3rsLvImcLAx5TvD.json b/src/packs/items/weapons/weapon_Legendary_Dualstaff_o3rsLvImcLAx5TvD.json index b06909e4..9c618ba5 100644 --- a/src/packs/items/weapons/weapon_Legendary_Dualstaff_o3rsLvImcLAx5TvD.json +++ b/src/packs/items/weapons/weapon_Legendary_Dualstaff_o3rsLvImcLAx5TvD.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 12, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Glowing_Rings_PReWrfuPjoNQuieo.json b/src/packs/items/weapons/weapon_Legendary_Glowing_Rings_PReWrfuPjoNQuieo.json index ca9937ee..1710084f 100644 --- a/src/packs/items/weapons/weapon_Legendary_Glowing_Rings_PReWrfuPjoNQuieo.json +++ b/src/packs/items/weapons/weapon_Legendary_Glowing_Rings_PReWrfuPjoNQuieo.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 11, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Grappler_IrtUj0UntBMNn49G.json b/src/packs/items/weapons/weapon_Legendary_Grappler_IrtUj0UntBMNn49G.json index f20425b2..83334710 100644 --- a/src/packs/items/weapons/weapon_Legendary_Grappler_IrtUj0UntBMNn49G.json +++ b/src/packs/items/weapons/weapon_Legendary_Grappler_IrtUj0UntBMNn49G.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Greatstaff_jDtvEabkHY1GFgfc.json b/src/packs/items/weapons/weapon_Legendary_Greatstaff_jDtvEabkHY1GFgfc.json index 09fd1f7a..a5ea82f9 100644 --- a/src/packs/items/weapons/weapon_Legendary_Greatstaff_jDtvEabkHY1GFgfc.json +++ b/src/packs/items/weapons/weapon_Legendary_Greatstaff_jDtvEabkHY1GFgfc.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 9, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Greatsword_zMZ46F9VR7zdTxb9.json b/src/packs/items/weapons/weapon_Legendary_Greatsword_zMZ46F9VR7zdTxb9.json index aa9d2ef0..840e7ec7 100644 --- a/src/packs/items/weapons/weapon_Legendary_Greatsword_zMZ46F9VR7zdTxb9.json +++ b/src/packs/items/weapons/weapon_Legendary_Greatsword_zMZ46F9VR7zdTxb9.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 12, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Halberd_1AuMNiJz96Ez9fur.json b/src/packs/items/weapons/weapon_Legendary_Halberd_1AuMNiJz96Ez9fur.json index af6b2a07..22e6af1b 100644 --- a/src/packs/items/weapons/weapon_Legendary_Halberd_1AuMNiJz96Ez9fur.json +++ b/src/packs/items/weapons/weapon_Legendary_Halberd_1AuMNiJz96Ez9fur.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 11, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Hallowed_Axe_0HmhnZnv1I6uX69c.json b/src/packs/items/weapons/weapon_Legendary_Hallowed_Axe_0HmhnZnv1I6uX69c.json index 70379d45..2bf11f05 100644 --- a/src/packs/items/weapons/weapon_Legendary_Hallowed_Axe_0HmhnZnv1I6uX69c.json +++ b/src/packs/items/weapons/weapon_Legendary_Hallowed_Axe_0HmhnZnv1I6uX69c.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 10, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Hand_Crossbow_32nYyMaeDWaakSxz.json b/src/packs/items/weapons/weapon_Legendary_Hand_Crossbow_32nYyMaeDWaakSxz.json index 930310a8..ff43c21b 100644 --- a/src/packs/items/weapons/weapon_Legendary_Hand_Crossbow_32nYyMaeDWaakSxz.json +++ b/src/packs/items/weapons/weapon_Legendary_Hand_Crossbow_32nYyMaeDWaakSxz.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 7, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Hand_Runes_DWLkswhluXuMy3bB.json b/src/packs/items/weapons/weapon_Legendary_Hand_Runes_DWLkswhluXuMy3bB.json index e909f460..2dcad490 100644 --- a/src/packs/items/weapons/weapon_Legendary_Hand_Runes_DWLkswhluXuMy3bB.json +++ b/src/packs/items/weapons/weapon_Legendary_Hand_Runes_DWLkswhluXuMy3bB.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 9, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Heavy_Frame_Wheelchair_S6nB0CNlzdU05o5U.json b/src/packs/items/weapons/weapon_Legendary_Heavy_Frame_Wheelchair_S6nB0CNlzdU05o5U.json index d8816fc9..7e561c26 100644 --- a/src/packs/items/weapons/weapon_Legendary_Heavy_Frame_Wheelchair_S6nB0CNlzdU05o5U.json +++ b/src/packs/items/weapons/weapon_Legendary_Heavy_Frame_Wheelchair_S6nB0CNlzdU05o5U.json @@ -48,8 +48,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 12, @@ -75,7 +75,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Light_Frame_Wheelchair_Xt8tVSn5Fu6ly6LF.json b/src/packs/items/weapons/weapon_Legendary_Light_Frame_Wheelchair_Xt8tVSn5Fu6ly6LF.json index 7afbd979..9f96601c 100644 --- a/src/packs/items/weapons/weapon_Legendary_Light_Frame_Wheelchair_Xt8tVSn5Fu6ly6LF.json +++ b/src/packs/items/weapons/weapon_Legendary_Light_Frame_Wheelchair_Xt8tVSn5Fu6ly6LF.json @@ -77,8 +77,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 9, @@ -104,7 +104,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Longbow_Utt1GpoH1fhaTOtN.json b/src/packs/items/weapons/weapon_Legendary_Longbow_Utt1GpoH1fhaTOtN.json index bd5ab13b..bb0b8ab3 100644 --- a/src/packs/items/weapons/weapon_Legendary_Longbow_Utt1GpoH1fhaTOtN.json +++ b/src/packs/items/weapons/weapon_Legendary_Longbow_Utt1GpoH1fhaTOtN.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 12, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Longsword_14abPqQcROJfDChR.json b/src/packs/items/weapons/weapon_Legendary_Longsword_14abPqQcROJfDChR.json index e6555b02..9399edd4 100644 --- a/src/packs/items/weapons/weapon_Legendary_Longsword_14abPqQcROJfDChR.json +++ b/src/packs/items/weapons/weapon_Legendary_Longsword_14abPqQcROJfDChR.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 12, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Mace_RsDsy7tIhrhaAQQc.json b/src/packs/items/weapons/weapon_Legendary_Mace_RsDsy7tIhrhaAQQc.json index 7f4a9dab..95de32f0 100644 --- a/src/packs/items/weapons/weapon_Legendary_Mace_RsDsy7tIhrhaAQQc.json +++ b/src/packs/items/weapons/weapon_Legendary_Mace_RsDsy7tIhrhaAQQc.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 10, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Quarterstaff_1ZciqG7vIKLYpKsP.json b/src/packs/items/weapons/weapon_Legendary_Quarterstaff_1ZciqG7vIKLYpKsP.json index 91bc8ac8..cf25daa7 100644 --- a/src/packs/items/weapons/weapon_Legendary_Quarterstaff_1ZciqG7vIKLYpKsP.json +++ b/src/packs/items/weapons/weapon_Legendary_Quarterstaff_1ZciqG7vIKLYpKsP.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 12, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Rapier_BakN97v4jTePcXiZ.json b/src/packs/items/weapons/weapon_Legendary_Rapier_BakN97v4jTePcXiZ.json index d5bac6d1..59a49063 100644 --- a/src/packs/items/weapons/weapon_Legendary_Rapier_BakN97v4jTePcXiZ.json +++ b/src/packs/items/weapons/weapon_Legendary_Rapier_BakN97v4jTePcXiZ.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 9, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Returning_Blade_mcj3CPkcSSDdAcBB.json b/src/packs/items/weapons/weapon_Legendary_Returning_Blade_mcj3CPkcSSDdAcBB.json index b3f3fc3d..211c88c2 100644 --- a/src/packs/items/weapons/weapon_Legendary_Returning_Blade_mcj3CPkcSSDdAcBB.json +++ b/src/packs/items/weapons/weapon_Legendary_Returning_Blade_mcj3CPkcSSDdAcBB.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 9, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Round_Shield_A28WL9E2lJ3iLZHW.json b/src/packs/items/weapons/weapon_Legendary_Round_Shield_A28WL9E2lJ3iLZHW.json index 5eedb6c2..c7b18355 100644 --- a/src/packs/items/weapons/weapon_Legendary_Round_Shield_A28WL9E2lJ3iLZHW.json +++ b/src/packs/items/weapons/weapon_Legendary_Round_Shield_A28WL9E2lJ3iLZHW.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d4", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Scepter_IZ4CWNxfuM46JeCN.json b/src/packs/items/weapons/weapon_Legendary_Scepter_IZ4CWNxfuM46JeCN.json index 882ecfdf..9630fd69 100644 --- a/src/packs/items/weapons/weapon_Legendary_Scepter_IZ4CWNxfuM46JeCN.json +++ b/src/packs/items/weapons/weapon_Legendary_Scepter_IZ4CWNxfuM46JeCN.json @@ -11,8 +11,8 @@ "type": "attack", "damage": { "includeBase": false, - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -38,7 +38,7 @@ } } } - } + ] }, "range": "melee", "roll": { @@ -115,8 +115,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 9, @@ -142,7 +142,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Shortbow_j7kp36jaetfn5jb3.json b/src/packs/items/weapons/weapon_Legendary_Shortbow_j7kp36jaetfn5jb3.json index b3dbd210..7fad3f95 100644 --- a/src/packs/items/weapons/weapon_Legendary_Shortbow_j7kp36jaetfn5jb3.json +++ b/src/packs/items/weapons/weapon_Legendary_Shortbow_j7kp36jaetfn5jb3.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 12, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Shortstaff_D3SbNvNJZAFuzfhg.json b/src/packs/items/weapons/weapon_Legendary_Shortstaff_D3SbNvNJZAFuzfhg.json index 3d29bc25..59d53e44 100644 --- a/src/packs/items/weapons/weapon_Legendary_Shortstaff_D3SbNvNJZAFuzfhg.json +++ b/src/packs/items/weapons/weapon_Legendary_Shortstaff_D3SbNvNJZAFuzfhg.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 10, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json b/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json index a2203a1d..d7f9632a 100644 --- a/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json +++ b/src/packs/items/weapons/weapon_Legendary_Shortsword_dEumq3BIZBk5xYTk.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json b/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json index cf63bde2..c6bf5437 100644 --- a/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json +++ b/src/packs/items/weapons/weapon_Legendary_Small_Dagger_Px3Rh3kIvAqyISxJ.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Spear_4e5pWxi2qohuGsWh.json b/src/packs/items/weapons/weapon_Legendary_Spear_4e5pWxi2qohuGsWh.json index e0248f4b..114ea79e 100644 --- a/src/packs/items/weapons/weapon_Legendary_Spear_4e5pWxi2qohuGsWh.json +++ b/src/packs/items/weapons/weapon_Legendary_Spear_4e5pWxi2qohuGsWh.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 12, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Tower_Shield_MaJIROht7A9LxIZx.json b/src/packs/items/weapons/weapon_Legendary_Tower_Shield_MaJIROht7A9LxIZx.json index 49ca454a..47e707d3 100644 --- a/src/packs/items/weapons/weapon_Legendary_Tower_Shield_MaJIROht7A9LxIZx.json +++ b/src/packs/items/weapons/weapon_Legendary_Tower_Shield_MaJIROht7A9LxIZx.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Wand_wPjg0LufJH9vUfVM.json b/src/packs/items/weapons/weapon_Legendary_Wand_wPjg0LufJH9vUfVM.json index 65925525..4bb0acd9 100644 --- a/src/packs/items/weapons/weapon_Legendary_Wand_wPjg0LufJH9vUfVM.json +++ b/src/packs/items/weapons/weapon_Legendary_Wand_wPjg0LufJH9vUfVM.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 10, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Warhammer_W9ymfEDck2icfvla.json b/src/packs/items/weapons/weapon_Legendary_Warhammer_W9ymfEDck2icfvla.json index 562122d2..0918f8b1 100644 --- a/src/packs/items/weapons/weapon_Legendary_Warhammer_W9ymfEDck2icfvla.json +++ b/src/packs/items/weapons/weapon_Legendary_Warhammer_W9ymfEDck2icfvla.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 12, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Legendary_Whip_Wcdbf6yS3LEt7nsg.json b/src/packs/items/weapons/weapon_Legendary_Whip_Wcdbf6yS3LEt7nsg.json index baf6d369..83ac59c7 100644 --- a/src/packs/items/weapons/weapon_Legendary_Whip_Wcdbf6yS3LEt7nsg.json +++ b/src/packs/items/weapons/weapon_Legendary_Whip_Wcdbf6yS3LEt7nsg.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 6, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Light_Frame_Wheelchair_iaGnlUkShBgdeMo0.json b/src/packs/items/weapons/weapon_Light_Frame_Wheelchair_iaGnlUkShBgdeMo0.json index 7fadde01..fdda2b56 100644 --- a/src/packs/items/weapons/weapon_Light_Frame_Wheelchair_iaGnlUkShBgdeMo0.json +++ b/src/packs/items/weapons/weapon_Light_Frame_Wheelchair_iaGnlUkShBgdeMo0.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "type": [ "physical" ], @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Longbow_YfVs6Se903az4Yet.json b/src/packs/items/weapons/weapon_Longbow_YfVs6Se903az4Yet.json index 43af46ab..c6e98bc4 100644 --- a/src/packs/items/weapons/weapon_Longbow_YfVs6Se903az4Yet.json +++ b/src/packs/items/weapons/weapon_Longbow_YfVs6Se903az4Yet.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 3, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Longsword_Iv8BZM1R24QMT72M.json b/src/packs/items/weapons/weapon_Longsword_Iv8BZM1R24QMT72M.json index 3961d7c3..cba1bac8 100644 --- a/src/packs/items/weapons/weapon_Longsword_Iv8BZM1R24QMT72M.json +++ b/src/packs/items/weapons/weapon_Longsword_Iv8BZM1R24QMT72M.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 3, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Mace_cKQCDyM2UopDL9zF.json b/src/packs/items/weapons/weapon_Mace_cKQCDyM2UopDL9zF.json index 7a7582cb..0e6670f4 100644 --- a/src/packs/items/weapons/weapon_Mace_cKQCDyM2UopDL9zF.json +++ b/src/packs/items/weapons/weapon_Mace_cKQCDyM2UopDL9zF.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 1, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Mage_Orb_XKBmBUEoGLdLcuqQ.json b/src/packs/items/weapons/weapon_Mage_Orb_XKBmBUEoGLdLcuqQ.json index dbd218f1..3b5983f5 100644 --- a/src/packs/items/weapons/weapon_Mage_Orb_XKBmBUEoGLdLcuqQ.json +++ b/src/packs/items/weapons/weapon_Mage_Orb_XKBmBUEoGLdLcuqQ.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 7, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Magus_Revolver_jGykNGQiKm63tCiE.json b/src/packs/items/weapons/weapon_Magus_Revolver_jGykNGQiKm63tCiE.json index 9dbbb1c1..42a65010 100644 --- a/src/packs/items/weapons/weapon_Magus_Revolver_jGykNGQiKm63tCiE.json +++ b/src/packs/items/weapons/weapon_Magus_Revolver_jGykNGQiKm63tCiE.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 13, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Meridian_Cutlass_Gi26Zk9VqlAAgx3E.json b/src/packs/items/weapons/weapon_Meridian_Cutlass_Gi26Zk9VqlAAgx3E.json index b83a18be..dcc236a0 100644 --- a/src/packs/items/weapons/weapon_Meridian_Cutlass_Gi26Zk9VqlAAgx3E.json +++ b/src/packs/items/weapons/weapon_Meridian_Cutlass_Gi26Zk9VqlAAgx3E.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 5, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Midas_Scythe_BdLfy5i488VZgkjP.json b/src/packs/items/weapons/weapon_Midas_Scythe_BdLfy5i488VZgkjP.json index 57fe2367..799413be 100644 --- a/src/packs/items/weapons/weapon_Midas_Scythe_BdLfy5i488VZgkjP.json +++ b/src/packs/items/weapons/weapon_Midas_Scythe_BdLfy5i488VZgkjP.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 9, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Parrying_Dagger_taAZDkDCpeNgxhnn.json b/src/packs/items/weapons/weapon_Parrying_Dagger_taAZDkDCpeNgxhnn.json index b5844e89..482d813b 100644 --- a/src/packs/items/weapons/weapon_Parrying_Dagger_taAZDkDCpeNgxhnn.json +++ b/src/packs/items/weapons/weapon_Parrying_Dagger_taAZDkDCpeNgxhnn.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 2, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Powered_Gauntlet_bW3xw5S9DbaLCN3E.json b/src/packs/items/weapons/weapon_Powered_Gauntlet_bW3xw5S9DbaLCN3E.json index 3c4ebd1c..67922f8b 100644 --- a/src/packs/items/weapons/weapon_Powered_Gauntlet_bW3xw5S9DbaLCN3E.json +++ b/src/packs/items/weapons/weapon_Powered_Gauntlet_bW3xw5S9DbaLCN3E.json @@ -85,8 +85,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -112,7 +112,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Primer_Shard_SxcblanBvqaest3A.json b/src/packs/items/weapons/weapon_Primer_Shard_SxcblanBvqaest3A.json index 0cf59179..fb42af74 100644 --- a/src/packs/items/weapons/weapon_Primer_Shard_SxcblanBvqaest3A.json +++ b/src/packs/items/weapons/weapon_Primer_Shard_SxcblanBvqaest3A.json @@ -72,8 +72,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d4", "bonus": null, @@ -99,7 +99,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Quarterstaff_mlIj88p1wcQNjEDG.json b/src/packs/items/weapons/weapon_Quarterstaff_mlIj88p1wcQNjEDG.json index 00940b6c..37c56a21 100644 --- a/src/packs/items/weapons/weapon_Quarterstaff_mlIj88p1wcQNjEDG.json +++ b/src/packs/items/weapons/weapon_Quarterstaff_mlIj88p1wcQNjEDG.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 3, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Rapier_zkAgEW6zMkRZalEm.json b/src/packs/items/weapons/weapon_Rapier_zkAgEW6zMkRZalEm.json index 45642f14..b4de1c00 100644 --- a/src/packs/items/weapons/weapon_Rapier_zkAgEW6zMkRZalEm.json +++ b/src/packs/items/weapons/weapon_Rapier_zkAgEW6zMkRZalEm.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "type": [ "physical" ], @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Retractable_Saber_i8CqVTzqoRoCewNe.json b/src/packs/items/weapons/weapon_Retractable_Saber_i8CqVTzqoRoCewNe.json index 548de60f..c1b350a3 100644 --- a/src/packs/items/weapons/weapon_Retractable_Saber_i8CqVTzqoRoCewNe.json +++ b/src/packs/items/weapons/weapon_Retractable_Saber_i8CqVTzqoRoCewNe.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 7, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Returning_Axe_FtsQGwOg3r8uUCST.json b/src/packs/items/weapons/weapon_Returning_Axe_FtsQGwOg3r8uUCST.json index 9f3cca62..76a887ae 100644 --- a/src/packs/items/weapons/weapon_Returning_Axe_FtsQGwOg3r8uUCST.json +++ b/src/packs/items/weapons/weapon_Returning_Axe_FtsQGwOg3r8uUCST.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Returning_Blade_4fQpVfQ3NVwTHStA.json b/src/packs/items/weapons/weapon_Returning_Blade_4fQpVfQ3NVwTHStA.json index efd81e48..74be4227 100644 --- a/src/packs/items/weapons/weapon_Returning_Blade_4fQpVfQ3NVwTHStA.json +++ b/src/packs/items/weapons/weapon_Returning_Blade_4fQpVfQ3NVwTHStA.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": null, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Ricochet_Axes_E9QDh5o9eQ1Qx0kH.json b/src/packs/items/weapons/weapon_Ricochet_Axes_E9QDh5o9eQ1Qx0kH.json index 34f3b200..1067bb02 100644 --- a/src/packs/items/weapons/weapon_Ricochet_Axes_E9QDh5o9eQ1Qx0kH.json +++ b/src/packs/items/weapons/weapon_Ricochet_Axes_E9QDh5o9eQ1Qx0kH.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 11, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Round_Shield_mxwWKDujgsRcZWPT.json b/src/packs/items/weapons/weapon_Round_Shield_mxwWKDujgsRcZWPT.json index ccba4b0e..47b096af 100644 --- a/src/packs/items/weapons/weapon_Round_Shield_mxwWKDujgsRcZWPT.json +++ b/src/packs/items/weapons/weapon_Round_Shield_mxwWKDujgsRcZWPT.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d4", "bonus": null, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Runes_of_Ruination_EG6mZhr3ib56r974.json b/src/packs/items/weapons/weapon_Runes_of_Ruination_EG6mZhr3ib56r974.json index 3a966fe0..e0676ed2 100644 --- a/src/packs/items/weapons/weapon_Runes_of_Ruination_EG6mZhr3ib56r974.json +++ b/src/packs/items/weapons/weapon_Runes_of_Ruination_EG6mZhr3ib56r974.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d20", "bonus": 4, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Scepter_GZh345N8fmuS4Jeh.json b/src/packs/items/weapons/weapon_Scepter_GZh345N8fmuS4Jeh.json index f1e85577..04ce4c4b 100644 --- a/src/packs/items/weapons/weapon_Scepter_GZh345N8fmuS4Jeh.json +++ b/src/packs/items/weapons/weapon_Scepter_GZh345N8fmuS4Jeh.json @@ -11,8 +11,8 @@ "type": "attack", "damage": { "includeBase": false, - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -38,7 +38,7 @@ } } } - } + ] }, "range": "melee", "roll": { @@ -115,8 +115,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": null, @@ -142,7 +142,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Scepter_of_Elias_acPGwIaUhx3R0mTq.json b/src/packs/items/weapons/weapon_Scepter_of_Elias_acPGwIaUhx3R0mTq.json index f2c13441..8c8e50af 100644 --- a/src/packs/items/weapons/weapon_Scepter_of_Elias_acPGwIaUhx3R0mTq.json +++ b/src/packs/items/weapons/weapon_Scepter_of_Elias_acPGwIaUhx3R0mTq.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 3, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Shortbow_p9tdjQr2AZP19RYm.json b/src/packs/items/weapons/weapon_Shortbow_p9tdjQr2AZP19RYm.json index 56a791ba..82216a2d 100644 --- a/src/packs/items/weapons/weapon_Shortbow_p9tdjQr2AZP19RYm.json +++ b/src/packs/items/weapons/weapon_Shortbow_p9tdjQr2AZP19RYm.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 3, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Shortstaff_vHDHG3STcxTEfYAM.json b/src/packs/items/weapons/weapon_Shortstaff_vHDHG3STcxTEfYAM.json index 3dc3a137..0d468da8 100644 --- a/src/packs/items/weapons/weapon_Shortstaff_vHDHG3STcxTEfYAM.json +++ b/src/packs/items/weapons/weapon_Shortstaff_vHDHG3STcxTEfYAM.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 1, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json b/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json index 0ea874f8..84ae1a2a 100644 --- a/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json +++ b/src/packs/items/weapons/weapon_Shortsword_cjGZpXCoshEqi1FI.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": null, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Siphoning_Gauntlets_1N1jggda5DfdzdMj.json b/src/packs/items/weapons/weapon_Siphoning_Gauntlets_1N1jggda5DfdzdMj.json index 205aa4e0..0eb65689 100644 --- a/src/packs/items/weapons/weapon_Siphoning_Gauntlets_1N1jggda5DfdzdMj.json +++ b/src/packs/items/weapons/weapon_Siphoning_Gauntlets_1N1jggda5DfdzdMj.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 9, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Sledge_Axe_OxsEmffWriiQmqJK.json b/src/packs/items/weapons/weapon_Sledge_Axe_OxsEmffWriiQmqJK.json index d0230362..b5ffe457 100644 --- a/src/packs/items/weapons/weapon_Sledge_Axe_OxsEmffWriiQmqJK.json +++ b/src/packs/items/weapons/weapon_Sledge_Axe_OxsEmffWriiQmqJK.json @@ -20,8 +20,8 @@ "amount": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "applyTo": "stress", "value": { "custom": { @@ -46,7 +46,7 @@ "base": false, "type": [] } - }, + ], "includeBase": false }, "_id": "0qVTvNMfapVST3sQ", @@ -104,8 +104,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 13, @@ -131,7 +131,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json b/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json index 058d138e..5b63acd7 100644 --- a/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json +++ b/src/packs/items/weapons/weapon_Small_Dagger_wKklDxs5nkzILNp4.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "type": [ "physical" ], @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Spear_TF85tKJetUjLwh54.json b/src/packs/items/weapons/weapon_Spear_TF85tKJetUjLwh54.json index a0ebc4ec..ea217ad9 100644 --- a/src/packs/items/weapons/weapon_Spear_TF85tKJetUjLwh54.json +++ b/src/packs/items/weapons/weapon_Spear_TF85tKJetUjLwh54.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 3, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Spiked_Bow_O1w8KPYH85ZS8X64.json b/src/packs/items/weapons/weapon_Spiked_Bow_O1w8KPYH85ZS8X64.json index 5421fc10..99faed64 100644 --- a/src/packs/items/weapons/weapon_Spiked_Bow_O1w8KPYH85ZS8X64.json +++ b/src/packs/items/weapons/weapon_Spiked_Bow_O1w8KPYH85ZS8X64.json @@ -11,8 +11,8 @@ "type": "attack", "damage": { "includeBase": false, - "parts": { - "hitPoints": { + "parts": [ + { "resultBased": false, "value": { "custom": { @@ -36,7 +36,7 @@ } } } - } + ] }, "range": "melee", "roll": { @@ -113,8 +113,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 7, @@ -140,7 +140,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Spiked_Shield_vzyzFwLUniWZV1rt.json b/src/packs/items/weapons/weapon_Spiked_Shield_vzyzFwLUniWZV1rt.json index 2dd08026..edadecf9 100644 --- a/src/packs/items/weapons/weapon_Spiked_Shield_vzyzFwLUniWZV1rt.json +++ b/src/packs/items/weapons/weapon_Spiked_Shield_vzyzFwLUniWZV1rt.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 2, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Steelforged_Halberd_6bkbw4Ap644KZGvJ.json b/src/packs/items/weapons/weapon_Steelforged_Halberd_6bkbw4Ap644KZGvJ.json index 1fccc471..c4730e94 100644 --- a/src/packs/items/weapons/weapon_Steelforged_Halberd_6bkbw4Ap644KZGvJ.json +++ b/src/packs/items/weapons/weapon_Steelforged_Halberd_6bkbw4Ap644KZGvJ.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 4, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Swinging_Ropeblade_1jOJHHKdtk3s2jaY.json b/src/packs/items/weapons/weapon_Swinging_Ropeblade_1jOJHHKdtk3s2jaY.json index cd9490f2..b8fe04b6 100644 --- a/src/packs/items/weapons/weapon_Swinging_Ropeblade_1jOJHHKdtk3s2jaY.json +++ b/src/packs/items/weapons/weapon_Swinging_Ropeblade_1jOJHHKdtk3s2jaY.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 9, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Sword_of_Light___Flame_TVPCWnSELOVBv6G1.json b/src/packs/items/weapons/weapon_Sword_of_Light___Flame_TVPCWnSELOVBv6G1.json index 63112b3e..7a74cf3d 100644 --- a/src/packs/items/weapons/weapon_Sword_of_Light___Flame_TVPCWnSELOVBv6G1.json +++ b/src/packs/items/weapons/weapon_Sword_of_Light___Flame_TVPCWnSELOVBv6G1.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 11, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Talon_Blades_jlLtgK468rO5IssR.json b/src/packs/items/weapons/weapon_Talon_Blades_jlLtgK468rO5IssR.json index a7c96705..13542a63 100644 --- a/src/packs/items/weapons/weapon_Talon_Blades_jlLtgK468rO5IssR.json +++ b/src/packs/items/weapons/weapon_Talon_Blades_jlLtgK468rO5IssR.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 7, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json b/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json index 18f635eb..65fef12a 100644 --- a/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json +++ b/src/packs/items/weapons/weapon_Thistlebow_I1nDGpulg29GpWOW.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 13, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Tower_Shield_C9aWpK1shVMWP4m5.json b/src/packs/items/weapons/weapon_Tower_Shield_C9aWpK1shVMWP4m5.json index 47043c54..d49b7de7 100644 --- a/src/packs/items/weapons/weapon_Tower_Shield_C9aWpK1shVMWP4m5.json +++ b/src/packs/items/weapons/weapon_Tower_Shield_C9aWpK1shVMWP4m5.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": null, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Urok_Broadsword_zGm6Wa1fGF6cECY5.json b/src/packs/items/weapons/weapon_Urok_Broadsword_zGm6Wa1fGF6cECY5.json index 6727c333..708e920f 100644 --- a/src/packs/items/weapons/weapon_Urok_Broadsword_zGm6Wa1fGF6cECY5.json +++ b/src/packs/items/weapons/weapon_Urok_Broadsword_zGm6Wa1fGF6cECY5.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 3, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Wand_ItWisJFNGMNWeaCV.json b/src/packs/items/weapons/weapon_Wand_ItWisJFNGMNWeaCV.json index 8084f261..35fc7866 100644 --- a/src/packs/items/weapons/weapon_Wand_ItWisJFNGMNWeaCV.json +++ b/src/packs/items/weapons/weapon_Wand_ItWisJFNGMNWeaCV.json @@ -41,8 +41,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 1, @@ -68,7 +68,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Wand_of_Enthrallment_tP6vmnrmTq2h5sj7.json b/src/packs/items/weapons/weapon_Wand_of_Enthrallment_tP6vmnrmTq2h5sj7.json index 84c7b3f2..f2b2f308 100644 --- a/src/packs/items/weapons/weapon_Wand_of_Enthrallment_tP6vmnrmTq2h5sj7.json +++ b/src/packs/items/weapons/weapon_Wand_of_Enthrallment_tP6vmnrmTq2h5sj7.json @@ -85,8 +85,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -112,7 +112,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Wand_of_Essek_ZrRGNjGCgZTTfgDG.json b/src/packs/items/weapons/weapon_Wand_of_Essek_ZrRGNjGCgZTTfgDG.json index d788d008..23fb1003 100644 --- a/src/packs/items/weapons/weapon_Wand_of_Essek_ZrRGNjGCgZTTfgDG.json +++ b/src/packs/items/weapons/weapon_Wand_of_Essek_ZrRGNjGCgZTTfgDG.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 13, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json b/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json index 0c57dd50..e80ddfad 100644 --- a/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json +++ b/src/packs/items/weapons/weapon_War_Scythe_z6yEdFYQJ5IzgTX3.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d8", "bonus": 5, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Warhammer_ZXh1GQahBiODfSTC.json b/src/packs/items/weapons/weapon_Warhammer_ZXh1GQahBiODfSTC.json index a94950c7..50b1a829 100644 --- a/src/packs/items/weapons/weapon_Warhammer_ZXh1GQahBiODfSTC.json +++ b/src/packs/items/weapons/weapon_Warhammer_ZXh1GQahBiODfSTC.json @@ -49,8 +49,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d12", "bonus": 3, @@ -76,7 +76,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Whip_CmtWqw6DwoePnX7W.json b/src/packs/items/weapons/weapon_Whip_CmtWqw6DwoePnX7W.json index 287d8afe..2e548ab6 100644 --- a/src/packs/items/weapons/weapon_Whip_CmtWqw6DwoePnX7W.json +++ b/src/packs/items/weapons/weapon_Whip_CmtWqw6DwoePnX7W.json @@ -78,8 +78,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": null, @@ -105,7 +105,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Widogast_Pendant_8Z5QrThfwkYPXNco.json b/src/packs/items/weapons/weapon_Widogast_Pendant_8Z5QrThfwkYPXNco.json index 44e4dfd6..a03efe6b 100644 --- a/src/packs/items/weapons/weapon_Widogast_Pendant_8Z5QrThfwkYPXNco.json +++ b/src/packs/items/weapons/weapon_Widogast_Pendant_8Z5QrThfwkYPXNco.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d10", "bonus": 5, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/items/weapons/weapon_Yutari_Bloodbow_0XpSBYXxtywvBFQi.json b/src/packs/items/weapons/weapon_Yutari_Bloodbow_0XpSBYXxtywvBFQi.json index 17e02976..d07a986e 100644 --- a/src/packs/items/weapons/weapon_Yutari_Bloodbow_0XpSBYXxtywvBFQi.json +++ b/src/packs/items/weapons/weapon_Yutari_Bloodbow_0XpSBYXxtywvBFQi.json @@ -71,8 +71,8 @@ "useDefault": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "dice": "d6", "bonus": 4, @@ -98,7 +98,7 @@ }, "base": false } - }, + ], "includeBase": false }, "description": "", diff --git a/src/packs/subclasses/feature_Battle_Ritual_qqb5acyUSl1sCpWW.json b/src/packs/subclasses/feature_Battle_Ritual_qqb5acyUSl1sCpWW.json index 2b012aee..6dee9f9d 100644 --- a/src/packs/subclasses/feature_Battle_Ritual_qqb5acyUSl1sCpWW.json +++ b/src/packs/subclasses/feature_Battle_Ritual_qqb5acyUSl1sCpWW.json @@ -23,8 +23,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -49,7 +49,7 @@ }, "type": [] }, - "hope": { + { "value": { "custom": { "enabled": true, @@ -74,7 +74,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Clarity_of_Nature_etaQ01yGJhBLDUqZ.json b/src/packs/subclasses/feature_Clarity_of_Nature_etaQ01yGJhBLDUqZ.json index 886f0b61..09d6f953 100644 --- a/src/packs/subclasses/feature_Clarity_of_Nature_etaQ01yGJhBLDUqZ.json +++ b/src/packs/subclasses/feature_Clarity_of_Nature_etaQ01yGJhBLDUqZ.json @@ -22,8 +22,8 @@ "recovery": "longRest" }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -48,7 +48,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Dark_Cloud_frBTtNMX9Y2gkuPz.json b/src/packs/subclasses/feature_Dark_Cloud_frBTtNMX9Y2gkuPz.json index d0bd5c22..95534b9f 100644 --- a/src/packs/subclasses/feature_Dark_Cloud_frBTtNMX9Y2gkuPz.json +++ b/src/packs/subclasses/feature_Dark_Cloud_frBTtNMX9Y2gkuPz.json @@ -22,7 +22,7 @@ "recovery": null }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Elemental_Aura_2JH9NaOh69yN80Gw.json b/src/packs/subclasses/feature_Elemental_Aura_2JH9NaOh69yN80Gw.json index 7a3ebd91..7dbae2f6 100644 --- a/src/packs/subclasses/feature_Elemental_Aura_2JH9NaOh69yN80Gw.json +++ b/src/packs/subclasses/feature_Elemental_Aura_2JH9NaOh69yN80Gw.json @@ -22,8 +22,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -48,7 +48,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -134,7 +134,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json b/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json index 45ffde60..30ffb50b 100644 --- a/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json +++ b/src/packs/subclasses/feature_Elemental_Incarnation_f37TTgCc0Q3Ih1A1.json @@ -29,8 +29,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -56,7 +56,7 @@ } } } - }, + ], "includeBase": false }, "target": { @@ -148,8 +148,8 @@ "recovery": null }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -174,7 +174,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Gifted_Performer_99U7YWNCxFZHCiT0.json b/src/packs/subclasses/feature_Gifted_Performer_99U7YWNCxFZHCiT0.json index f65cd041..33d5af92 100644 --- a/src/packs/subclasses/feature_Gifted_Performer_99U7YWNCxFZHCiT0.json +++ b/src/packs/subclasses/feature_Gifted_Performer_99U7YWNCxFZHCiT0.json @@ -21,8 +21,8 @@ "recovery": "longRest" }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -47,7 +47,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -115,8 +115,8 @@ "recovery": "longRest" }, "damage": { - "parts": { - "hope": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -141,7 +141,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Honed_Expertise_w1BwNKxbQOSizLmZ.json b/src/packs/subclasses/feature_Honed_Expertise_w1BwNKxbQOSizLmZ.json index 48973ad9..1fad2396 100644 --- a/src/packs/subclasses/feature_Honed_Expertise_w1BwNKxbQOSizLmZ.json +++ b/src/packs/subclasses/feature_Honed_Expertise_w1BwNKxbQOSizLmZ.json @@ -23,7 +23,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Natural_Evasion_TnuLBtHQGbqyzn82.json b/src/packs/subclasses/feature_Natural_Evasion_TnuLBtHQGbqyzn82.json index 517e1fe1..628fabed 100644 --- a/src/packs/subclasses/feature_Natural_Evasion_TnuLBtHQGbqyzn82.json +++ b/src/packs/subclasses/feature_Natural_Evasion_TnuLBtHQGbqyzn82.json @@ -31,7 +31,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Regeneration_KRyrbSLVGreIOTZe.json b/src/packs/subclasses/feature_Regeneration_KRyrbSLVGreIOTZe.json index ab748169..b7c39f2a 100644 --- a/src/packs/subclasses/feature_Regeneration_KRyrbSLVGreIOTZe.json +++ b/src/packs/subclasses/feature_Regeneration_KRyrbSLVGreIOTZe.json @@ -29,8 +29,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": false @@ -54,7 +54,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Revenge_oNfA5F9cKwNR7joq.json b/src/packs/subclasses/feature_Revenge_oNfA5F9cKwNR7joq.json index b7e2e8b9..f663201d 100644 --- a/src/packs/subclasses/feature_Revenge_oNfA5F9cKwNR7joq.json +++ b/src/packs/subclasses/feature_Revenge_oNfA5F9cKwNR7joq.json @@ -29,8 +29,8 @@ "recovery": null }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -55,7 +55,7 @@ } } } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Rousing_Speech_PCmYTX02JLzBpgml.json b/src/packs/subclasses/feature_Rousing_Speech_PCmYTX02JLzBpgml.json index ab7b4972..f1596519 100644 --- a/src/packs/subclasses/feature_Rousing_Speech_PCmYTX02JLzBpgml.json +++ b/src/packs/subclasses/feature_Rousing_Speech_PCmYTX02JLzBpgml.json @@ -21,8 +21,8 @@ "recovery": "longRest" }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -47,7 +47,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Sparing_Touch_GfOSgVJW8bS1OjNq.json b/src/packs/subclasses/feature_Sparing_Touch_GfOSgVJW8bS1OjNq.json index 86de0fe8..deb4af6b 100644 --- a/src/packs/subclasses/feature_Sparing_Touch_GfOSgVJW8bS1OjNq.json +++ b/src/packs/subclasses/feature_Sparing_Touch_GfOSgVJW8bS1OjNq.json @@ -39,8 +39,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -65,7 +65,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { @@ -116,8 +116,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "stress": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -142,7 +142,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Thrive_in_Chaos_1nmFmkNXY6OYyyju.json b/src/packs/subclasses/feature_Thrive_in_Chaos_1nmFmkNXY6OYyyju.json index b65184e9..bbdd8707 100644 --- a/src/packs/subclasses/feature_Thrive_in_Chaos_1nmFmkNXY6OYyyju.json +++ b/src/packs/subclasses/feature_Thrive_in_Chaos_1nmFmkNXY6OYyyju.json @@ -31,7 +31,7 @@ "consumeOnSuccess": false }, "damage": { - "parts": {}, + "parts": [], "includeBase": false }, "target": { diff --git a/src/packs/subclasses/feature_Warden_s_Protection_2F1bUFY80oce97C9.json b/src/packs/subclasses/feature_Warden_s_Protection_2F1bUFY80oce97C9.json index 0c6ad3e3..e80a770a 100644 --- a/src/packs/subclasses/feature_Warden_s_Protection_2F1bUFY80oce97C9.json +++ b/src/packs/subclasses/feature_Warden_s_Protection_2F1bUFY80oce97C9.json @@ -23,8 +23,8 @@ "consumeOnSuccess": false }, "damage": { - "parts": { - "hitPoints": { + "parts": [ + { "value": { "custom": { "enabled": true, @@ -49,7 +49,7 @@ }, "type": [] } - }, + ], "includeBase": false }, "target": { diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less index c33557b1..f5e92e2c 100755 --- a/styles/less/global/elements.less +++ b/styles/less/global/elements.less @@ -333,15 +333,6 @@ legend { font-weight: bold; color: light-dark(@dark-blue, @golden); - - &.with-icon { - display: flex; - align-items: center; - - i { - padding: 0 4px; - } - } } input[type='text'], @@ -574,11 +565,60 @@ } .application.setting.dh-style { - h2, - h3, - h4 { - margin: 8px 0 4px; - text-align: center; + fieldset { + h2, + h3, + h4 { + margin: 8px 0 4px; + text-align: center; + } + .title-hint { + font-size: var(--font-size-12); + font-variant: small-caps; + text-align: center; + } + + .field-section { + display: flex; + flex-direction: column; + gap: 10px; + + .split-section { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 10px; + } + } + + .label-container { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 10px; + + &.full-width { + grid-template-columns: 1fr 1fr 1fr 1fr; + + select { + grid-column: span 3; + } + } + + label { + align-self: center; + text-align: center; + white-space: nowrap; + } + } + + .button-container { + display: grid; + grid-template-columns: 1fr; + gap: 10px; + text-align: center; + display: flex; + justify-content: center; + width: 100%; + } } footer { diff --git a/styles/less/global/global.less b/styles/less/global/global.less index b9af67c0..fb995b8c 100644 --- a/styles/less/global/global.less +++ b/styles/less/global/global.less @@ -73,24 +73,6 @@ } } } - - .item-tags { - display: flex; - gap: 10px; - - .tag { - align-items: center; - background: light-dark(@dark-15, @beige-15); - border-radius: 3px; - border: 1px solid light-dark(@dark, @beige); - display: flex; - flex-direction: row; - flex-wrap: wrap; - font-size: var(--font-size-12); - justify-content: start; - padding: 3px 5px; - } - } } /* TODO: Remove me when this issue is resolved https://github.com/foundryvtt/foundryvtt/issues/13734 */ diff --git a/styles/less/global/inventory-item.less b/styles/less/global/inventory-item.less index 4bd4d0bb..d703d189 100644 --- a/styles/less/global/inventory-item.less +++ b/styles/less/global/inventory-item.less @@ -138,6 +138,24 @@ display: none; } } + + .item-tags { + display: flex; + gap: 10px; + + .tag { + align-items: center; + background: light-dark(@dark-15, @beige-15); + border-radius: 3px; + border: 1px solid light-dark(@dark, @beige); + display: flex; + flex-direction: row; + flex-wrap: wrap; + font-size: var(--font-size-12); + justify-content: start; + padding: 3px 5px; + } + } } .item-resource { diff --git a/styles/less/sheets/actions/actions.less b/styles/less/sheets/actions/actions.less index 5c21dc60..9be56c8e 100644 --- a/styles/less/sheets/actions/actions.less +++ b/styles/less/sheets/actions/actions.less @@ -4,78 +4,48 @@ display: flex; flex-direction: column; gap: 10px; - } - .transform-container { - width: 100%; - display: flex; - flex-direction: column; - gap: 10px; - - .transform-resources { + .actor-summon-line { display: flex; - flex-direction: column; + align-items: center; + gap: 5px; + border-radius: 3px; - .transform-resource { + .actor-summon-name { + flex: 2; display: flex; align-items: center; - gap: 2px; + gap: 5px; - .resource-title { - font-size: var(--font-size-18); + img { + height: 40px; + } + } + + .actor-summon-controls { + flex: 1; + display: flex; + align-items: center; + gap: 5px; + + .controls { + display: flex; + gap: 5px; } } } - } - .actor-drop-line { - display: flex; - align-items: center; - gap: 5px; - border-radius: 3px; - - .actor-drop-name { - flex: 2; + .summon-dragger { display: flex; align-items: center; - gap: 5px; - - img { - height: 40px; - } + justify-content: center; + box-sizing: border-box; + height: 40px; + margin-top: 10px; + border: 1px dashed light-dark(@dark-blue-50, @beige-50); + border-radius: 3px; + color: light-dark(@dark-blue-50, @beige-50); } - - .actor-drop-controls { - flex: 1; - display: flex; - align-items: center; - gap: 5px; - - &.transform { - justify-content: flex-end; - } - - .controls { - display: flex; - gap: 5px; - } - } - - .actor-drop-hint { - flex: none; - } - } - - .drop-dragger { - display: flex; - align-items: center; - justify-content: center; - box-sizing: border-box; - height: 40px; - margin-top: 10px; - border: 1px dashed light-dark(@dark-blue-50, @beige-50); - border-radius: 3px; - color: light-dark(@dark-blue-50, @beige-50); } .trigger-data { diff --git a/styles/less/sheets/actors/character/header.less b/styles/less/sheets/actors/character/header.less index 31fd4256..5e8ef002 100644 --- a/styles/less/sheets/actors/character/header.less +++ b/styles/less/sheets/actors/character/header.less @@ -133,19 +133,8 @@ padding: 0; margin-bottom: 15px; - .resource-section { - display: flex; - align-items: center; - gap: 4px; + .hope-section { margin-right: 20px; - - .resource-manager { - transition: all 0.1s ease; - - &.inverted { - transform: rotate(180deg); - } - } } .downtime-section { diff --git a/styles/less/ui/chat/chat.less b/styles/less/ui/chat/chat.less index e9ef9147..3591fc65 100644 --- a/styles/less/ui/chat/chat.less +++ b/styles/less/ui/chat/chat.less @@ -450,10 +450,6 @@ .target-data { flex: 1; - - .target-name { - text-align: left; - } } .target-save { diff --git a/styles/less/ui/index.less b/styles/less/ui/index.less index 31ea8955..065e43c5 100644 --- a/styles/less/ui/index.less +++ b/styles/less/ui/index.less @@ -27,8 +27,6 @@ @import './settings/settings.less'; @import './settings/homebrew-settings/domains.less'; @import './settings/homebrew-settings/types.less'; -@import './settings/homebrew-settings/resources.less'; -@import './settings/appearance-settings/diceSoNice.less'; @import './sidebar/tabs.less'; @import './sidebar/daggerheartMenu.less'; diff --git a/styles/less/ui/item-browser/item-browser.less b/styles/less/ui/item-browser/item-browser.less index f558a0ba..b395f8c8 100644 --- a/styles/less/ui/item-browser/item-browser.less +++ b/styles/less/ui/item-browser/item-browser.less @@ -304,15 +304,7 @@ padding: 0 0 0 50px; display: flex; flex-direction: column; - - .item-description-outer-container:has(div, p) { - margin-top: 8px; - } - - /* Some items don't include an outer container, so we attempt a catch-all */ - > *:last-child { - padding-bottom: 6px; - } + gap: 5px; h1 { font-size: var(--font-size-32); @@ -358,7 +350,6 @@ .filter-content, .item-desc { display: grid; - opacity: 0; grid-template-rows: 0fr; transition: all 0.3s ease-in-out; width: 100%; @@ -387,8 +378,8 @@ } .expanded + .extensible { - opacity: 1; grid-template-rows: 1fr; + padding-top: 10px; } .welcome-message { diff --git a/styles/less/ui/settings/appearance-settings/diceSoNice.less b/styles/less/ui/settings/appearance-settings/diceSoNice.less deleted file mode 100644 index 079bebc5..00000000 --- a/styles/less/ui/settings/appearance-settings/diceSoNice.less +++ /dev/null @@ -1,72 +0,0 @@ -.daggerheart.dh-style.setting.appearance-settings { - .tab.active[data-tab='diceSoNice'] { - display: flex; - flex-direction: column; - align-items: center; - gap: 0.5rem; - } - - .diceSoNice-footer { - display: grid; - align-items: center; - grid-template-columns: 1fr 1fr 1fr 1fr; - gap: 8px; - margin-top: 32px; - - label { - text-align: center; - } - - select { - grid-column: span 2; - } - } - - .title-hint { - font-size: var(--font-size-14); - font-variant: small-caps; - text-align: center; - } - - .split-section { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 10px; - - > label { - grid-column: span 2; - text-align: center; - font-size: var(--font-size-18); - font-weight: bold; - } - } - - .field-section { - display: flex; - flex-direction: column; - gap: 10px; - margin-bottom: 4px; - width: 100%; - padding: 0 8px; - } - - .label-container { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 10px; - - &.full-width { - grid-template-columns: 1fr 1fr 1fr 1fr; - - select { - grid-column: span 3; - } - } - - label { - align-self: center; - text-align: center; - white-space: nowrap; - } - } -} diff --git a/styles/less/ui/settings/homebrew-settings/resources.less b/styles/less/ui/settings/homebrew-settings/resources.less deleted file mode 100644 index 5333e54d..00000000 --- a/styles/less/ui/settings/homebrew-settings/resources.less +++ /dev/null @@ -1,87 +0,0 @@ -.daggerheart.dh-style.setting.homebrew-settings .resources.tab { - .resource-types-container { - display: flex; - flex-direction: column; - gap: 16px; - overflow: auto; - max-height: 570px; - - fieldset legend { - display: flex; - align-items: center; - gap: 4px; - } - - .resource-type-container { - width: 100%; - - .resources-container { - display: flex; - flex-direction: column; - gap: 4px; - - .resource-container { - .resource-icons-container { - display: flex; - justify-content: space-between; - gap: 8px; - width: 100%; - - .resource-icon-container { - display: flex; - flex-direction: column; - gap: 4px; - flex: 1; - - .resource-icon-title-container { - display: flex; - align-items: center; - justify-content: center; - gap: 4px; - - &::before, - &::after { - color: @dark-blue; - content: ''; - flex: 1; - height: 2px; - } - - &::before { - background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, @golden 100%); - } - - &::after { - background: linear-gradient(90deg, @golden 0%, rgba(0, 0, 0, 0) 100%); - } - - .resource-icon-title { - font-size: var(--font-size-16); - white-space: nowrap; - display: flex; - align-items: center; - gap: 4px; - color: light-dark(@dark-blue, @golden); - - i { - font-size: 14px; - } - } - } - } - } - } - } - } - } - - .two-columns { - width: 100%; - } - - .form-group.vertical { - > * { - flex: 0 0 100%; - } - } -} diff --git a/styles/less/ux/index.less b/styles/less/ux/index.less index c6c40f78..0bd1b71e 100644 --- a/styles/less/ux/index.less +++ b/styles/less/ux/index.less @@ -4,5 +4,3 @@ @import './tooltip/domain-cards.less'; @import './autocomplete/autocomplete.less'; - -@import './tooltip/resource-management.less'; diff --git a/styles/less/ux/tooltip/resource-management.less b/styles/less/ux/tooltip/resource-management.less deleted file mode 100644 index ff1f4dd2..00000000 --- a/styles/less/ux/tooltip/resource-management.less +++ /dev/null @@ -1,56 +0,0 @@ -.bordered-tooltip.locked-tooltip .daggerheart.resource-management-container, -#tooltip .daggerheart.resource-management-container { - display: flex; - flex-direction: column; - gap: 16px; - - .resource-section { - position: relative; - display: flex; - gap: 10px; - background-color: light-dark(transparent, @dark-blue); - color: light-dark(@dark-blue, @golden); - padding: 5px 10px; - border: 1px solid light-dark(@dark-blue, @golden); - border-radius: 6px; - align-items: center; - width: fit-content; - height: 30px; - - h4 { - font-family: var(--dh-font-body, 'Montserrat'), sans-serif; - font-size: var(--font-size-14); - font-weight: bold; - text-transform: uppercase; - color: light-dark(@dark-blue, @golden); - margin: 0; - } - - .resource-value { - display: flex; - cursor: pointer; - - .hidden { - display: none; - } - - img { - width: 14px; - height: 14px; - - &.empty { - opacity: 0.4; - } - - &.filter { - filter: @golden-filter; - } - - &.non-transparent { - border-radius: 50%; - border: 1px solid @golden; - } - } - } - } -} diff --git a/system.json b/system.json index 41e46edb..14d61851 100644 --- a/system.json +++ b/system.json @@ -5,7 +5,7 @@ "version": "2.0.0", "compatibility": { "minimum": "14.355", - "verified": "14.356", + "verified": "14.355", "maximum": "14" }, "authors": [ diff --git a/templates/actionTypes/damage.hbs b/templates/actionTypes/damage.hbs index 6f159a2d..96bb361c 100644 --- a/templates/actionTypes/damage.hbs +++ b/templates/actionTypes/damage.hbs @@ -1,12 +1,12 @@
- + {{#if (eq @root.source.type 'healing')}} {{localize "DAGGERHEART.GENERAL.healing"}} {{else}} {{localize "DAGGERHEART.GENERAL.damage"}} {{/if}} - {{#unless (eq path 'system.attack.')}}{{/unless}} + {{#unless (eq path 'system.attack.')}}{{/unless}}
{{#if @root.hasBaseDamage}} @@ -16,72 +16,75 @@ {{formField directField value=source.direct name=(concat path "damage.direct") localize=true classes="checkbox"}} {{/unless}}
- {{#each source.parts as |dmg key|}} + {{#each source.parts as |dmg index|}} + {{#if (and @root.hasBaseDamage @root.source.damage.includeBase)}} + {{setVar 'realIndex' (add index -1)}} + {{else}} + {{setVar 'realIndex' index}} + {{/if}}
- - {{localize (concat "DAGGERHEART.CONFIG.HealingType." key ".name")}} - {{#unless (or dmg.base ../path)}} - - {{/unless}} - - {{#if (and (not @root.isNPC) @root.hasRoll (not dmg.base))}} - {{formField ../fields.resultBased value=dmg.resultBased name=(concat "damage.parts." key ".resultBased") localize=true classes="checkbox"}} + {{formField ../fields.resultBased value=dmg.resultBased name=(concat "damage.parts." realIndex ".resultBased") localize=true classes="checkbox"}} {{/if}} {{#if (and (not @root.isNPC) @root.hasRoll (not dmg.base) dmg.resultBased)}}
{{localize "DAGGERHEART.GENERAL.withThing" thing=(localize "DAGGERHEART.GENERAL.hope")}} - {{> formula fields=../fields.value.fields type=../fields.type dmg=dmg source=dmg.value target="value" key=key path=../path}} + {{> formula fields=../fields.value.fields type=../fields.type dmg=dmg source=dmg.value target="value" realIndex=realIndex path=../path}}
{{localize "DAGGERHEART.GENERAL.withThing" thing=(localize "DAGGERHEART.GENERAL.fear")}} - {{> formula fields=../fields.valueAlt.fields type=../fields.type dmg=dmg source=dmg.valueAlt target="valueAlt" key=key path=../path}} + {{> formula fields=../fields.valueAlt.fields type=../fields.type dmg=dmg source=dmg.valueAlt target="valueAlt" realIndex=realIndex path=../path}}
{{else}} - {{> formula fields=../fields.value.fields type=../fields.type dmg=dmg source=dmg.value target="value" key=key path=../path}} + + {{localize "DAGGERHEART.GENERAL.formula"}} + {{> formula fields=../fields.value.fields type=../fields.type dmg=dmg source=dmg.value target="value" realIndex=realIndex path=../path}} +
{{/if}} - - {{#if (and (eq dmg.applyTo 'hitPoints') (ne @root.source.type 'healing'))}} - {{formField ../fields.type value=dmg.type name=(concat ../path "damage.parts." key ".type") localize=true}} - {{/if}} - +
+ {{formField ../fields.applyTo value=dmg.applyTo name=(concat ../path "damage.parts." realIndex ".applyTo") localize=true}} + {{#if (and (eq dmg.applyTo 'hitPoints') (ne @root.source.type 'healing'))}} + {{formField ../fields.type value=dmg.type name=(concat ../path "damage.parts." realIndex ".type") localize=true}} + {{/if}} +
{{#if ../horde}}
{{localize "DAGGERHEART.ACTORS.Adversary.hordeDamage"}}
- - {{formField ../fields.valueAlt.fields.flatMultiplier value=dmg.valueAlt.flatMultiplier name=(concat ../path "damage.parts." key ".valueAlt.flatMultiplier") label="DAGGERHEART.ACTIONS.Settings.multiplier" classes="inline-child" localize=true }} - {{formField ../fields.valueAlt.fields.dice value=dmg.valueAlt.dice name=(concat ../path "damage.parts." key ".valueAlt.dice") classes="inline-child" localize=true}} - {{formField ../fields.valueAlt.fields.bonus value=dmg.valueAlt.bonus name=(concat ../path "damage.parts." key ".valueAlt.bonus") localize=true classes="inline-child"}} + + {{formField ../fields.valueAlt.fields.flatMultiplier value=dmg.valueAlt.flatMultiplier name=(concat ../path "damage.parts." realIndex ".valueAlt.flatMultiplier") label="DAGGERHEART.ACTIONS.Settings.multiplier" classes="inline-child" localize=true }} + {{formField ../fields.valueAlt.fields.dice value=dmg.valueAlt.dice name=(concat ../path "damage.parts." realIndex ".valueAlt.dice") classes="inline-child" localize=true}} + {{formField ../fields.valueAlt.fields.bonus value=dmg.valueAlt.bonus name=(concat ../path "damage.parts." realIndex ".valueAlt.bonus") localize=true classes="inline-child"}}
{{/if}} - + + {{#unless (or dmg.base ../path)}}
{{/unless}} {{/each}} {{#*inline "formula"}} {{#unless dmg.base}} - {{formField fields.custom.fields.enabled value=source.custom.enabled name=(concat path "damage.parts." key "." target ".custom.enabled") classes="checkbox" localize=true}} + {{formField fields.custom.fields.enabled value=source.custom.enabled name=(concat path "damage.parts." realIndex "." target ".custom.enabled") classes="checkbox" localize=true}} {{/unless}} {{#if source.custom.enabled}} - {{formField fields.custom.fields.formula value=source.custom.formula name=(concat path "damage.parts." key "." target ".custom.formula") localize=true}} + {{formField fields.custom.fields.formula value=source.custom.formula name=(concat path "damage.parts." realIndex "." target ".custom.formula") localize=true}} {{else}}
{{#unless @root.isNPC}} - {{formField fields.multiplier value=source.multiplier name=(concat path "damage.parts." key "." target ".multiplier") localize=true}} + {{formField fields.multiplier value=source.multiplier name=(concat path "damage.parts." realIndex "." target ".multiplier") localize=true}} {{/unless}} - {{#if (eq source.multiplier 'flat')}}{{formField fields.flatMultiplier value=source.flatMultiplier name=(concat path "damage.parts." key "." target ".flatMultiplier") localize=true }}{{/if}} - {{formField fields.dice value=source.dice name=(concat path "damage.parts." key "." target ".dice") localize=true}} - {{formField fields.bonus value=source.bonus name=(concat path "damage.parts." key "." target ".bonus") localize=true}} + {{#if (eq source.multiplier 'flat')}}{{formField fields.flatMultiplier value=source.flatMultiplier name=(concat path "damage.parts." realIndex "." target ".flatMultiplier") localize=true }}{{/if}} + {{formField fields.dice value=source.dice name=(concat path "damage.parts." realIndex "." target ".dice") localize=true}} + {{formField fields.bonus value=source.bonus name=(concat path "damage.parts." realIndex "." target ".bonus") localize=true}}
{{/if}} {{#if @root.isNPC}} - + {{/if}} {{/inline}} \ No newline at end of file diff --git a/templates/actionTypes/summon.hbs b/templates/actionTypes/summon.hbs index 18fed2e2..429977d9 100644 --- a/templates/actionTypes/summon.hbs +++ b/templates/actionTypes/summon.hbs @@ -1,19 +1,19 @@ -
+
{{localize "DAGGERHEART.ACTIONS.TYPES.summon.name"}}
    {{#each @root.summons as |summon index|}} -
  • -
    +
  • +

    {{summon.actor.name}}

    -
    +
    @@ -43,7 +43,7 @@
  • {{/each}} -
    +
    {{localize "DAGGERHEART.ACTIONS.Settings.summon.dropSummonsHere"}}
diff --git a/templates/actionTypes/transform.hbs b/templates/actionTypes/transform.hbs deleted file mode 100644 index ae17862a..00000000 --- a/templates/actionTypes/transform.hbs +++ /dev/null @@ -1,62 +0,0 @@ -
- - {{localize "DAGGERHEART.ACTIONS.TYPES.transform.name"}} - - -
- {{#if transform.actor}} -
- {{#if transform.actor.error}} -
{{transform.actor.error}}
- {{else}} -
- -

- {{transform.actor.name}} -

-
- {{/if}} - -
-
- {{#unless transform.actor.error}} - - - - {{/unless}} - - - -
-
-
- - {{/if}} - - {{#unless transform.actor}} -
- {{localize "DAGGERHEART.ACTIONS.Settings.transform.dropTransformHere"}} -
- {{/unless}} - -
-
- - {{localize "DAGGERHEART.ACTIONS.Settings.transform.clearHitPoints"}} -
-
- - {{localize "DAGGERHEART.ACTIONS.Settings.transform.clearStress"}} -
-
-
-
\ No newline at end of file diff --git a/templates/settings/appearance-settings/diceSoNice.hbs b/templates/settings/appearance-settings/diceSoNice.hbs index afe7dd5a..6c89fd2f 100644 --- a/templates/settings/appearance-settings/diceSoNice.hbs +++ b/templates/settings/appearance-settings/diceSoNice.hbs @@ -1,37 +1,71 @@
+
{{localize "DAGGERHEART.SETTINGS.Menu.appearance.diceSoNice.hint"}}
-
- {{#if isGM}} -
- - -
- {{/if}} -
- -
- {{formInput fields.diceSoNice.fields.sfx.fields.critical.fields.class value=setting.diceSoNice.sfx.critical.class blank="" localize=true}} -
-
-
+
-
{{#each dsnTabs as |dsnTab|}} -
- {{> "systems/daggerheart/templates/settings/appearance-settings/diceSoNiceTab.hbs" dsnTab }} -
+
+
+
+ + {{formInput fields.system value=values.system localize=true choices=@root.diceSoNiceSystems}} +
+
+
+ + {{formInput fields.foreground value=values.foreground localize=true}} +
+
+ + {{formInput fields.background value=values.background localize=true}} +
+
+ + {{formInput fields.outline value=values.outline localize=true}} +
+
+ + {{formInput fields.edge value=values.edge localize=true}} +
+
+ + {{formInput fields.colorset value=values.colorset choices=@root.diceSoNiceColorsets localize=true}} +
+
+ + {{formInput fields.texture value=values.texture choices=@root.diceSoNiceTextures localize=true}} +
+
+ + {{formInput fields.material value=values.material choices=@root.diceSoNiceMaterials localize=true}} +
+
+ + {{formInput fields.font value=values.font choices=@root.diceSoNiceFonts localize=true}} +
+
+
+ +
+
+
{{/each}} +
\ No newline at end of file diff --git a/templates/settings/appearance-settings/diceSoNiceTab.hbs b/templates/settings/appearance-settings/diceSoNiceTab.hbs deleted file mode 100644 index a15b63ec..00000000 --- a/templates/settings/appearance-settings/diceSoNiceTab.hbs +++ /dev/null @@ -1,62 +0,0 @@ -
-

{{localize "DAGGERHEART.SETTINGS.Menu.appearance.diceSoNice.diceAppearance"}}

- -
- - {{formInput fields.system value=values.system localize=true choices=@root.diceSoNiceSystems}} -
-
-
- - {{formInput fields.foreground value=values.foreground localize=true}} -
-
- - {{formInput fields.background value=values.background localize=true}} -
-
- - {{formInput fields.outline value=values.outline localize=true}} -
-
- - {{formInput fields.edge value=values.edge localize=true}} -
-
- - {{formInput fields.colorset value=values.colorset choices=@root.diceSoNiceColorsets localize=true}} -
-
- - {{formInput fields.texture value=values.texture choices=@root.diceSoNiceTextures localize=true}} -
-
- - {{formInput fields.material value=values.material choices=@root.diceSoNiceMaterials localize=true}} -
-
- - {{formInput fields.font value=values.font choices=@root.diceSoNiceFonts localize=true}} -
-
- - {{#if animations}} -

{{localize "DAGGERHEART.SETTINGS.Menu.appearance.diceSoNice.animations"}}

-
- - {{formInput fields.sfx.fields.higher.fields.class value=values.sfx.higher.class blank="" localize=true}} -
- {{/if}} - - -
\ No newline at end of file diff --git a/templates/settings/homebrew-settings/resources.hbs b/templates/settings/homebrew-settings/resources.hbs deleted file mode 100644 index 7f3dee3e..00000000 --- a/templates/settings/homebrew-settings/resources.hbs +++ /dev/null @@ -1,78 +0,0 @@ -
-
- {{#each settingFields.resources as |type key|}} -
- - {{localize "DAGGERHEART.SETTINGS.Homebrew.resources.typeTitle" type=(localize (concat "TYPES.Actor." key))}} - - - -
-
- {{#each type.resources as |resource key|}} -
- {{resource.label}} - - {{formField @root.schemaFields.resources.element.fields.resources.element.fields.label value=resource.label name=(concat "resources." @../key ".resources." key ".label") classes="vertical" localize=true }} - -
- {{formField @root.schemaFields.resources.element.fields.resources.element.fields.initial value=resource.initial name=(concat "resources." @../key ".resources." key ".initial") classes="vertical" localize=true }} - {{formField @root.schemaFields.resources.element.fields.resources.element.fields.max value=resource.max name=(concat "resources." @../key ".resources." key ".max") classes="vertical" localize=true }} -
- -
-
- {{#with @root.schemaFields.resources.element.fields.resources.element.fields.images.fields.full.fields}} -
-
- {{localize "DAGGERHEART.SETTINGS.Homebrew.resources.filledIcon"}} - -
-
-
- {{#if ../images.full.isIcon}} - {{formGroup this.value value=../images.full.value name=(concat "resources." @../key ".resources." key ".images.full.value") localize=true }} - {{else}} -
- -
- {{/if}} - {{formGroup this.isIcon value=../images.full.isIcon name="" classes="path-field" localize=true }} - {{formGroup this.noColorFilter value=../images.full.noColorFilter name=(concat "resources." @../key ".resources." key ".images.full.noColorFilter") localize=true }} -
- {{/with}} -
-
- {{#with @root.schemaFields.resources.element.fields.resources.element.fields.images.fields.empty.fields}} -
-
- {{localize "DAGGERHEART.SETTINGS.Homebrew.resources.emptyIcon"}} - -
-
-
- {{#if ../images.empty.isIcon}} - {{formGroup this.value value=../images.empty.value name=(concat "resources." @../key ".resources." key ".images.empty.value") localize=true }} - {{else}} -
- -
- {{/if}} - {{formGroup this.isIcon value=resource.images.empty.isIcon name="" classes="path-field" localize=true }} - {{formGroup this.noColorFilter value=resource.images.empty.noColorFilter name=(concat "resources." @../key ".resources." key ".images.empty.noColorFilter") localize=true }} -
- {{/with}} -
-
-
- {{/each}} -
-
-
- {{/each}} -
-
\ No newline at end of file diff --git a/templates/settings/metagaming-settings/footer.hbs b/templates/settings/metagaming-settings/footer.hbs deleted file mode 100644 index 54939c17..00000000 --- a/templates/settings/metagaming-settings/footer.hbs +++ /dev/null @@ -1,10 +0,0 @@ -
- - -
\ No newline at end of file diff --git a/templates/settings/metagaming-settings/general.hbs b/templates/settings/metagaming-settings/general.hbs deleted file mode 100644 index 7f36715e..00000000 --- a/templates/settings/metagaming-settings/general.hbs +++ /dev/null @@ -1,3 +0,0 @@ -
- {{formGroup settingFields.schema.fields.hideObserverPermissionInChat value=settingFields._source.hideObserverPermissionInChat localize=true}} -
\ No newline at end of file diff --git a/templates/settings/metagaming-settings/header.hbs b/templates/settings/metagaming-settings/header.hbs deleted file mode 100644 index e0f72ee8..00000000 --- a/templates/settings/metagaming-settings/header.hbs +++ /dev/null @@ -1,3 +0,0 @@ -
-

{{localize 'DAGGERHEART.SETTINGS.Menu.metagaming.name'}}

-
\ No newline at end of file diff --git a/templates/sheets-settings/action-settings/effect.hbs b/templates/sheets-settings/action-settings/effect.hbs index 1bdd0304..e94f4328 100644 --- a/templates/sheets-settings/action-settings/effect.hbs +++ b/templates/sheets-settings/action-settings/effect.hbs @@ -11,5 +11,4 @@ {{#if fields.beastform}}{{> 'systems/daggerheart/templates/actionTypes/beastform.hbs' fields=fields.beastform.fields source=source.beastform}}{{/if}} {{#if fields.summon}}{{> 'systems/daggerheart/templates/actionTypes/summon.hbs' fields=fields.summon.element.fields source=source.summon}}{{/if}} {{#if fields.countdown}}{{> 'systems/daggerheart/templates/actionTypes/countdown.hbs' fields=fields.countdown.element.fields source=source.countdown}}{{/if}} - {{#if fields.transform}}{{> 'systems/daggerheart/templates/actionTypes/transform.hbs' fields=fields.transform.fields source=source.transform}}{{/if}} \ No newline at end of file diff --git a/templates/sheets-settings/adversary-settings/details.hbs b/templates/sheets-settings/adversary-settings/details.hbs index dc2fd386..065ebe74 100644 --- a/templates/sheets-settings/adversary-settings/details.hbs +++ b/templates/sheets-settings/adversary-settings/details.hbs @@ -20,11 +20,15 @@
- {{localize "DAGGERHEART.GENERAL.Resource.plural"}} - {{#each resources as |resource|}} - {{formGroup resource.field value=resource.value name=resource.name}} - {{/each}} -
+ {{localize "DAGGERHEART.GENERAL.HitPoints.plural"}} + {{formGroup systemFields.resources.fields.hitPoints.fields.value value=document._source.system.resources.hitPoints.value label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.resources.hitPoints.value.label")}} + {{formGroup systemFields.resources.fields.hitPoints.fields.max value=document._source.system.resources.hitPoints.max label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.resources.hitPoints.max.label")}} +
+
+ {{localize "DAGGERHEART.GENERAL.stress"}} + {{formGroup systemFields.resources.fields.stress.fields.value value=document._source.system.resources.stress.value label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.resources.stress.value.label")}} + {{formGroup systemFields.resources.fields.stress.fields.max value=document._source.system.resources.stress.max label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.resources.stress.max.label")}} +
@@ -32,4 +36,4 @@ {{formGroup systemFields.damageThresholds.fields.major value=document._source.system.damageThresholds.major label=(localize "DAGGERHEART.GENERAL.DamageThresholds.majorThreshold")}} {{formGroup systemFields.damageThresholds.fields.severe value=document._source.system.damageThresholds.severe label=(localize "DAGGERHEART.GENERAL.DamageThresholds.severeThreshold")}}
- + \ No newline at end of file diff --git a/templates/sheets-settings/character-settings/details.hbs b/templates/sheets-settings/character-settings/details.hbs index 4bda501e..3f9247e0 100644 --- a/templates/sheets-settings/character-settings/details.hbs +++ b/templates/sheets-settings/character-settings/details.hbs @@ -22,12 +22,15 @@ {{localize 'DAGGERHEART.GENERAL.basics'}}
- {{#each resources as |resource|}} - - {{formGroup resource.field value=resource.value name=resource.name}} - - {{/each}} + {{formGroup systemFields.resources.fields.hitPoints.fields.value value=document._source.system.resources.hitPoints.value localize=true}} + + {{formGroup systemFields.resources.fields.hitPoints.fields.max value=document._source.system.resources.hitPoints.max localize=true}} + + {{formGroup systemFields.resources.fields.stress.fields.value value=document._source.system.resources.stress.value localize=true}} + {{formGroup systemFields.resources.fields.stress.fields.max value=document._source.system.resources.stress.max localize=true}} + + {{formGroup systemFields.resources.fields.hope.fields.value value=document._source.system.resources.hope.value localize=true}} {{formGroup systemFields.scars value=document._source.system.scars localize=true}} {{formGroup systemFields.proficiency value=document._source.system.proficiency localize=true}} @@ -36,4 +39,4 @@
- + \ No newline at end of file diff --git a/templates/sheets-settings/companion-settings/details.hbs b/templates/sheets-settings/companion-settings/details.hbs index 6a602d38..88878d67 100644 --- a/templates/sheets-settings/companion-settings/details.hbs +++ b/templates/sheets-settings/companion-settings/details.hbs @@ -7,9 +7,8 @@ {{localize 'DAGGERHEART.GENERAL.basics'}}
{{formGroup systemFields.evasion value=document._source.system.evasion localize=true}} - {{#each resources as |resource|}} - {{formGroup resource.field value=resource.value name=resource.name}} - {{/each}} + {{formGroup systemFields.resources.fields.stress.fields.value value=document._source.system.resources.stress.value label='DAGGERHEART.ACTORS.Companion.FIELDS.resources.stress.currentStress.label' localize=true}} + {{formGroup systemFields.resources.fields.stress.fields.max value=document._source.system.resources.stress.max label='DAGGERHEART.ACTORS.Companion.FIELDS.resources.stress.maxStress.label' localize=true}}
@@ -20,4 +19,4 @@
- + \ No newline at end of file diff --git a/templates/sheets/actors/character/features.hbs b/templates/sheets/actors/character/features.hbs index 3e942468..acabd37e 100644 --- a/templates/sheets/actors/character/features.hbs +++ b/templates/sheets/actors/character/features.hbs @@ -4,21 +4,19 @@ {{#each document.system.sheetLists as |category|}} {{#if (eq category.type 'feature' )}} {{> 'daggerheart.inventory-items' - title=category.title - type='feature' - actorType='character' - collection=category.values - canCreate=true - showActions=true + title=category.title + type='feature' + collection=category.values + canCreate=true + showActions=true }} {{else if category.values}} {{> 'daggerheart.inventory-items' - title=category.title - type='feature' - actorType='character' - collection=category.values - canCreate=false - showActions=true + title=category.title + type='feature' + collection=category.values + canCreate=false + showActions=true }} {{/if}} diff --git a/templates/sheets/actors/character/header.hbs b/templates/sheets/actors/character/header.hbs index 06f464fa..d2c01f3c 100644 --- a/templates/sheets/actors/character/header.hbs +++ b/templates/sheets/actors/character/header.hbs @@ -65,25 +65,22 @@
-
-
-

{{localize "DAGGERHEART.GENERAL.hope"}}

- {{#times document.system.resources.hope.max}} - - {{#if (gte ../document.system.resources.hope.value (add this 1))}} - - {{else}} - - {{/if}} - - {{/times}} - {{#times document.system.scars}} - - - - {{/times}} - {{#if hasExtraResources}}{{/if}} -
+
+

{{localize "DAGGERHEART.GENERAL.hope"}}

+ {{#times document.system.resources.hope.max}} + + {{#if (gte ../document.system.resources.hope.value (add this 1))}} + + {{else}} + + {{/if}} + + {{/times}} + {{#times document.system.scars}} + + + + {{/times}}
{{#if document.system.class.value}} diff --git a/templates/sheets/global/partials/item-tags.hbs b/templates/sheets/global/partials/item-tags.hbs deleted file mode 100644 index b30fcbf2..00000000 --- a/templates/sheets/global/partials/item-tags.hbs +++ /dev/null @@ -1,8 +0,0 @@ -
- {{#each _getTags as |tag|}} -
- {{tag}} -
- {{/each}} - {{#if @partial-block}}{{> @partial-block}}{{/if}} -
\ No newline at end of file diff --git a/templates/sheets/items/armor/description.hbs b/templates/sheets/items/armor/description.hbs index af2698ef..c234fa10 100644 --- a/templates/sheets/items/armor/description.hbs +++ b/templates/sheets/items/armor/description.hbs @@ -1,6 +1,19 @@
+
+
+

{{localize "DAGGERHEART.ITEMS.Armor.baseThresholds.base"}}

+ {{item.system.baseThresholds.major}}/{{item.system.baseThresholds.severe}} +
+ +
+

{{localize "DAGGERHEART.ITEMS.Armor.baseScore"}}

+ {{item.system.baseScore}} +
+
+ {{#if features.length}}
+

{{localize "DAGGERHEART.GENERAL.features"}}

{{#each features as | feature |}}
{{localize feature.label}}: {{{localize feature.description}}}
{{/each}} diff --git a/templates/sheets/items/weapon/description.hbs b/templates/sheets/items/weapon/description.hbs index af2698ef..d8e128e7 100644 --- a/templates/sheets/items/weapon/description.hbs +++ b/templates/sheets/items/weapon/description.hbs @@ -1,6 +1,36 @@
+
+
+

{{localize "DAGGERHEART.GENERAL.Tiers.singular"}}

+ {{tier}} +
+ +
+

{{localize "DAGGERHEART.GENERAL.Trait.single"}}

+ {{trait}} +
+ +
+

{{localize "DAGGERHEART.GENERAL.range"}}

+ {{range}} +
+
+ +
+
+

{{localize "DAGGERHEART.GENERAL.damage"}}

+ {{damage}} +
+ +
+

{{localize "DAGGERHEART.GENERAL.burden"}}

+ {{burden}} +
+
+ {{#if features.length}}
+

{{localize "DAGGERHEART.GENERAL.features"}}

{{#each features as | feature |}}
{{localize feature.label}}: {{{localize feature.description}}}
{{/each}} diff --git a/templates/sheets/items/weapon/header.hbs b/templates/sheets/items/weapon/header.hbs index 9bbd9511..349a9516 100644 --- a/templates/sheets/items/weapon/header.hbs +++ b/templates/sheets/items/weapon/header.hbs @@ -14,13 +14,13 @@ - {{localize (concat 'DAGGERHEART.CONFIG.Range.' source.system.attack.range '.name')}} - - {{#if source.system.attack.damage.parts.hitPoints.value.custom.enabled}} + {{#if source.system.attack.damage.parts.0.value.custom.enabled}} {{localize "DAGGERHEART.GENERAL.custom"}} {{else}} - {{source.system.attack.damage.parts.hitPoints.value.dice}}{{#if source.system.attack.damage.parts.hitPoints.value.bonus}} + {{source.system.attack.damage.parts.hitPoints.value.bonus}}{{/if}} + {{source.system.attack.damage.parts.0.value.dice}}{{#if source.system.attack.damage.parts.0.value.bonus}} + {{source.system.attack.damage.parts.0.value.bonus}}{{/if}} {{/if}} ( - {{#each source.system.attack.damage.parts.hitPoints.type}} + {{#each source.system.attack.damage.parts.0.type}} {{localize (concat 'DAGGERHEART.CONFIG.DamageType.' this '.abbreviation')}} {{/each}} ) diff --git a/templates/sheets/items/weapon/settings.hbs b/templates/sheets/items/weapon/settings.hbs index e67e8dd7..f9499221 100644 --- a/templates/sheets/items/weapon/settings.hbs +++ b/templates/sheets/items/weapon/settings.hbs @@ -19,24 +19,24 @@
{{#with systemFields.attack.fields.damage.fields.parts.element.fields as | fields | }} - {{#with ../document.system.attack.damage.parts.hitPoints as | source | }} + {{#with (lookup ../document.system.attack.damage.parts 0) as | source | }} {{localize "DAGGERHEART.GENERAL.damage"}} {{localize "DAGGERHEART.ACTIONS.Config.general.customFormula"}} - {{formInput fields.value.fields.custom.fields.enabled value=source.value.custom.enabled name="system.attack.damage.parts.hitPoints.value.custom.enabled"}} + {{formInput fields.value.fields.custom.fields.enabled value=source.value.custom.enabled name="system.attack.damage.parts.0.value.custom.enabled"}} {{#if source.value.custom.enabled}} {{localize "DAGGERHEART.ACTIONS.Config.general.formula"}} - {{formInput fields.value.fields.custom.fields.formula value=source.value.custom.formula name="system.attack.damage.parts.hitPoints.value.custom.formula"}} + {{formInput fields.value.fields.custom.fields.formula value=source.value.custom.formula name="system.attack.damage.parts.0.value.custom.formula"}} {{else}} {{localize "DAGGERHEART.GENERAL.Dice.single"}} - {{formInput fields.value.fields.dice value=source.value.dice name="system.attack.damage.parts.hitPoints.value.dice"}} + {{formInput fields.value.fields.dice value=source.value.dice name="system.attack.damage.parts.0.value.dice"}} {{localize "DAGGERHEART.GENERAL.bonus"}} - {{formInput fields.value.fields.bonus value=source.value.bonus name="system.attack.damage.parts.hitPoints.value.bonus" localize=true}} + {{formInput fields.value.fields.bonus value=source.value.bonus name="system.attack.damage.parts.0.value.bonus" localize=true}} {{/if}} {{localize "DAGGERHEART.GENERAL.type"}} - {{formInput fields.type value=source.type name="system.attack.damage.parts.hitPoints.type" localize=true}} + {{formInput fields.type value=source.type name="system.attack.damage.parts.0.type" localize=true}} {{localize "DAGGERHEART.CONFIG.DamageType.direct.name"}} {{formInput @root.systemFields.attack.fields.damage.fields.direct value=@root.document.system.attack.damage.direct name="system.attack.damage.direct" localize=true}} - + {{/with}} {{/with}}
diff --git a/templates/ui/chat/parts/target-part.hbs b/templates/ui/chat/parts/target-part.hbs index 9a545926..477445a3 100644 --- a/templates/ui/chat/parts/target-part.hbs +++ b/templates/ui/chat/parts/target-part.hbs @@ -1,6 +1,6 @@
{{pluralize currentTargets.length "DAGGERHEART.GENERAL.Target"}}
- {{#if (or isGM (not metagamingSettings.hideObserverPermissionInChat))}} + {{#if isGM}}
{{#if (or (gt targetShort.hit 0) (gt targetShort.miss 0))}} diff --git a/templates/ui/itemBrowser/itemContainer.hbs b/templates/ui/itemBrowser/itemContainer.hbs index 8dd75156..0040a692 100644 --- a/templates/ui/itemBrowser/itemContainer.hbs +++ b/templates/ui/itemBrowser/itemContainer.hbs @@ -10,10 +10,7 @@
- - {{{system.enrichedTags}}} - {{{system.enrichedDescription}}} - + {{{system.enrichedDescription}}}
{{/each}} \ No newline at end of file diff --git a/templates/ui/tooltip/domainCard.hbs b/templates/ui/tooltip/domainCard.hbs index 0380a523..9388f1a4 100644 --- a/templates/ui/tooltip/domainCard.hbs +++ b/templates/ui/tooltip/domainCard.hbs @@ -5,7 +5,7 @@ - {{#with (lookup allDomains item.system.domain) as | domain |}} + {{#with (lookup config.DOMAIN.domains item.system.domain) as | domain |}} {{/with}} diff --git a/templates/ui/tooltip/resourceManagement.hbs b/templates/ui/tooltip/resourceManagement.hbs deleted file mode 100644 index b9817e6e..00000000 --- a/templates/ui/tooltip/resourceManagement.hbs +++ /dev/null @@ -1,21 +0,0 @@ -
- {{#each resources as |resource|}} -
-

{{resource.label}}

- {{#times resource.max}} - - {{#if resource.fullIcon.isIcon}} - - {{else}} - - {{/if}} - {{#if resource.emptyIcon.isIcon}} - - {{else}} - - {{/if}} - - {{/times}} -
- {{/each}} -
\ No newline at end of file