From 6f0f21c3553a94b868cb16f2c635ff99a003eb41 Mon Sep 17 00:00:00 2001 From: joaquinpereyra98 <24190917+joaquinpereyra98@users.noreply.github.com> Date: Mon, 11 Aug 2025 04:56:10 -0300 Subject: [PATCH] Impproved Adversary Sheet Data Display (#751) * Impproved Adversary Sheet Data Display Fixes #604 * FIX: formula lables for attacks and weapons --------- Co-authored-by: Joaquin Pereyra --- module/data/action/attackAction.mjs | 28 ++++++++++ module/data/actor/character.mjs | 29 +++++----- module/data/item/armor.mjs | 3 +- module/data/item/domainCard.mjs | 10 +++- module/data/item/weapon.mjs | 15 ++--- ...ersary_Acid_Burrower_89yAh30vaNQOALlz.json | 4 +- ...ary_Adult_Flickerfly_G7jiltRjgvVhZewm.json | 5 +- ..._Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json | 5 +- ...ary_Arch_Necromancer_WPEOIGfclNJxWb87.json | 5 +- ...versary_Archer_Guard_JRhrrEg5UroURiAD.json | 5 +- ...sary_Archer_Squadron_0ts6CGd93lLqGZI5.json | 5 +- ...ry_Assassin_Poisoner_h5RuhzGL17dW5FBT.json | 5 +- ...adversary_Battle_Box_dgH3fW9FTYLaIDvS.json | 5 +- .../adversary_Bear_71qKDLKO3CsrNkdy.json | 5 +- ...versary_Bladed_Guard_B4LZcGuBAHzyVdzy.json | 5 +- ...ersary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json | 5 +- .../adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json | 5 +- ...dversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json | 5 +- .../adversary_Conscript_99TqczuQipBmaB8i.json | 5 +- .../adversary_Construct_uOP5oT9QzXPlnf3p.json | 5 +- .../adversary_Courtesan_ZxWaWPdzFIUPNC62.json | 5 +- .../adversary_Courtier_CBBuEXAlLKFMJdjg.json | 5 +- ...adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json | 5 +- .../adversary_Cult_Fang_tyBOpLfigAhI9bU3.json | 5 +- ...ersary_Cult_Initiate_zx99sOGTXicP4SSD.json | 5 +- ...ry_Deeproot_Defender_9x2xY9zwc3xzbXo5.json | 5 +- ...ary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json | 5 +- ...ary_Demon_of_Despair_kE4dfhqmIQpNd44e.json | 5 +- ...sary_Demon_of_Hubris_2VN3BftageoTTIzu.json | 5 +- ...ry_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json | 5 +- ...rsary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json | 5 +- ...y_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json | 5 +- .../adversary_Dire_Bat_tBWHW00epmMnkawe.json | 5 +- .../adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json | 5 +- .../adversary_Dryad_wR7cFKrHvRzbzhBT.json | 5 +- ...ersary_Electric_Eels_TLzY1nDw0Bu9Ud40.json | 5 +- ...sary_Elemental_Spark_P7h54ZePFPHpYwvB.json | 5 +- ...ersary_Elite_Soldier_bfhVWMBUh61b9J6n.json | 4 +- ...ry_Failed_Experiment_ChwwVqowFw8hJQwT.json | 5 +- ...y_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json | 5 +- ...sary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json | 5 +- ...ry_Giant_Beastmaster_8VZIgU12cB3cvlyH.json | 5 +- ...ersary_Giant_Brawler_YnObCleGjPT7yqEc.json | 5 +- ...dversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json | 4 +- ...ary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json | 5 +- .../adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json | 5 +- ...ersary_Giant_Recruit_5s8wSvpyC5rxY5aD.json | 5 +- ...rsary_Giant_Scorpion_fmfntuJ8mHRCAktP.json | 5 +- ...dversary_Glass_Snake_8KWVLWXFhlY2kYx0.json | 5 +- .../adversary_Gorgon_8mJYMpbLTb8qIOrr.json | 5 +- ...ater_Earth_Elemental_dsfB3YhoL5SudvS2.json | 5 +- ...ater_Water_Elemental_xIICT6tEdnA7dKDV.json | 5 +- ...adversary_Green_Ooze_SHXedd9zZPVfUgUa.json | 5 +- ...sary_Hallowed_Archer_kabueAo6BALApWqp.json | 5 +- ...ary_Hallowed_Soldier_VENwg7xEFcYObjmT.json | 5 +- .../adversary_Harrier_uRtghKE9mHlII4rs.json | 5 +- ...adversary_Head_Guard_mK3A5FTx6k8iPU3F.json | 5 +- ...versary_Head_Vampire_i2UNbRvgyoSs07M6.json | 5 +- ...dversary_High_Seraph_r1mbfSSwKWdcFdAU.json | 5 +- ...sary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json | 5 +- .../adversary_Hydra_MI126iMOOobQ1Obn.json | 5 +- ..._Jagged_Knife_Bandit_5Lh1T0zaT8Pkr2U2.json | 5 +- ...y_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json | 5 +- ...ed_Knife_Kneebreaker_CBKixLH3yhivZZuL.json | 5 +- ..._Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json | 5 +- ...ged_Knife_Lieutenant_aTljstqteGoLpCBq.json | 5 +- ..._Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json | 5 +- ..._Jagged_Knife_Sniper_1zuyof1XuIfi3aMG.json | 5 +- ..._Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json | 5 +- ..._Knight_of_the_Realm_7ai2opemrclQe3VF.json | 5 +- .../adversary_Kraken_4nqv3ZwJGjnmic8j.json | 5 +- ...versary_Masked_Thief_niBpVU7yeo5ccskE.json | 5 +- ...sary_Master_Assassin_dNta0cUzr96xcFhf.json | 5 +- .../adversary_Merchant_Al3w2CgjfdT3p9ma.json | 5 +- ...rsary_Merchant_Baron_Vy02IhGhkJLuezu4.json | 5 +- ...inor_Chaos_Elemental_sRn4bqerfARvhgSV.json | 5 +- ...dversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json | 5 +- ...Minor_Fire_Elemental_DscWkNVoHak6P4hh.json | 5 +- ...versary_Minor_Treant_G62k4oSkhkoXEs2D.json | 5 +- ...ary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json | 5 +- .../adversary_Monarch_yx0vK2yfNVZKWUUi.json | 5 +- ...ersary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json | 5 +- ...adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json | 40 +++++++++++++- ...rsary_Oracle_of_Doom_befIqd5IYKg6eUz2.json | 5 +- ...r_Realms_Abomination_A0SeeDzwjvqOsyof.json | 5 +- ...ter_Realms_Corrupter_ms6nuOl3NFkhPj1k.json | 5 +- ..._Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json | 5 +- ...atchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json | 5 +- ...ary_Perfected_Zombie_CP6iRfHdyFWniTHY.json | 5 +- ...dversary_Petty_Noble_wycLpvebWdUqRhpP.json | 5 +- ...rsary_Pirate_Captain_OROJbjsqagVh7ECV.json | 5 +- ...rsary_Pirate_Raiders_5YgEajn0wa4i85kC.json | 5 +- .../adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json | 5 +- ...ersary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json | 5 +- ...ersary_Royal_Advisor_EtLJiTsilPPZvLUX.json | 5 +- ...ersary_Secret_Keeper_sLAccjvCWfeedbpI.json | 5 +- .../adversary_Sellsword_bgreCaQ6ap2DVpCr.json | 5 +- ...ary_Shambling_Zombie_2nXz4ilAY4xuhKLm.json | 5 +- .../adversary_Shark_YmVAkdNsyuXWTtYp.json | 5 +- .../adversary_Siren_BK4jwyXSRx7IOQiO.json | 5 +- ...sary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json | 5 +- ...sary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json | 5 +- ...sary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json | 5 +- ...ary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json | 5 +- ...sary_Spectral_Archer_5tCkhnBByUIN5UdG.json | 5 +- ...ary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json | 5 +- ...ry_Spectral_Guardian_UFVGl1osOsJTneLf.json | 5 +- ...adversary_Spellblade_ldbWEL7uZs84vyrR.json | 5 +- .../adversary_Spy_8zlynOhnVA59KpKT.json | 5 +- ...dversary_Stag_Knight_KGVwnLq85ywP9xvB.json | 5 +- ...dversary_Stonewraith_3aAS2Qm3R6cgaYfE.json | 5 +- ...ersary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json | 5 +- ...rsary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json | 5 +- ...sary_Tiny_Green_Ooze_aLkLFuVoKz2NLoBK.json | 5 +- ...ersary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json | 5 +- ...rsary_Treant_Sapling_o63nS0k3wHu6EgKP.json | 5 +- .../adversary_Vampire_WWyUp6Mxl1S3KYUG.json | 5 +- ...ault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json | 5 +- ...lt_Guardian_Sentinel_FVgYb28fhxlVcGwA.json | 5 +- ...ault_Guardian_Turret_c5hGdvY5UnSjlHws.json | 5 +- ...adversary_War_Wizard_noDdT0tsN6FXSmC8.json | 5 +- ...versary_Weaponmaster_ZNbQ2jg35LG4t9eH.json | 5 +- ...dversary_Young_Dryad_8yUj2Mzvnifhxegm.json | 5 +- ...ary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json | 5 +- ...ersary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json | 5 +- ...dversary_Zombie_Pack_Nf0v43rtflV56V2T.json | 5 +- .../less/sheets/actors/adversary/sidebar.less | 2 +- templates/sheets/actors/adversary/sidebar.hbs | 19 +++---- templates/sheets/actors/character/sidebar.hbs | 9 ++- .../global/partials/inventory-item-V2.hbs | 55 +++++++------------ 130 files changed, 496 insertions(+), 311 deletions(-) diff --git a/module/data/action/attackAction.mjs b/module/data/action/attackAction.mjs index 1ba5f91e..62463d15 100644 --- a/module/data/action/attackAction.mjs +++ b/module/data/action/attackAction.mjs @@ -42,4 +42,32 @@ export default class DHAttackAction extends DHDamageAction { return result; } + + /** + * Generate a localized label array for this item subtype. + * @returns {(string | { value: string, icons: string[] })[]} An array of localized strings and damage label objects. + */ + _getLabels() { + const labels = []; + const { roll, range, damage } = this; + + if (roll.trait) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.Traits.${roll.trait}.short`)) + if (range) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.Range.${range}.short`)); + + for (const { value, type } of damage.parts) { + const str = Roll.replaceFormulaData(value.getFormula(), this.actor?.getRollData() ?? {}); + + const icons = Array.from(type) + .map(t => CONFIG.DH.GENERAL.damageTypes[t]?.icon) + .filter(Boolean); + + if (icons.length === 0) { + labels.push(str); + } else { + labels.push({ value: str, icons }); + } + } + + return labels; + } } diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index c5e250a4..c2a8f400 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -103,7 +103,7 @@ export default class DhCharacter extends BaseDataActor { }), attack: new ActionField({ initial: { - name: 'Attack', + name: 'Unarmed Attack', img: 'icons/skills/melee/unarmed-punch-fist-yellow-red.webp', _id: foundry.utils.randomID(), systemPath: 'attack', @@ -394,19 +394,22 @@ export default class DhCharacter extends BaseDataActor { return this.parent.effects.find(x => x.type === 'beastform'); } + /** + * Gets the unarmed attackwhen no primary or secondary weapon is equipped. + * Returns `null` if either weapon is equipped. + * If the actor is in beastform, overrides the attack's name and image. + * + * @returns {DHAttackAction|null} + */ get usedUnarmed() { - const primaryWeaponEquipped = this.primaryWeapon?.system?.equipped; - const secondaryWeaponEquipped = this.secondaryWeapon?.system?.equipped; - return !primaryWeaponEquipped && !secondaryWeaponEquipped - ? { - ...this.attack, - uuid: this.attack.uuid, - id: this.attack.id, - name: this.activeBeastform ? 'DAGGERHEART.ITEMS.Beastform.attackName' : this.attack.name, - img: this.activeBeastform ? 'icons/creatures/claws/claw-straight-brown.webp' : this.attack.img, - actor: this.parent - } - : null; + if (this.primaryWeapon?.system?.equipped || this.secondaryWeapon?.system?.equipped) return null; + + const attack = foundry.utils.deepClone(this.attack); + if (this.activeBeastform) { + attack.name = 'DAGGERHEART.ITEMS.Beastform.attackName'; + attack.img = 'icons/creatures/claws/claw-straight-brown.webp'; + } + return attack; } get sheetLists() { diff --git a/module/data/item/armor.mjs b/module/data/item/armor.mjs index a8c3dcec..7f70d3f7 100644 --- a/module/data/item/armor.mjs +++ b/module/data/item/armor.mjs @@ -144,7 +144,8 @@ export default class DHArmor extends AttachableItem { * @returns {(string | { value: string, icons: string[] })[]} An array of localized strings and damage label objects. */ _getLabels() { - const labels = [`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.baseScore}`]; + const labels = []; + if(this.baseScore) labels.push(`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.baseScore}`) return labels; } diff --git a/module/data/item/domainCard.mjs b/module/data/item/domainCard.mjs index 7705adb1..9d5e80e7 100644 --- a/module/data/item/domainCard.mjs +++ b/module/data/item/domainCard.mjs @@ -89,7 +89,7 @@ export default class DHDomainCard extends BaseDataItem { */ _getLabels() { const labels = [ - game.i18n.localize(`DAGGERHEART.CONFIG.DomainCardTypes.${this.type}`), + , this.domainLabel, { value: `${this.recallCost}`, //converts the number to a string @@ -97,6 +97,14 @@ export default class DHDomainCard extends BaseDataItem { } ]; + if (this.type) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.DomainCardTypes.${this.type}`)); + if (this.domainLabel) labels.push(this.domainLabel); + if (this.recallCost) { + labels.push({ + value: `${this.recallCost}`, //converts the number to a string + icons: ['fa-bolt'] + }); + } return labels; } } diff --git a/module/data/item/weapon.mjs b/module/data/item/weapon.mjs index 60a17e3d..0cba35b8 100644 --- a/module/data/item/weapon.mjs +++ b/module/data/item/weapon.mjs @@ -209,26 +209,23 @@ export default class DHWeapon extends AttachableItem { * @returns {(string | { value: string, icons: string[] })[]} An array of localized strings and damage label objects. */ _getLabels() { + const labels = []; const { roll, range, damage } = this.attack; - const labels = [ - game.i18n.localize(`DAGGERHEART.CONFIG.Traits.${roll.trait}.short`), - game.i18n.localize(`DAGGERHEART.CONFIG.Range.${range}.short`) - ]; + if (roll.trait) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.Traits.${roll.trait}.short`)) + if (range) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.Range.${range}.short`)); for (const { value, type } of damage.parts) { - const str = [value.dice]; - if (value.bonus) str.push(value.bonus.signedString()); + const str = Roll.replaceFormulaData(value.getFormula(), this.actor?.getRollData() ?? {}); const icons = Array.from(type) .map(t => CONFIG.DH.GENERAL.damageTypes[t]?.icon) .filter(Boolean); - const labelValue = str.join(''); if (icons.length === 0) { - labels.push(labelValue); + labels.push(str); } else { - labels.push({ value: labelValue, icons }); + labels.push({ value: str, icons }); } } diff --git a/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json b/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json index fe6001f2..fa7d4807 100644 --- a/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json +++ b/src/packs/adversaries/adversary_Acid_Burrower_89yAh30vaNQOALlz.json @@ -122,7 +122,7 @@ }, "_id": "TCKVaVweyJzhEArX", "systemPath": "actions", - "type": "", + "type": "attack", "description": "", "img": "icons/creatures/claws/claw-curved-jagged-yellow.webp", "chatDisplay": true, @@ -708,4 +708,4 @@ "_id": "89yAh30vaNQOALlz", "sort": 500000, "_key": "!actors!89yAh30vaNQOALlz" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json index 3f6b218d..5053b21b 100644 --- a/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json +++ b/src/packs/adversaries/adversary_Adult_Flickerfly_G7jiltRjgvVhZewm.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -768,4 +769,4 @@ ], "effects": [], "_key": "!actors!G7jiltRjgvVhZewm" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json b/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json index 75504f87..8901186e 100644 --- a/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json +++ b/src/packs/adversaries/adversary_Apprentice_Assassin_vNIbYQ4YSzNf0WPE.json @@ -102,7 +102,8 @@ } ] }, - "img": "icons/weapons/daggers/dagger-bone-black.webp" + "img": "icons/weapons/daggers/dagger-bone-black.webp", + "type": "attack" } }, "flags": {}, @@ -319,4 +320,4 @@ ], "effects": [], "_key": "!actors!vNIbYQ4YSzNf0WPE" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json b/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json index 431735e1..8ca8dbb2 100644 --- a/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json +++ b/src/packs/adversaries/adversary_Arch_Necromancer_WPEOIGfclNJxWb87.json @@ -114,7 +114,8 @@ } ] }, - "img": "icons/magic/unholy/beam-ringed-impact-purple.webp" + "img": "icons/magic/unholy/beam-ringed-impact-purple.webp", + "type": "attack" } }, "flags": {}, @@ -817,4 +818,4 @@ ], "effects": [], "_key": "!actors!WPEOIGfclNJxWb87" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json index 48d5e1b7..ecc969ad 100644 --- a/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json +++ b/src/packs/adversaries/adversary_Archer_Guard_JRhrrEg5UroURiAD.json @@ -108,7 +108,8 @@ } ] }, - "img": "icons/weapons/bows/longbow-recurve-leather-brown.webp" + "img": "icons/weapons/bows/longbow-recurve-leather-brown.webp", + "type": "attack" } }, "flags": {}, @@ -393,4 +394,4 @@ ], "effects": [], "_key": "!actors!JRhrrEg5UroURiAD" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json b/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json index 6d96be34..19385537 100644 --- a/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json +++ b/src/packs/adversaries/adversary_Archer_Squadron_0ts6CGd93lLqGZI5.json @@ -103,7 +103,8 @@ "roll": { "bonus": 0, "type": "attack" - } + }, + "type": "attack" } }, "flags": {}, @@ -514,4 +515,4 @@ } ], "_key": "!actors!0ts6CGd93lLqGZI5" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json index d0796f0a..f0e15718 100644 --- a/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json +++ b/src/packs/adversaries/adversary_Assassin_Poisoner_h5RuhzGL17dW5FBT.json @@ -109,7 +109,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -528,4 +529,4 @@ ], "effects": [], "_key": "!actors!h5RuhzGL17dW5FBT" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json b/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json index 11dd2789..df793a9d 100644 --- a/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json +++ b/src/packs/adversaries/adversary_Battle_Box_dgH3fW9FTYLaIDvS.json @@ -109,7 +109,8 @@ } ] }, - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -1284,4 +1285,4 @@ ], "effects": [], "_key": "!actors!dgH3fW9FTYLaIDvS" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json b/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json index a8e610a3..ede81984 100644 --- a/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json +++ b/src/packs/adversaries/adversary_Bear_71qKDLKO3CsrNkdy.json @@ -111,7 +111,8 @@ } ] }, - "img": "icons/creatures/claws/claw-straight-brown.webp" + "img": "icons/creatures/claws/claw-straight-brown.webp", + "type": "attack" } }, "flags": {}, @@ -467,4 +468,4 @@ ], "effects": [], "_key": "!actors!71qKDLKO3CsrNkdy" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json b/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json index 0be3490d..640cd10e 100644 --- a/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json +++ b/src/packs/adversaries/adversary_Bladed_Guard_B4LZcGuBAHzyVdzy.json @@ -107,7 +107,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -441,4 +442,4 @@ ], "effects": [], "_key": "!actors!B4LZcGuBAHzyVdzy" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json b/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json index fe7e037e..d76c1b93 100644 --- a/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json +++ b/src/packs/adversaries/adversary_Brawny_Zombie_2UeZ0tEe7AzgSJNd.json @@ -112,7 +112,8 @@ } ] }, - "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp" + "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp", + "type": "attack" } }, "flags": {}, @@ -526,4 +527,4 @@ ], "effects": [], "_key": "!actors!2UeZ0tEe7AzgSJNd" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json b/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json index 18f1b756..fefc7847 100644 --- a/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json +++ b/src/packs/adversaries/adversary_Cave_Ogre_8Zkqk1jU09nKL2fy.json @@ -108,7 +108,8 @@ ] }, "name": "Club", - "img": "icons/weapons/clubs/club-banded-barbed-black.webp" + "img": "icons/weapons/clubs/club-banded-barbed-black.webp", + "type": "attack" } }, "flags": {}, @@ -598,4 +599,4 @@ ], "effects": [], "_key": "!actors!8Zkqk1jU09nKL2fy" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json index 0e8a87be..e43a2164 100644 --- a/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json +++ b/src/packs/adversaries/adversary_Chaos_Skull_jDmHqGvzg5wjgmxE.json @@ -103,7 +103,8 @@ } ] }, - "img": "icons/magic/light/beam-rays-magenta.webp" + "img": "icons/magic/light/beam-rays-magenta.webp", + "type": "attack" } }, "flags": {}, @@ -561,4 +562,4 @@ ], "effects": [], "_key": "!actors!jDmHqGvzg5wjgmxE" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json b/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json index 88ca68b5..5f3dcf2b 100644 --- a/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json +++ b/src/packs/adversaries/adversary_Conscript_99TqczuQipBmaB8i.json @@ -96,7 +96,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -313,4 +314,4 @@ ], "effects": [], "_key": "!actors!99TqczuQipBmaB8i" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json index a1440de4..39cd2ea8 100644 --- a/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json +++ b/src/packs/adversaries/adversary_Construct_uOP5oT9QzXPlnf3p.json @@ -102,7 +102,8 @@ ] }, "name": "Fist Slam", - "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp" + "img": "icons/skills/melee/unarmed-punch-fist-yellow-red.webp", + "type": "attack" } }, "flags": {}, @@ -631,4 +632,4 @@ ], "effects": [], "_key": "!actors!uOP5oT9QzXPlnf3p" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json b/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json index a0d5bb64..e10ad1a4 100644 --- a/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json +++ b/src/packs/adversaries/adversary_Courtesan_ZxWaWPdzFIUPNC62.json @@ -113,7 +113,8 @@ } ] }, - "img": "icons/weapons/daggers/dagger-straight-cracked.webp" + "img": "icons/weapons/daggers/dagger-straight-cracked.webp", + "type": "attack" } }, "flags": {}, @@ -379,4 +380,4 @@ ], "effects": [], "_key": "!actors!ZxWaWPdzFIUPNC62" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json b/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json index df0103bf..e2c80bec 100644 --- a/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json +++ b/src/packs/adversaries/adversary_Courtier_CBBuEXAlLKFMJdjg.json @@ -107,7 +107,8 @@ } ] }, - "img": "icons/weapons/daggers/dagger-twin-green.webp" + "img": "icons/weapons/daggers/dagger-twin-green.webp", + "type": "attack" } }, "flags": {}, @@ -459,4 +460,4 @@ ], "effects": [], "_key": "!actors!CBBuEXAlLKFMJdjg" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json b/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json index ed58519c..7ad6e172 100644 --- a/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json +++ b/src/packs/adversaries/adversary_Cult_Adept_0NxCSugvKQ4W8OYZ.json @@ -114,7 +114,8 @@ ] }, "range": "far", - "img": "icons/weapons/staves/staff-ornate-purple.webp" + "img": "icons/weapons/staves/staff-ornate-purple.webp", + "type": "attack" } }, "flags": {}, @@ -723,4 +724,4 @@ ], "effects": [], "_key": "!actors!0NxCSugvKQ4W8OYZ" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json b/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json index 8632f74f..c012548c 100644 --- a/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json +++ b/src/packs/adversaries/adversary_Cult_Fang_tyBOpLfigAhI9bU3.json @@ -103,7 +103,8 @@ } ] }, - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -453,4 +454,4 @@ ], "effects": [], "_key": "!actors!tyBOpLfigAhI9bU3" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json b/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json index 26c9f4bf..438c51e2 100644 --- a/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json +++ b/src/packs/adversaries/adversary_Cult_Initiate_zx99sOGTXicP4SSD.json @@ -95,7 +95,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -312,4 +313,4 @@ ], "effects": [], "_key": "!actors!zx99sOGTXicP4SSD" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json b/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json index 292f5161..3b409300 100644 --- a/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json +++ b/src/packs/adversaries/adversary_Deeproot_Defender_9x2xY9zwc3xzbXo5.json @@ -108,7 +108,8 @@ } ] }, - "img": "icons/magic/nature/root-vines-grow-brown.webp" + "img": "icons/magic/nature/root-vines-grow-brown.webp", + "type": "attack" } }, "flags": {}, @@ -473,4 +474,4 @@ ], "effects": [], "_key": "!actors!9x2xY9zwc3xzbXo5" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json index f4f74da4..ff35a02d 100644 --- a/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json +++ b/src/packs/adversaries/adversary_Demon_of_Avarice_pnyjIGxxvurcWmTv.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -384,4 +385,4 @@ ], "effects": [], "_key": "!actors!pnyjIGxxvurcWmTv" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json index 970e598b..ee46d67f 100644 --- a/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json +++ b/src/packs/adversaries/adversary_Demon_of_Despair_kE4dfhqmIQpNd44e.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -502,4 +503,4 @@ ], "effects": [], "_key": "!actors!kE4dfhqmIQpNd44e" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json b/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json index cd34ae80..6ed4f966 100644 --- a/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json +++ b/src/packs/adversaries/adversary_Demon_of_Hubris_2VN3BftageoTTIzu.json @@ -109,7 +109,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -654,4 +655,4 @@ ], "effects": [], "_key": "!actors!2VN3BftageoTTIzu" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json b/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json index 0808e36d..12613133 100644 --- a/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json +++ b/src/packs/adversaries/adversary_Demon_of_Jealousy_SxSOkM4bcVOFyjbo.json @@ -109,7 +109,8 @@ } ] }, - "img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp" + "img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp", + "type": "attack" } }, "flags": {}, @@ -439,4 +440,4 @@ ], "effects": [], "_key": "!actors!SxSOkM4bcVOFyjbo" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json b/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json index 1ce98d4f..36ebdd09 100644 --- a/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json +++ b/src/packs/adversaries/adversary_Demon_of_Wrath_5lphJAgzoqZI3VoG.json @@ -109,7 +109,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -474,4 +475,4 @@ ], "effects": [], "_key": "!actors!5lphJAgzoqZI3VoG" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json b/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json index 77d624ab..9c57035f 100644 --- a/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json +++ b/src/packs/adversaries/adversary_Demonic_Hound_Pack_NoRZ1PqB8N5wcIw0.json @@ -109,7 +109,8 @@ "bonus": 0, "type": "attack" }, - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -421,4 +422,4 @@ } ], "_key": "!actors!NoRZ1PqB8N5wcIw0" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json b/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json index 4140d3c1..864e068a 100644 --- a/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json +++ b/src/packs/adversaries/adversary_Dire_Bat_tBWHW00epmMnkawe.json @@ -107,7 +107,8 @@ } ] }, - "img": "icons/creatures/claws/claw-hooked-curved.webp" + "img": "icons/creatures/claws/claw-hooked-curved.webp", + "type": "attack" } }, "flags": {}, @@ -512,4 +513,4 @@ ], "effects": [], "_key": "!actors!tBWHW00epmMnkawe" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json b/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json index 03aa65be..f08e6c7a 100644 --- a/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json +++ b/src/packs/adversaries/adversary_Dire_Wolf_wNzeuQLfLUMvgHlQ.json @@ -107,7 +107,8 @@ } ] }, - "img": "icons/creatures/claws/claw-straight-brown.webp" + "img": "icons/creatures/claws/claw-straight-brown.webp", + "type": "attack" } }, "flags": {}, @@ -499,4 +500,4 @@ ], "effects": [], "_key": "!actors!wNzeuQLfLUMvgHlQ" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json b/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json index b3443c13..5b06992f 100644 --- a/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json +++ b/src/packs/adversaries/adversary_Dryad_wR7cFKrHvRzbzhBT.json @@ -109,7 +109,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -568,4 +569,4 @@ ], "effects": [], "_key": "!actors!wR7cFKrHvRzbzhBT" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json b/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json index 7563ea50..97f52a19 100644 --- a/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json +++ b/src/packs/adversaries/adversary_Electric_Eels_TLzY1nDw0Bu9Ud40.json @@ -103,7 +103,8 @@ "bonus": 0, "type": "attack" }, - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -411,4 +412,4 @@ } ], "_key": "!actors!TLzY1nDw0Bu9Ud40" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json b/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json index 72fc9f3e..fe819d62 100644 --- a/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json +++ b/src/packs/adversaries/adversary_Elemental_Spark_P7h54ZePFPHpYwvB.json @@ -96,7 +96,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -313,4 +314,4 @@ ], "effects": [], "_key": "!actors!P7h54ZePFPHpYwvB" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json b/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json index 3159db6f..12f85b54 100644 --- a/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json +++ b/src/packs/adversaries/adversary_Elite_Soldier_bfhVWMBUh61b9J6n.json @@ -87,7 +87,7 @@ "img": "icons/weapons/polearms/spear-flared-steel.webp", "_id": "jmrgFi8AUL6LTbtU", "systemPath": "actions", - "type": "", + "type": "attack", "description": "", "chatDisplay": true, "actionType": "action", @@ -435,4 +435,4 @@ "_id": "bfhVWMBUh61b9J6n", "sort": 0, "_key": "!actors!bfhVWMBUh61b9J6n" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json index 1fefc985..ab005879 100644 --- a/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json +++ b/src/packs/adversaries/adversary_Failed_Experiment_ChwwVqowFw8hJQwT.json @@ -109,7 +109,8 @@ ] }, "img": "icons/creatures/claws/claw-hooked-barbed.webp", - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -411,4 +412,4 @@ ], "effects": [], "_key": "!actors!ChwwVqowFw8hJQwT" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json b/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json index 1f7e282f..f5c0c384 100644 --- a/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json +++ b/src/packs/adversaries/adversary_Fallen_Shock_Troop_OsLG2BjaEdTZUJU9.json @@ -96,7 +96,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -399,4 +400,4 @@ ], "effects": [], "_key": "!actors!OsLG2BjaEdTZUJU9" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json b/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json index e3b3eee5..4aa8dcbc 100644 --- a/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json +++ b/src/packs/adversaries/adversary_Fallen_Sorcerer_PELRry1vqjBzSAlr.json @@ -109,7 +109,8 @@ } ] }, - "img": "icons/weapons/staves/staff-animal-skull-bull.webp" + "img": "icons/weapons/staves/staff-animal-skull-bull.webp", + "type": "attack" } }, "flags": {}, @@ -646,4 +647,4 @@ ], "effects": [], "_key": "!actors!PELRry1vqjBzSAlr" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json b/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json index ba9c998b..f5aabf99 100644 --- a/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json +++ b/src/packs/adversaries/adversary_Giant_Beastmaster_8VZIgU12cB3cvlyH.json @@ -109,7 +109,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -452,4 +453,4 @@ ], "effects": [], "_key": "!actors!8VZIgU12cB3cvlyH" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json b/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json index 39903650..9aa10ebf 100644 --- a/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json +++ b/src/packs/adversaries/adversary_Giant_Brawler_YnObCleGjPT7yqEc.json @@ -109,7 +109,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -484,4 +485,4 @@ ], "effects": [], "_key": "!actors!YnObCleGjPT7yqEc" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json index e1f3b968..fe48629f 100644 --- a/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json +++ b/src/packs/adversaries/adversary_Giant_Eagle_OMQ0v6PE8s1mSU0K.json @@ -87,7 +87,7 @@ "img": "icons/creatures/claws/claw-talons-glowing-orange.webp", "_id": "W2KpXQNCg6Nnorbz", "systemPath": "actions", - "type": "", + "type": "attack", "description": "", "chatDisplay": true, "actionType": "action", @@ -745,4 +745,4 @@ "_id": "OMQ0v6PE8s1mSU0K", "sort": 900000, "_key": "!actors!OMQ0v6PE8s1mSU0K" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json index 374aedf9..c48b1b70 100644 --- a/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json +++ b/src/packs/adversaries/adversary_Giant_Mosquitoes_IIWV4ysJPFPnTP7W.json @@ -108,7 +108,8 @@ "bonus": -2, "type": "attack" }, - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -453,4 +454,4 @@ } ], "_key": "!actors!IIWV4ysJPFPnTP7W" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json b/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json index 10242ab6..a8a31ec7 100644 --- a/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json +++ b/src/packs/adversaries/adversary_Giant_Rat_4PfLnaCrOcMdb4dK.json @@ -100,7 +100,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -343,4 +344,4 @@ ], "effects": [], "_key": "!actors!4PfLnaCrOcMdb4dK" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json b/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json index d57f9742..e20a3ec2 100644 --- a/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json +++ b/src/packs/adversaries/adversary_Giant_Recruit_5s8wSvpyC5rxY5aD.json @@ -96,7 +96,8 @@ "roll": { "bonus": 1, "type": "attack" - } + }, + "type": "attack" } }, "flags": {}, @@ -313,4 +314,4 @@ ], "effects": [], "_key": "!actors!5s8wSvpyC5rxY5aD" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json b/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json index 9cf88069..3a0501e0 100644 --- a/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json +++ b/src/packs/adversaries/adversary_Giant_Scorpion_fmfntuJ8mHRCAktP.json @@ -107,7 +107,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -535,4 +536,4 @@ ], "effects": [], "_key": "!actors!fmfntuJ8mHRCAktP" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json b/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json index e7b03a0f..acd44c34 100644 --- a/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json +++ b/src/packs/adversaries/adversary_Glass_Snake_8KWVLWXFhlY2kYx0.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -658,4 +659,4 @@ ], "effects": [], "_key": "!actors!8KWVLWXFhlY2kYx0" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json b/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json index 22e68ade..eb169bc2 100644 --- a/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json +++ b/src/packs/adversaries/adversary_Gorgon_8mJYMpbLTb8qIOrr.json @@ -109,7 +109,8 @@ } ] }, - "img": "icons/weapons/bows/shortbow-recurve-yellow.webp" + "img": "icons/weapons/bows/shortbow-recurve-yellow.webp", + "type": "attack" } }, "flags": {}, @@ -621,4 +622,4 @@ ], "effects": [], "_key": "!actors!8mJYMpbLTb8qIOrr" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json index d270ccf8..445264af 100644 --- a/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json +++ b/src/packs/adversaries/adversary_Greater_Earth_Elemental_dsfB3YhoL5SudvS2.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -632,4 +633,4 @@ ], "effects": [], "_key": "!actors!dsfB3YhoL5SudvS2" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json index 00139c3b..15e0a61d 100644 --- a/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json +++ b/src/packs/adversaries/adversary_Greater_Water_Elemental_xIICT6tEdnA7dKDV.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -600,4 +601,4 @@ ], "effects": [], "_key": "!actors!xIICT6tEdnA7dKDV" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json b/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json index 90fd4089..f41153ee 100644 --- a/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json +++ b/src/packs/adversaries/adversary_Green_Ooze_SHXedd9zZPVfUgUa.json @@ -107,7 +107,8 @@ } ] }, - "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp" + "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp", + "type": "attack" } }, "flags": {}, @@ -601,4 +602,4 @@ ], "effects": [], "_key": "!actors!SHXedd9zZPVfUgUa" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json index b28228b1..e1e0fbbd 100644 --- a/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json +++ b/src/packs/adversaries/adversary_Hallowed_Archer_kabueAo6BALApWqp.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -371,4 +372,4 @@ ], "effects": [], "_key": "!actors!kabueAo6BALApWqp" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json b/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json index b2afbb74..6b8e339e 100644 --- a/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json +++ b/src/packs/adversaries/adversary_Hallowed_Soldier_VENwg7xEFcYObjmT.json @@ -95,7 +95,8 @@ } ] }, - "img": "icons/skills/melee/sword-shield-stylized-white.webp" + "img": "icons/skills/melee/sword-shield-stylized-white.webp", + "type": "attack" } }, "flags": {}, @@ -376,4 +377,4 @@ ], "effects": [], "_key": "!actors!VENwg7xEFcYObjmT" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json b/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json index 5885267b..d7579b0f 100644 --- a/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json +++ b/src/packs/adversaries/adversary_Harrier_uRtghKE9mHlII4rs.json @@ -108,7 +108,8 @@ } ] }, - "img": "icons/weapons/polearms/spear-hooked-rounded.webp" + "img": "icons/weapons/polearms/spear-hooked-rounded.webp", + "type": "attack" } }, "flags": {}, @@ -378,4 +379,4 @@ ], "effects": [], "_key": "!actors!uRtghKE9mHlII4rs" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json b/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json index 994c66bc..c3ac6946 100644 --- a/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json +++ b/src/packs/adversaries/adversary_Head_Guard_mK3A5FTx6k8iPU3F.json @@ -111,7 +111,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -388,4 +389,4 @@ ], "effects": [], "_key": "!actors!mK3A5FTx6k8iPU3F" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json b/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json index a84941f0..7a5e7ce4 100644 --- a/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json +++ b/src/packs/adversaries/adversary_Head_Vampire_i2UNbRvgyoSs07M6.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -665,4 +666,4 @@ ], "effects": [], "_key": "!actors!i2UNbRvgyoSs07M6" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json b/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json index 03c047ba..9130b331 100644 --- a/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json +++ b/src/packs/adversaries/adversary_High_Seraph_r1mbfSSwKWdcFdAU.json @@ -109,7 +109,8 @@ } ] }, - "img": "icons/skills/melee/strike-blade-hooked-orange-blue.webp" + "img": "icons/skills/melee/strike-blade-hooked-orange-blue.webp", + "type": "attack" } }, "flags": {}, @@ -611,4 +612,4 @@ ], "effects": [], "_key": "!actors!r1mbfSSwKWdcFdAU" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json b/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json index 3e0ca4ba..65dd49c1 100644 --- a/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json +++ b/src/packs/adversaries/adversary_Huge_Green_Ooze_6hbqmxDXFOzZJDk4.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -572,4 +573,4 @@ ], "effects": [], "_key": "!actors!6hbqmxDXFOzZJDk4" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json b/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json index d5828a9b..40eccf51 100644 --- a/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json +++ b/src/packs/adversaries/adversary_Hydra_MI126iMOOobQ1Obn.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -602,4 +603,4 @@ ], "effects": [], "_key": "!actors!MI126iMOOobQ1Obn" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Bandit_5Lh1T0zaT8Pkr2U2.json b/src/packs/adversaries/adversary_Jagged_Knife_Bandit_5Lh1T0zaT8Pkr2U2.json index e4a2fd1f..5c54c939 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Bandit_5Lh1T0zaT8Pkr2U2.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Bandit_5Lh1T0zaT8Pkr2U2.json @@ -107,7 +107,8 @@ } ] }, - "img": "icons/weapons/daggers/dagger-twin-green.webp" + "img": "icons/weapons/daggers/dagger-twin-green.webp", + "type": "attack" } }, "flags": {}, @@ -349,4 +350,4 @@ ], "effects": [], "_key": "!actors!5Lh1T0zaT8Pkr2U2" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json b/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json index 909d6c4e..fdfe873d 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Hexer_MbBPIOxaxXYNApXz.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -443,4 +444,4 @@ ], "effects": [], "_key": "!actors!MbBPIOxaxXYNApXz" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json b/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json index aef9e1be..53b5bf30 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Kneebreaker_CBKixLH3yhivZZuL.json @@ -111,7 +111,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -399,4 +400,4 @@ ], "effects": [], "_key": "!actors!CBKixLH3yhivZZuL" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json b/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json index 5b25f674..a1a7b6df 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Lackey_C0OMQqV7pN6t7ouR.json @@ -92,7 +92,8 @@ "base": false } ] - } + }, + "type": "attack" }, "resources": { "hitPoints": { @@ -319,4 +320,4 @@ ], "effects": [], "_key": "!actors!C0OMQqV7pN6t7ouR" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json b/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json index 52c0417c..27ca677f 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Lieutenant_aTljstqteGoLpCBq.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -502,4 +503,4 @@ ], "effects": [], "_key": "!actors!aTljstqteGoLpCBq" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json index 4fb8d790..e930fe15 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Shadow_XF4tYTq9nPJAy2ox.json @@ -107,7 +107,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -416,4 +417,4 @@ ], "effects": [], "_key": "!actors!XF4tYTq9nPJAy2ox" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Jagged_Knife_Sniper_1zuyof1XuIfi3aMG.json b/src/packs/adversaries/adversary_Jagged_Knife_Sniper_1zuyof1XuIfi3aMG.json index f44feb6c..2fc0e526 100644 --- a/src/packs/adversaries/adversary_Jagged_Knife_Sniper_1zuyof1XuIfi3aMG.json +++ b/src/packs/adversaries/adversary_Jagged_Knife_Sniper_1zuyof1XuIfi3aMG.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -336,4 +337,4 @@ ], "effects": [], "_key": "!actors!1zuyof1XuIfi3aMG" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json index 06e829cc..163a9dd5 100644 --- a/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json +++ b/src/packs/adversaries/adversary_Juvenile_Flickerfly_MYXmTx2FHcIjdfYZ.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -604,4 +605,4 @@ ], "effects": [], "_key": "!actors!MYXmTx2FHcIjdfYZ" -} +} \ No newline at end of file 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 cd1d75a1..86dc57ff 100644 --- a/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json +++ b/src/packs/adversaries/adversary_Knight_of_the_Realm_7ai2opemrclQe3VF.json @@ -119,7 +119,8 @@ } ] }, - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -603,4 +604,4 @@ ], "effects": [], "_key": "!actors!7ai2opemrclQe3VF" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json b/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json index 1300e54a..abb19062 100644 --- a/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json +++ b/src/packs/adversaries/adversary_Kraken_4nqv3ZwJGjnmic8j.json @@ -109,7 +109,8 @@ } ] }, - "img": "icons/creatures/tentacles/tentacles-octopus-black-pink.webp" + "img": "icons/creatures/tentacles/tentacles-octopus-black-pink.webp", + "type": "attack" } }, "flags": {}, @@ -568,4 +569,4 @@ ], "effects": [], "_key": "!actors!4nqv3ZwJGjnmic8j" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json b/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json index c0a25712..15a3dddd 100644 --- a/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json +++ b/src/packs/adversaries/adversary_Masked_Thief_niBpVU7yeo5ccskE.json @@ -109,7 +109,8 @@ } ] }, - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -467,4 +468,4 @@ ], "effects": [], "_key": "!actors!niBpVU7yeo5ccskE" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json b/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json index c8143250..4d10ed98 100644 --- a/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json +++ b/src/packs/adversaries/adversary_Master_Assassin_dNta0cUzr96xcFhf.json @@ -114,7 +114,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -428,4 +429,4 @@ ], "effects": [], "_key": "!actors!dNta0cUzr96xcFhf" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Merchant_Al3w2CgjfdT3p9ma.json b/src/packs/adversaries/adversary_Merchant_Al3w2CgjfdT3p9ma.json index fb0a7970..dd31d320 100644 --- a/src/packs/adversaries/adversary_Merchant_Al3w2CgjfdT3p9ma.json +++ b/src/packs/adversaries/adversary_Merchant_Al3w2CgjfdT3p9ma.json @@ -107,7 +107,8 @@ } ] }, - "img": "icons/weapons/clubs/club-baton-blue.webp" + "img": "icons/weapons/clubs/club-baton-blue.webp", + "type": "attack" } }, "flags": {}, @@ -348,4 +349,4 @@ ], "effects": [], "_key": "!actors!Al3w2CgjfdT3p9ma" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json b/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json index f706a7ac..7a43e614 100644 --- a/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json +++ b/src/packs/adversaries/adversary_Merchant_Baron_Vy02IhGhkJLuezu4.json @@ -113,7 +113,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -403,4 +404,4 @@ ], "effects": [], "_key": "!actors!Vy02IhGhkJLuezu4" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json index 075e47dc..0afdddcc 100644 --- a/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json +++ b/src/packs/adversaries/adversary_Minor_Chaos_Elemental_sRn4bqerfARvhgSV.json @@ -103,7 +103,8 @@ } ] }, - "range": "close" + "range": "close", + "type": "attack" } }, "flags": {}, @@ -620,4 +621,4 @@ ], "effects": [], "_key": "!actors!sRn4bqerfARvhgSV" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json b/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json index 8e274cfe..66037843 100644 --- a/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json +++ b/src/packs/adversaries/adversary_Minor_Demon_3tqCjDwJAQ7JKqMb.json @@ -102,7 +102,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -558,4 +559,4 @@ ], "effects": [], "_key": "!actors!3tqCjDwJAQ7JKqMb" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json b/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json index 2a2b5c92..87f7f688 100644 --- a/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json +++ b/src/packs/adversaries/adversary_Minor_Fire_Elemental_DscWkNVoHak6P4hh.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -697,4 +698,4 @@ ], "effects": [], "_key": "!actors!DscWkNVoHak6P4hh" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json b/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json index 81d7e0e6..70568858 100644 --- a/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json +++ b/src/packs/adversaries/adversary_Minor_Treant_G62k4oSkhkoXEs2D.json @@ -95,7 +95,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -314,4 +315,4 @@ ], "effects": [], "_key": "!actors!G62k4oSkhkoXEs2D" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json b/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json index d0d0dda6..acbbf2cc 100644 --- a/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json +++ b/src/packs/adversaries/adversary_Minotaur_Wrecker_rM9qCIYeWg9I0B4l.json @@ -103,7 +103,8 @@ } ] }, - "img": "icons/weapons/axes/axe-double.webp" + "img": "icons/weapons/axes/axe-double.webp", + "type": "attack" } }, "flags": {}, @@ -561,4 +562,4 @@ ], "effects": [], "_key": "!actors!rM9qCIYeWg9I0B4l" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json b/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json index 9e689a3e..77313b30 100644 --- a/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json +++ b/src/packs/adversaries/adversary_Monarch_yx0vK2yfNVZKWUUi.json @@ -113,7 +113,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -394,4 +395,4 @@ ], "effects": [], "_key": "!actors!yx0vK2yfNVZKWUUi" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json b/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json index 1e94b256..4c870b3e 100644 --- a/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json +++ b/src/packs/adversaries/adversary_Mortal_Hunter_mVV7a7KQAORoPMgZ.json @@ -109,7 +109,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -646,4 +647,4 @@ ], "effects": [], "_key": "!actors!mVV7a7KQAORoPMgZ" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json b/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json index 3bfaa715..f8792192 100644 --- a/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json +++ b/src/packs/adversaries/adversary_Oak_Treant_XK78QUfY8c8Go8Uv.json @@ -64,7 +64,45 @@ } }, "tier": 3, - "description": "

A sturdy animate old-growth tree.

" + "description": "

A sturdy animate old-growth tree.

", + "attack": { + "name": "Attack", + "roll": { + "type": "attack", + "bonus": 2 + }, + "range": "close", + "damage": { + "parts": [ + { + "value": { + "multiplier": "flat", + "flatMultiplier": 3, + "dice": "d8", + "bonus": 2, + "custom": { + "enabled": false + } + }, + "type": ["physical"], + "applyTo": "hitPoints", + "resultBased": false, + "valueAlt": { + "multiplier": "prof", + "flatMultiplier": 1, + "dice": "d6", + "bonus": null, + "custom": { + "enabled": false + } + }, + "base": false + } + ] + }, + "img": "icons/skills/melee/blood-slash-foam-red.webp", + "type": "attack" + } }, "flags": {}, "_stats": { diff --git a/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json b/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json index c4b13076..7ef34fea 100644 --- a/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json +++ b/src/packs/adversaries/adversary_Oracle_of_Doom_befIqd5IYKg6eUz2.json @@ -109,7 +109,8 @@ } ] }, - "img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp" + "img": "icons/magic/symbols/rune-sigil-rough-white-teal.webp", + "type": "attack" } }, "flags": {}, @@ -732,4 +733,4 @@ ], "effects": [], "_key": "!actors!befIqd5IYKg6eUz2" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json index 7f8a96f8..ac3c352c 100644 --- a/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json +++ b/src/packs/adversaries/adversary_Outer_Realms_Abomination_A0SeeDzwjvqOsyof.json @@ -103,7 +103,8 @@ } ] }, - "img": "icons/creatures/tentacles/tentacle-earth-green.webp" + "img": "icons/creatures/tentacles/tentacle-earth-green.webp", + "type": "attack" } }, "flags": {}, @@ -603,4 +604,4 @@ ], "effects": [], "_key": "!actors!A0SeeDzwjvqOsyof" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json b/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json index ba42b6d6..1933cb63 100644 --- a/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json +++ b/src/packs/adversaries/adversary_Outer_Realms_Corrupter_ms6nuOl3NFkhPj1k.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -415,4 +416,4 @@ ], "effects": [], "_key": "!actors!ms6nuOl3NFkhPj1k" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json b/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json index 377762d0..9c8c546f 100644 --- a/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json +++ b/src/packs/adversaries/adversary_Outer_Realms_Thrall_moJhHgKqTKPS2WYS.json @@ -95,7 +95,8 @@ "bonus": 3, "type": "attack" }, - "img": "icons/creatures/claws/claw-talons-yellow-red.webp" + "img": "icons/creatures/claws/claw-talons-yellow-red.webp", + "type": "attack" } }, "flags": {}, @@ -312,4 +313,4 @@ ], "effects": [], "_key": "!actors!moJhHgKqTKPS2WYS" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json b/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json index 4b8c4cdb..7a7414e2 100644 --- a/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json +++ b/src/packs/adversaries/adversary_Patchwork_Zombie_Hulk_EQTOAOUrkIvS2z88.json @@ -112,7 +112,8 @@ } ] }, - "img": "icons/commodities/biological/hand-clawed-blue.webp" + "img": "icons/commodities/biological/hand-clawed-blue.webp", + "type": "attack" } }, "flags": {}, @@ -542,4 +543,4 @@ ], "effects": [], "_key": "!actors!EQTOAOUrkIvS2z88" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json b/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json index 59db736c..7766be2a 100644 --- a/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json +++ b/src/packs/adversaries/adversary_Perfected_Zombie_CP6iRfHdyFWniTHY.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -565,4 +566,4 @@ ], "effects": [], "_key": "!actors!CP6iRfHdyFWniTHY" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json b/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json index d5af9c61..1ae9d31b 100644 --- a/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json +++ b/src/packs/adversaries/adversary_Petty_Noble_wycLpvebWdUqRhpP.json @@ -107,7 +107,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -415,4 +416,4 @@ ], "effects": [], "_key": "!actors!wycLpvebWdUqRhpP" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json b/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json index 004f8719..d6bcbfed 100644 --- a/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json +++ b/src/packs/adversaries/adversary_Pirate_Captain_OROJbjsqagVh7ECV.json @@ -111,7 +111,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -531,4 +532,4 @@ ], "effects": [], "_key": "!actors!OROJbjsqagVh7ECV" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json b/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json index b180927e..cd3d011c 100644 --- a/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json +++ b/src/packs/adversaries/adversary_Pirate_Raiders_5YgEajn0wa4i85kC.json @@ -107,7 +107,8 @@ "roll": { "bonus": 1, "type": "attack" - } + }, + "type": "attack" } }, "flags": {}, @@ -388,4 +389,4 @@ } ], "_key": "!actors!5YgEajn0wa4i85kC" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json b/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json index 6dfa21a1..d2293628 100644 --- a/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json +++ b/src/packs/adversaries/adversary_Red_Ooze_9rVlbJVrDNn1x7PS.json @@ -107,7 +107,8 @@ } ] }, - "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp" + "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp", + "type": "attack" } }, "flags": {}, @@ -537,4 +538,4 @@ ], "effects": [], "_key": "!actors!9rVlbJVrDNn1x7PS" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json b/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json index 35ac498e..5edc82f1 100644 --- a/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json +++ b/src/packs/adversaries/adversary_Rotted_Zombie_gP3fWTLzSFnpA8EJ.json @@ -87,7 +87,8 @@ } ] }, - "img": "icons/creatures/abilities/mouth-teeth-sharp.webp" + "img": "icons/creatures/abilities/mouth-teeth-sharp.webp", + "type": "attack" }, "resources": { "hitPoints": { @@ -314,4 +315,4 @@ ], "effects": [], "_key": "!actors!gP3fWTLzSFnpA8EJ" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json b/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json index e66a7ba0..1f9e2689 100644 --- a/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json +++ b/src/packs/adversaries/adversary_Royal_Advisor_EtLJiTsilPPZvLUX.json @@ -114,7 +114,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -448,4 +449,4 @@ ], "effects": [], "_key": "!actors!EtLJiTsilPPZvLUX" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json b/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json index fa8d7f07..5cc726e7 100644 --- a/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json +++ b/src/packs/adversaries/adversary_Secret_Keeper_sLAccjvCWfeedbpI.json @@ -114,7 +114,8 @@ } ] }, - "img": "icons/weapons/staves/staff-ornate-purple.webp" + "img": "icons/weapons/staves/staff-ornate-purple.webp", + "type": "attack" } }, "flags": {}, @@ -573,4 +574,4 @@ ], "effects": [], "_key": "!actors!sLAccjvCWfeedbpI" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json b/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json index 4a569ea1..bd7fe87a 100644 --- a/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json +++ b/src/packs/adversaries/adversary_Sellsword_bgreCaQ6ap2DVpCr.json @@ -95,7 +95,8 @@ "bonus": 3, "type": "attack" }, - "img": "icons/weapons/swords/sword-guard.webp" + "img": "icons/weapons/swords/sword-guard.webp", + "type": "attack" } }, "flags": {}, @@ -314,4 +315,4 @@ ], "effects": [], "_key": "!actors!bgreCaQ6ap2DVpCr" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Shambling_Zombie_2nXz4ilAY4xuhKLm.json b/src/packs/adversaries/adversary_Shambling_Zombie_2nXz4ilAY4xuhKLm.json index bbc59263..efd04dce 100644 --- a/src/packs/adversaries/adversary_Shambling_Zombie_2nXz4ilAY4xuhKLm.json +++ b/src/packs/adversaries/adversary_Shambling_Zombie_2nXz4ilAY4xuhKLm.json @@ -102,7 +102,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -343,4 +344,4 @@ ], "effects": [], "_key": "!actors!2nXz4ilAY4xuhKLm" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json b/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json index 7c81805d..bc97ce5a 100644 --- a/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json +++ b/src/packs/adversaries/adversary_Shark_YmVAkdNsyuXWTtYp.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -505,4 +506,4 @@ ], "effects": [], "_key": "!actors!YmVAkdNsyuXWTtYp" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json b/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json index 29faf229..4f855702 100644 --- a/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json +++ b/src/packs/adversaries/adversary_Siren_BK4jwyXSRx7IOQiO.json @@ -109,7 +109,8 @@ ] }, "img": "icons/creatures/abilities/mouth-teeth-sharp.webp", - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -476,4 +477,4 @@ ], "effects": [], "_key": "!actors!BK4jwyXSRx7IOQiO" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json index cdc360ff..fadf4d46 100644 --- a/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json +++ b/src/packs/adversaries/adversary_Skeleton_Archer_7X5q7a6ueeHs5oA9.json @@ -103,7 +103,8 @@ } ] }, - "img": "icons/weapons/bows/shortbow-leather.webp" + "img": "icons/weapons/bows/shortbow-leather.webp", + "type": "attack" } }, "flags": {}, @@ -365,4 +366,4 @@ ], "effects": [], "_key": "!actors!7X5q7a6ueeHs5oA9" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json b/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json index f9aa30a1..35be0c10 100644 --- a/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json +++ b/src/packs/adversaries/adversary_Skeleton_Dredge_6l1a3Fazq8BoKIcc.json @@ -87,7 +87,8 @@ "base": false } ] - } + }, + "type": "attack" }, "resources": { "hitPoints": { @@ -314,4 +315,4 @@ ], "effects": [], "_key": "!actors!6l1a3Fazq8BoKIcc" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json b/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json index f564be39..b9a259ea 100644 --- a/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json +++ b/src/packs/adversaries/adversary_Skeleton_Knight_Q9LaVTyXF9NF12C7.json @@ -102,7 +102,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -558,4 +559,4 @@ ], "effects": [], "_key": "!actors!Q9LaVTyXF9NF12C7" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json index 64fcf7e3..885cd007 100644 --- a/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json +++ b/src/packs/adversaries/adversary_Skeleton_Warrior_10YIQl0lvCJXZLfX.json @@ -102,7 +102,8 @@ } ] }, - "img": "icons/weapons/swords/sword-guard-brass-worn.webp" + "img": "icons/weapons/swords/sword-guard-brass-worn.webp", + "type": "attack" } }, "flags": {}, @@ -389,4 +390,4 @@ ], "effects": [], "_key": "!actors!10YIQl0lvCJXZLfX" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json index 99cefd01..906fb301 100644 --- a/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json +++ b/src/packs/adversaries/adversary_Spectral_Archer_5tCkhnBByUIN5UdG.json @@ -109,7 +109,8 @@ } ] }, - "range": "far" + "range": "far", + "type": "attack" } }, "flags": {}, @@ -452,4 +453,4 @@ ], "effects": [], "_key": "!actors!5tCkhnBByUIN5UdG" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json index 318c51a6..2672514d 100644 --- a/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json +++ b/src/packs/adversaries/adversary_Spectral_Captain_65cSO3EQEh6ZH6Xk.json @@ -109,7 +109,8 @@ "bonus": 3, "type": "attack" }, - "range": "far" + "range": "far", + "type": "attack" } }, "flags": {}, @@ -506,4 +507,4 @@ ], "effects": [], "_key": "!actors!65cSO3EQEh6ZH6Xk" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json index bcbde73d..8b3ff6a4 100644 --- a/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json +++ b/src/packs/adversaries/adversary_Spectral_Guardian_UFVGl1osOsJTneLf.json @@ -109,7 +109,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -485,4 +486,4 @@ ], "effects": [], "_key": "!actors!UFVGl1osOsJTneLf" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json b/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json index 8b3cde3d..be274c9f 100644 --- a/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json +++ b/src/packs/adversaries/adversary_Spellblade_ldbWEL7uZs84vyrR.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -477,4 +478,4 @@ ], "effects": [], "_key": "!actors!ldbWEL7uZs84vyrR" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json b/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json index 501cf4d8..127a992a 100644 --- a/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json +++ b/src/packs/adversaries/adversary_Spy_8zlynOhnVA59KpKT.json @@ -109,7 +109,8 @@ ] }, "img": "icons/weapons/daggers/dagger-curved-purple.webp", - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -423,4 +424,4 @@ ], "effects": [], "_key": "!actors!8zlynOhnVA59KpKT" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json b/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json index 03e9a9f4..40bceb11 100644 --- a/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json +++ b/src/packs/adversaries/adversary_Stag_Knight_KGVwnLq85ywP9xvB.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -496,4 +497,4 @@ ], "effects": [], "_key": "!actors!KGVwnLq85ywP9xvB" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json b/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json index ed541b43..742d2dcc 100644 --- a/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json +++ b/src/packs/adversaries/adversary_Stonewraith_3aAS2Qm3R6cgaYfE.json @@ -109,7 +109,8 @@ } ] }, - "range": "" + "range": "", + "type": "attack" } }, "flags": {}, @@ -575,4 +576,4 @@ ], "effects": [], "_key": "!actors!3aAS2Qm3R6cgaYfE" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json b/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json index 4f2d0b81..b1f577d2 100644 --- a/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json +++ b/src/packs/adversaries/adversary_Swarm_of_Rats_qNgs3AbLyJrY19nt.json @@ -102,7 +102,8 @@ "roll": { "bonus": -3, "type": "attack" - } + }, + "type": "attack" } }, "flags": {}, @@ -330,4 +331,4 @@ } ], "_key": "!actors!qNgs3AbLyJrY19nt" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json b/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json index 6c548162..baddaa4d 100644 --- a/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json +++ b/src/packs/adversaries/adversary_Sylvan_Soldier_VtFBt9XBE0WrGGxP.json @@ -107,7 +107,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -568,4 +569,4 @@ ], "effects": [], "_key": "!actors!VtFBt9XBE0WrGGxP" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Tiny_Green_Ooze_aLkLFuVoKz2NLoBK.json b/src/packs/adversaries/adversary_Tiny_Green_Ooze_aLkLFuVoKz2NLoBK.json index 861fc6bd..8b0e8254 100644 --- a/src/packs/adversaries/adversary_Tiny_Green_Ooze_aLkLFuVoKz2NLoBK.json +++ b/src/packs/adversaries/adversary_Tiny_Green_Ooze_aLkLFuVoKz2NLoBK.json @@ -86,7 +86,8 @@ } ] }, - "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp" + "img": "icons/creatures/slimes/slime-movement-dripping-pseudopods-green.webp", + "type": "attack" }, "damageThresholds": { "major": 4, @@ -305,4 +306,4 @@ ], "effects": [], "_key": "!actors!aLkLFuVoKz2NLoBK" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json b/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json index 83399fcd..dc4e18f3 100644 --- a/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json +++ b/src/packs/adversaries/adversary_Tiny_Red_Ooze_1fkLQXVtmILqfJ44.json @@ -86,7 +86,8 @@ "base": false } ] - } + }, + "type": "attack" }, "resources": { "hitPoints": { @@ -306,4 +307,4 @@ ], "effects": [], "_key": "!actors!1fkLQXVtmILqfJ44" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json b/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json index d90df755..d3f3fceb 100644 --- a/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json +++ b/src/packs/adversaries/adversary_Treant_Sapling_o63nS0k3wHu6EgKP.json @@ -95,7 +95,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -312,4 +313,4 @@ ], "effects": [], "_key": "!actors!o63nS0k3wHu6EgKP" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json b/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json index f6227213..2c300e8a 100644 --- a/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json +++ b/src/packs/adversaries/adversary_Vampire_WWyUp6Mxl1S3KYUG.json @@ -108,7 +108,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -447,4 +448,4 @@ ], "effects": [], "_key": "!actors!WWyUp6Mxl1S3KYUG" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json b/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json index 1a2cfa38..74485986 100644 --- a/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json +++ b/src/packs/adversaries/adversary_Vault_Guardian_Gaoler_JqYraOqNmmhHk4Yy.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -396,4 +397,4 @@ ], "effects": [], "_key": "!actors!JqYraOqNmmhHk4Yy" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json index 743ada61..dbe89528 100644 --- a/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json +++ b/src/packs/adversaries/adversary_Vault_Guardian_Sentinel_FVgYb28fhxlVcGwA.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -525,4 +526,4 @@ ], "effects": [], "_key": "!actors!FVgYb28fhxlVcGwA" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json index 63ad9d5c..2e582dfd 100644 --- a/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json +++ b/src/packs/adversaries/adversary_Vault_Guardian_Turret_c5hGdvY5UnSjlHws.json @@ -103,7 +103,8 @@ } ] }, - "img": "icons/commodities/tech/metal-joint.webp" + "img": "icons/commodities/tech/metal-joint.webp", + "type": "attack" } }, "flags": {}, @@ -553,4 +554,4 @@ ], "effects": [], "_key": "!actors!c5hGdvY5UnSjlHws" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json b/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json index 59891951..3f133440 100644 --- a/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json +++ b/src/packs/adversaries/adversary_War_Wizard_noDdT0tsN6FXSmC8.json @@ -114,7 +114,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -684,4 +685,4 @@ ], "effects": [], "_key": "!actors!noDdT0tsN6FXSmC8" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json b/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json index af441764..bab53785 100644 --- a/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json +++ b/src/packs/adversaries/adversary_Weaponmaster_ZNbQ2jg35LG4t9eH.json @@ -103,7 +103,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -555,4 +556,4 @@ ], "effects": [], "_key": "!actors!ZNbQ2jg35LG4t9eH" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json b/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json index c6ff7c34..b3f5b9c6 100644 --- a/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json +++ b/src/packs/adversaries/adversary_Young_Dryad_8yUj2Mzvnifhxegm.json @@ -107,7 +107,8 @@ "base": false } ] - } + }, + "type": "attack" } }, "flags": {}, @@ -467,4 +468,4 @@ ], "effects": [], "_key": "!actors!8yUj2Mzvnifhxegm" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json b/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json index 11289fba..93aa7fc9 100644 --- a/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json +++ b/src/packs/adversaries/adversary_Young_Ice_Dragon_UGPiPLJsPvMTSKEF.json @@ -108,7 +108,8 @@ } ] }, - "img": "icons/creatures/claws/claw-scaled-red.webp" + "img": "icons/creatures/claws/claw-scaled-red.webp", + "type": "attack" } }, "flags": {}, @@ -863,4 +864,4 @@ ], "effects": [], "_key": "!actors!UGPiPLJsPvMTSKEF" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json index 1d4fa474..10c3562a 100644 --- a/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json +++ b/src/packs/adversaries/adversary_Zombie_Legion_YhJrP7rTBiRdX5Fp.json @@ -103,7 +103,8 @@ "type": "attack" }, "range": "close", - "img": "icons/creatures/tentacles/tentacles-octopus-black-pink.webp" + "img": "icons/creatures/tentacles/tentacles-octopus-black-pink.webp", + "type": "attack" } }, "flags": {}, @@ -478,4 +479,4 @@ } ], "_key": "!actors!YhJrP7rTBiRdX5Fp" -} +} \ No newline at end of file diff --git a/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json b/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json index 972c4efa..0e469958 100644 --- a/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json +++ b/src/packs/adversaries/adversary_Zombie_Pack_Nf0v43rtflV56V2T.json @@ -102,7 +102,8 @@ "bonus": -1, "type": "attack" }, - "img": "icons/creatures/abilities/mouth-teeth-sharp.webp" + "img": "icons/creatures/abilities/mouth-teeth-sharp.webp", + "type": "attack" } }, "flags": {}, @@ -361,4 +362,4 @@ } ], "_key": "!actors!Nf0v43rtflV56V2T" -} +} \ No newline at end of file diff --git a/styles/less/sheets/actors/adversary/sidebar.less b/styles/less/sheets/actors/adversary/sidebar.less index 4955c175..5680e629 100644 --- a/styles/less/sheets/actors/adversary/sidebar.less +++ b/styles/less/sheets/actors/adversary/sidebar.less @@ -67,7 +67,6 @@ align-items: center; width: fit-content; height: 30px; - margin-top: 16px; h4 { font-size: 14px; @@ -108,6 +107,7 @@ .resources-section { display: flex; justify-content: space-evenly; + margin-bottom: 16px; .status-bar { display: flex; diff --git a/templates/sheets/actors/adversary/sidebar.hbs b/templates/sheets/actors/adversary/sidebar.hbs index 82aad232..6f8b6de0 100644 --- a/templates/sheets/actors/adversary/sidebar.hbs +++ b/templates/sheets/actors/adversary/sidebar.hbs @@ -35,15 +35,6 @@ -
-
-

{{localize "DAGGERHEART.GENERAL.DamageThresholds.minor"}}

-

{{document.system.damageThresholds.major}}

-

{{localize "DAGGERHEART.GENERAL.DamageThresholds.major"}}

-

{{document.system.damageThresholds.severe}}

-

{{localize "DAGGERHEART.GENERAL.DamageThresholds.severe"}}

-
-
@@ -70,6 +61,15 @@
+
+
+

{{localize "DAGGERHEART.GENERAL.DamageThresholds.minor"}}

+

{{document.system.damageThresholds.major}}

+

{{localize "DAGGERHEART.GENERAL.DamageThresholds.major"}}

+

{{document.system.damageThresholds.severe}}

+

{{localize "DAGGERHEART.GENERAL.DamageThresholds.severe"}}

+
+
@@ -84,7 +84,6 @@ type='action' hideTags=true hideDescription=true - hideTooltip=true hideResources=true noExtensible=true noCompendiumEdit=true diff --git a/templates/sheets/actors/character/sidebar.hbs b/templates/sheets/actors/character/sidebar.hbs index f780bd8c..f0afa7fa 100644 --- a/templates/sheets/actors/character/sidebar.hbs +++ b/templates/sheets/actors/character/sidebar.hbs @@ -116,7 +116,14 @@